Мое приложение в настоящее время подключено к устройству, с которого я пытаюсь написать.
Журнал: сообщение, которое мы пытаемся отправить, является "Hello"
⚡️ [log] - WE ARE CURRENTLY CONNECTED
To Native Cordova -> BLE writeWithoutResponse BLE46928892 ["options":
[027B18C5-15E6-86C1-ADDC-B2475099CDA0, 6E400001-B5A3-F393-E0A9-
E50E24DCCA9E, 6E400002-B5A3-F393-E0A9-E50E24DCCA9E, {
0 = 72;
1 = 69;
2 = 76;
3 = 76;
4 = 79;
}]]
2020-03-17 16:16:19.223013-0400 App[5985:1842762] writeWithoutResponse
2020-03-17 16:16:19.223160-0400 App[5985:1842762] getData
2020-03-17 16:16:19.223308-0400 App[5985:1842762] Looking for
6E400002-B5A3-F393-E0A9-E50E24DCCA9E with properties 4
Проблема I ' у меня есть функция записи в BLE.
(method) BLE.write(deviceId: string, serviceUUID: string, characteristicUUID: string, value:
ArrayBuffer): Promise<any>
.TS
import { BLE } from '@ionic-native/ble/ngx';
devices:any[] = [];
id;
constructor(
public plt: Platform,
private route: ActivatedRoute,
private ble: BLE,
private ngZone: NgZone,
private cd: ChangeDetectorRef,
) { }
connect(count:number){
this.ble.connect(this.devices[count].id).subscribe
(peripheralData => {
console.log(peripheralData);
},
peripheralData => {
console.log('disconnected');
});;
this.id = this.devices[count].id;
}
write(){
if (this.ble.isConnected){
console.log("WE ARE CURRENTLY CONNECTED");
var string = "HELLO"
var array = new Uint8Array(string.length);
for (var x = 0, l = string.length; x < l; x++)
{array[x] = string.charCodeAt(x);}
this.ble.writeWithoutResponse(this.id, "6E400001-B5A3-F393-E0A9-
E50E24DCCA9E",
"6E400002-B5A3-F393-E0A9-E50E24DCCA9E", array);
}
else{
console.log("WE ARE NOT CONNECTED");
}
}
РЕДАКТИРОВАТЬ: я превратил это в две функции, поэтому мне больше не нужно беспокоиться об ошибках обещания , Журнал показывает, что мы вызываем функцию, и мы подключены к устройству BLE. Тем не менее, сообщение на самом деле не отправляется.