Paso 3: Crear BLE característica
Cada periférico BLE expone servicios que pueden ser consumidos por los dispositivos del anfitrión. Encontrará una lista completa de servicios estándar aquí. Cada servicio tiene una serie de características que utilizan para interactuar con el servicio. Crearemos un tal característica para que funcione nuestra luz BLE a través de un servicio personalizado.
Utilice el siguiente código para su characteristic.js. La característica más abajo es llano definición vainilla, llevar a cabo de leer, escribir y notificar operaciones en una variable en memoria. Va estar modificando esta característica en próximas etapas.
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;