Intel Edison: BLE kontrollerade ljus (4 / 5 steg)
Steg 4: Ändra kännetecken för ljusreglering
Ändra characteristic.js att utföra GPIO operation med hjälp av mraa modul.
Karakteristiska initieringen måste definiera och initiera GPIO stiften. Jag har ett relä ansluten till min setup på Arduino digital stift 3.
Initiera BLE kännetecken
var FirstCharacteristic = function() {
FirstCharacteristic.super_.call (här {
UUID: "fc0f",
egenskaper: ['läsa', 'skriva', 'meddela'],
värde: null
});
Detta ._value = ny buffert ("0", "utf-8");
Console.log ("Characterisitics värde:" + denna ._value);
Detta ._light = ny mraa. Gpio(3);
This._light.dir (mraa. DIR_OUT);
This._light.write(0);
Detta ._updateValueCallback = null;
}
util.Inherits (FirstCharacteristic, BlenoCharacteristic);
BLE skriva begäran kommer läsa BLE data för en sträng. Om strängen motsvarar "1" Aktivera vi ljuset. Annars stänga vi av den. Snabb och smutsig.
BLE write-förfrågan
FirstCharacteristic.prototype.onWriteRequest = funktion (data, offset, withoutResponse, callback) {
Detta ._value = data;
om (data == "1") {
This._light.write(1);
}
annat {
This._light.write(0);
}
Console.log ("FirstCharacteristic - onWriteRequest: värde =" + this._value.toString("utf-8"));
om (här ._updateValueCallback) {
Console.log ("FirstCharacteristic - onWriteRequest: anmälande ');
This._updateValueCallback(this._value);
}
motringning (detta. RESULT_SUCCESS);
};
Glöm inte att kräva mraa modulen i JS om du missade läsa mellan raderna. ;)