【问题标题】:Reading sensor data sent by bluetooth into browser将蓝牙发送的传感器数据读入浏览器
【发布时间】:2018-02-12 19:14:45
【问题描述】:

我正在开发一个 React 应用程序,它将实时使用 3 个传感器数据值。

数据从nRF52840芯片通过蓝牙发送。

一开始我尝试了Noble 蓝牙库,它立即使用最少的代码:Noble bluetooth code

上面的代码运行结果如下:

但是,当我尝试将 Noble 集成到我的 React 应用程序中时,我在 Webpack 制作 dll 时遇到了依赖项错误,因此我没有找到集成它的方法。

我尝试了 Web 蓝牙 API,而不是使用此处的示例:Web Bluetooth heart rate sensor 我使用我拥有的 Polar H10 进行了试用,效果很好,然后我对其进行了修改以与我的传感器一起使用。

现在我可以将传感器值读入浏览器,但我知道它们是错误的值。它们总是在 50-60 左右,并且在我更换传感器时不会改变。

我想我需要一些解析代码,例如心率传感器代码。但是,该代码使用的是位级和操作、标志,并且它假设是小端数据。我不知道我的数据是否是小端或其他位级细节,所以我宁愿不写解析代码。

我知道例如 Noble 可以开箱即用地读取它,所以我想要类似的东西,这可能吗?是否有某种蓝牙标准来读取数据,或者这个硬件是特定的?我的硬件上没有文档,所以我无法阅读它。 这是我目前使用的代码,类似于心率传感器代码:Bluetooth sensor reading code

【问题讨论】:

    标签: reactjs bluetooth sensors web-bluetooth


    【解决方案1】:

    有标准的Bluetooth services & characteristics,但任何硬件都可以选择(或需要)使用自定义方法。那时没有标准,甚至没有小/大端或字节与字符串之类的编码样式。

    了解数据的选项是使用可以读取多种格式数据的工具,例如HCI loggingnRF Connect (desktop) 或 Chrome 的chrome://bluetooth-internals

    【讨论】:

    • 好的,感谢您的帮助。我设法发现它正在将 ASCII 代码作为逗号分隔的值字符串发送。这使得编写一些解析代码变得相当容易。我可能应该猜到这些值大部分是 48-57 左右的相似值(数字的 ASCII 表示)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    • 2014-09-15
    相关资源
    最近更新 更多