蓝牙 BLE 实现

Bluetooth BLE Implementation

我正在尝试将蓝牙 (BLE) 网关实现到一个项目中,以通过应用程序在硬件和移动设备之间传输数据。硬件不是独一无二的,它可以用刷入相同程序的控制器进行量产。

如果制造了 100 个硬件产品,并排启动,设置 BLE 广播广告的信息的最佳方式是什么,以便它可以被移动设备接收,并且只1个硬件和移动设备可以随时连接。

例如,如果您并排放置了 3 块相同的健身追踪手表,而您只想连接其中的 1 块,那么在手机的蓝牙配对菜单中如何区分哪个是哪个。 是否每个制造的硬件都需要有一个显示在移动设备上的唯一 ID(例如 ABC11、ABC112、ABC113 等),以及如何将 100 个唯一的程序快速编程到硬件中。 另一方面,如果每个硬件都有相同的ID广播,那么用户只希望正确的硬件配对是最好的。

(顺便说一句,硬件是使用 BM70 BLE 模块的基于 arduino 的微控制器。用户不得修改它们)

感谢帮助。 谢谢。努尼亚

您不必为每个设备手动编程不同的 MAC 地址,BM70 模块是提供 BLE MAC 地址的模块,它们应该具有唯一的地址。有时制造商 recycle(重复使用)地址,但我认为用 100 个设备击中 MAC 两次的机会非常低。

如果您的设备完全相同并且使用相同的程序,那么它们都提供并宣传相同的 BLE 服务。服务和包含特性是将您的设备与其他 BLE 设备区分开来的特征。不使用经典蓝牙的真正 BLE 设备不会出现在您手机的蓝牙设置或配对菜单中。 BLE 需要一个专门的应用程序,您可以在其中扫描 BLE 设备,并理想地过滤您正在使用的特殊服务,以仅查找您自己的设备。

要区分彼此相邻放置的 100 个设备(如果这很重要,因为它们都是相同的),您需要读取 MAC 地址并将其打印在每个设备的标签上,或者使用一些状态 LED 显示您的 arduino 上的连接状态。如果您连接到一台设备,LED 可能会开始闪烁以显示您连接到哪个设备。