我当前正在从事的项目涉及一个内置BLE和智能手机的体重秤。电子秤通过BLE连接到智能手机,将当前的重量数据发送到其应用程序(我认为这是优先事项)。尽管我无法弄清楚如何获取正确的UUID来与自己的Android App中的电子秤进行通讯似乎没有使用标准的GATT服务。设备似乎使用了0x2901、0x2902 ... 0x290X
比例尺:HNY200(黑色) 按比例链接:https://www.healthometernuyu.com/nuyu-products/scales/wireless-scale/HNY200KD.html
在手机上使用BLE扫描器后,我能够确定设备的BLE名称(非常类似于网络中的SSID)和MAC地址。但是,它还显示了一长串CUSTOM SERVICE和CUSTOM CHARACTERISTIC选项,每个选项都带有描述符及其属性(例如,读写)。我假设正在搜索的数据(权重值)将打包在具有包括READ在内的自定义特性中。在分析完每个个体之后,该值要么是每次都完全相同的十六进制数,要么根本没有任何值。相反,没有值的则具有“ OTA_STATUS”,“ OTA_CMD”或“ OTA_DATA”,但除此之外没有任何其他显示。
对设备进行BLE扫描以查看最有趣的特征(但不是全部):
我目前没有任何适用于android应用程序的代码,因为我正在跟着Android开发人员教程一起学习。但是,在先前的研究中,似乎我将需要正确的UUID,因为我可能需要对规模用来向其应用程序发送优先数据的协议进行反向工程。有些BLE扫描仪可以找到秤,有些则找不到。
我希望有一个特征可以显示在秤上显示的重量值,而我却得到了非常大的十六进制值,一点都没有,或者有些字符串值,例如“ OTA_DATA”。