Отправка команды String в BLE в Ionic - PullRequest
0 голосов
/ 27 августа 2018

я новичок в ионике, сейчас я пытаюсь отправить "код" в строке. Эта строка состоит из нескольких пакетов данных в HEX. например. V1-FC03-2ED1-FE01

V1 - последовательность, затем после первого - первый пакет "FC03" Код успешно отправить на мой Arduino с помощью последовательного монитора на ПК. серийный монитор Arduino

Теперь я хочу отправить его через BLE, используя ionic. Я следую примеру на GitHub для выполнения BLE. это работает, если отправить 1 или 0.

здесь есть функция в ионных кодах, которая будет отправляться в arduino после нажатия кнопки

onPowerSwitchChange(event) {
console.log('onPowerSwitchChange');
let value = this.power ? 1 : 0;
let buffer = new Uint8Array([value]).buffer;
console.log('Power Switch Property ' + this.power);
this.ble.write(this.peripheral.id, LIGHTBULB_SERVICE, SWITCH_CHARACTERISTIC, buffer).then(
  () => this.setStatus('Light is ' + (this.power ? 'on' : 'off')),
  e => this.showAlert('Unexpected Error', 'Error updating power switch')
);
}

здесь я пытался изменить

 let value = this.power ? 1 : 0;

до

 let value = "V1-FC03-2ED1-FE01";

но при компиляции получил ошибку

Argument of type 'string[]' is not assignable to parameter of type 'ArrayBuffer'. Property 'byteLength' is
        missing in type 'string[]'.
  L68:  let value = "V1-FC03-2ED1-FE01";
  L69:  let buffer = new Uint8Array([value]).buffer;
  L70:  console.log('Power Switch Property ' + this.power);

надеюсь, кто-то может помочь мне в этой проблеме

1 Ответ

0 голосов
/ 17 декабря 2018

Не уверен, поможет ли это вам, так как я не программист по профессии ... но я хотел послать "2" в виде строки, и оказалось, что я должен был сделать это так:

  var data = new Uint8Array(1);
  data[0] = 50;

, где 50 - эквивалент Uint8Array, равный 2

В настоящее время я пытаюсь читать с BLE в обратном направлении безрезультатно, поэтому, пожалуйста, держите нас в курсе о вашем прогрессе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...