我正在构建一个 ReactNative 应用程序,它将通过 BLE 从另一台机器/设备接收数据。我正在使用这个包https://www.npmjs.com/package/react-native-ble-plx来实现 BLE 逻辑。现在,我在解码从监视器功能收到的特征值时遇到问题。
这是我的代码
char.monitor((err, cha) => {
if (err) {
console.log("Monitoring error");
console.log(err);
return
}
console.log("char data received")
console.log(base64.decode(cha.value))
console.log(cha.value)
})
收到数据后,如您所见,我正在对其进行 base64 解码以获取其原始值。但似乎数据未解码为正确的格式。
例如,
这是原始值
/hkABQAAMgAA//9kIwAAAACqAAEAAAAAigMAAA==
但它被解码为以下值。
þ↓♣2ÿÿd#ª☺Š♥
如您所见,它根本不可读。解码后的值甚至包含奇怪的字符。我正在使用这个 ReactNative base64 包,https: //www.npmjs.com/package/react-native-base64 。我的代码中缺少什么以及如何修复它?
这是服务 UUID,00001826-0000-1000-8000-00805F9B34FB,这是特征 UUID,00002AD1-0000-1000-8000-00805F9B34FB。
此外,此文档可能很有用,因为我正在尝试从 WaterRower 机器接收数据,https://github.com/WaterRower-UK/WaterRowerData-iOS/blob/master/Sources/WaterRowerData-BLE/FTMS_v1.0.pdf。