gpt4 book ai didi

javascript - 使用网络蓝牙从 BLE 设备读取数据?

转载 作者:行者123 更新时间:2023-11-29 22:48:04 25 4
gpt4 key购买 nike

我是 javascript 的新手,所以我可能有一些非常规的编程方式。也就是说,我正在做一个项目,我需要在自定义 BLE 设备上读取和写入数据。我正在使用 gatt 服务器协议(protocol)进行连接。我能够与设备建立连接,但现在我正在尝试从寄存器中读取数据。

我查看了来自谷歌的网络样本以及网络蓝牙 github,但我无法理解它。下面的代码是我目前试图打破这个。之前的尝试让我陷入了这样一个事实,即我得到的值是一个对象或一个 promise 对象。

function readFromPcb() {
let p2 = new Promise((resolve, reject) => {
if (device.connected === false) {
reject('network Error');
}
})
.then(characteristic => {
readValue = characteristic.readValue();
console.log('data is: ' + readValue);
})
.catch(error => {
console.log('error: ' + error + DOMException.name);
});
}

最佳答案

我对 Web Bluetooth 知之甚少,但我注意到您的最高 promise 永远不会兑现。如果设备未连接,它要么拒绝,要么……什么都不做。如果您希望 then 回调运行,您需要在 main promise 的某个时刻调用 resolve()。也就是说,由于您明确构建了这个 promise ,因此它解析的值将只是您自己传递给 resolve() 的任何参数;这听起来不像你想要的。什么功能应该给你“特征”?这可能会返回一个 promise ,您不需要自己构建一个,您可以将其他 then 回调链接到它为您返回的 promise 上。

关于javascript - 使用网络蓝牙从 BLE 设备读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57975898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com