im是ionic的新功能,现在我正尝试发送字符串形式的“代码”。 该字符串由十六进制中的一些数据包数据组成。 例如。 V1-FC03-2ED1-FE01
V1是序列,然后是第一个-是第一个数据包“ FC03” 该代码使用PC上的串行监视器成功发送到了我的arduino。 arduino serial monitor
现在我想使用离子通过低功耗蓝牙发送它。 我按照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);
希望有人可以帮助我解决这个问题
答案 0 :(得分:0)
不确定这是否对您有帮助,因为我不是行业程序员...但是我想发送“ 2”作为字符串,结果我必须这样做:
var data = new Uint8Array(1);
data[0] = 50;
其中50是等于2的Uint8Array
当前,我正在尝试从BLE反向读取,但无效,因此请及时通知我们您的进度。