публикация символов bleno BLE через OnSubscribe не работает с UInt16 / значениями выше 255

#bluetooth-lowenergy #buffer #bleno

#bluetooth-lowenergy #буфер #bleno

Вопрос:

Я использую bleno в качестве издателя BLE в RbPI. В приведенном ниже примере показано, как я публикую значение ‘number’ для подписанных слушателей. работает хорошо, если «число» является Int8. Когда он становится> 255 / Int16, он больше не работает. Кто-нибудь знаком с отправкой больших чисел в виде значений char в Bleno, или я должен разбить его на несколько меньших чисел в буферном массиве? Прошу прощения, если это вопрос новичка. Не очень хорошо знаком со всем этим.

 new bleno.Characteristic({
value : null,
uuid : '34c2',
properties : ['notify'],
onSubscribe : function(maxValueSize, updateValueCallback) {
    eventEmitter.on('totalSeconds', (number) => {
        updateValueCallback(new Buffer([number]));
      });
    }
})  
 

Комментарии:

1. Характеристики Bluetooth представляют собой массив Uint8 в формате little endian, поэтому вам нужно будет разделить Uint16

2. Отлично, спасибо за разъяснение. разделение работает нормально.