Stap 3: Maak BLE Karakteristiek
Elke BLE perifere blootstelt diensten die kunnen worden verbruikt door host apparaten. Vindt u een uitgebreide lijst met standaardservices hier. Elke service heeft een aantal kenmerken die gebruikt voor de interactie met de service. Één dergelijke eigenschap om onze BLE licht via een aangepaste service te werken, zullen we creëren.
Gebruik de volgende code voor uw characteristic.js. Het kenmerk hieronder is gewoon vanille definitie uitvoeren van lezen, schrijven en kennis van bewerkingen op een variabele in het geheugen. We zullen het wijzigen van dit kenmerk in volgende stappen.
var util = require('util');var bleno = require('bleno'); var BlenoCharacteristic = bleno.Characteristic; // Initialize BLE Characteristicvar FirstCharacteristic = function() { FirstCharacteristic.super_.call(this, { uuid: 'fc0f', properties: ['read', 'write', 'notify'], value: null<br> }); this._value = new Buffer("OFF", "utf-8"); console.log("Characterisitic's value: "+this._value); this._updateValueCallback = null;<br>}; // Inherit the BlenoCharacteristicutil.inherits(FirstCharacteristic, BlenoCharacteristic); // BLE Read request FirstCharacteristic.prototype.onReadRequest = function(offset, callback) { console.log('FirstCharacteristic - onReadRequest: value = ' + this._value.toString("utf-8"), offset); callback(this.RESULT_SUCCESS, this._value);}; // BLE write requestFirstCharacteristic.prototype.onWriteRequest = function(data, offset, withoutResponse, callback) { this._value = data; console.log('FirstCharacteristic - onWriteRequest: value = ' + this._value.toString("utf-8")); if (this._updateValueCallback) { console.log('FirstCharacteristic - onWriteRequest: notifying'); this._updateValueCallback(this._value); } callback(this.RESULT_SUCCESS);}; // BLE subscribeFirstCharacteristic.prototype.onSubscribe = function(maxValueSize, updateValueCallback) { console.log('FirstCharacteristic - onSubscribe'); this._updateValueCallback = updateValueCallback;}; // BLE unsubscribeFirstCharacteristic.prototype.onUnsubscribe = function() { console.log('FirstCharacteristic - onUnsubscribe'); this._updateValueCallback = null;}; module.exports = FirstCharacteristic;