【发布时间】:2018-11-18 21:26:03
【问题描述】:
我目前正在使用 Ionic 编写一个小应用程序,以使用我的应用程序控制 FLUX 蓝牙灯泡。我正在使用 ionic-native/ble,到目前为止,除了写一个值之外,一切都在工作。
扫描和连接都可以正常工作。但是,当尝试为灯泡写入关闭值时,没有任何反应。
我在 android 上使用了 snoop 功能,发现 CC2433 值是关闭灯泡的原因,我还使用 nRF Connect 应用程序对此进行了测试,当将该值写入灯泡时,灯会关闭。请在下面找到代码,让我知道我是否在做一些愚蠢的事情。谢谢!
this.ble.writeWithoutResponse(
"3C:A3:08:A8:1E:C3",
"ffe5",
"ffe9",
this.off())
.then(result => {
console.log(result);
}).catch(error => {
alert(JSON.stringify(error));
});
off() {
let string = "CC2433";
let array = new Uint8Array(string.length);
for (let i = 0, l = string.length; i < l; i ++) {
array[i] = string.charCodeAt(i);
}
console.log(array.buffer);
return array.buffer;
}
如您所见,我正在调用 ble 插件 write 而没有响应,因为不需要响应(我也尝试过仅使用 write 函数)。我传递了正确的设备 id、服务和特征,然后传递了 off 函数返回的数组缓冲区。在控制台内部没有写入错误,并给我一个 OK(200) 的结果。尽管该命令什么也没做,尽管就像我说的,如果我将相同的值传递给 nRF Connect 写入命令以获得相同的服务和特性,它会完美运行。
任何想法将不胜感激!谢谢!
【问题讨论】:
标签: android typescript ionic-framework bluetooth-lowenergy cordova-plugins