Intel Edison: BLE kontrollerade ljus (3 / 5 steg)
Steg 3: Skapa BLE kännetecken
Varje BLE perifera förmedlar tjänster som kan konsumeras av mottagande enheter. Du hittar en omfattande lista över vanliga tjänster här. Varje tjänst har ett antal egenskaper som används för att arbeta med service. Vi kommer att skapa en sådan kännetecken för att driva vår BLE ljus genom en anpassad tjänst.
Använd följande kod för din characteristic.js. Kännetecken nedan är plain vanilla definition utför läsa, skriva och meddela operationer på en variabel i minnet. Vi kommer att ändra detta kännetecken i nästa steg.
var util = require('util');
var bleno = require('bleno');
var BlenoCharacteristic = bleno. Kännetecken;
Initiera BLE kännetecken
var FirstCharacteristic = function() {
FirstCharacteristic.super_.call (här {
UUID: "fc0f",
egenskaper: ['läsa', 'skriva', 'meddela'],
värde: null < br >});
Detta ._value = ny buffert ("OFF", "utf-8");
Console.log ("Characterisitics värde:" + denna ._value);
Detta ._updateValueCallback = null; < br >};
Ärv BlenoCharacteristic
util.Inherits (FirstCharacteristic, BlenoCharacteristic);
BLE Läs begäran
FirstCharacteristic.prototype.onReadRequest = funktion (offset, callback) {
Console.log ("FirstCharacteristic - onReadRequest: värde =" + this._value.toString("utf-8"), offset);
motringning (detta. RESULT_SUCCESS, denna ._value);
};
BLE write-förfrågan
FirstCharacteristic.prototype.onWriteRequest = funktion (data, offset, withoutResponse, callback) {
Detta ._value = data;
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);
};
BLE prenumerera
FirstCharacteristic.prototype.onSubscribe = funktion (maxValueSize, updateValueCallback) {
Console.log ("FirstCharacteristic - onSubscribe');
Detta ._updateValueCallback = updateValueCallback;
};
BLE unsubscribe
FirstCharacteristic.prototype.onUnsubscribe = function() {
Console.log ("FirstCharacteristic - onUnsubscribe');
Detta ._updateValueCallback = null;
};
module.exports = FirstCharacteristic;