Étape 3: Créer caractéristique BLE
Chaque périphérique BLE expose les services pouvant être consommée par les périphériques hôtes. Vous trouverez une liste complète des services standard ici. Chaque service possède un éventail de caractéristiques qui permet d’interagir avec le service. Nous allons créer une telle caractéristique pour allumer notre BLE à travers un service personnalisé.
Utilisez le code suivant pour votre characteristic.js. La caractéristique ci-dessous est plaine définition vanille effectuant à lire, écrire et notifier les opérations sur une variable en mémoire. On va modifier cette caractéristique dans les prochaines étapes.
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;