2

我的问题与软件无关,而与技术有关。我认为 BLE 是我系统的解决方案,但我不确定它是如何工作的,配对是如何工作的。

我正在设计一个有 4 个设备的系统,每个设备都有一些传感器。设备 A1 和 A2 具有相同的传感器,它们相互独立,读取不同的数据。如果其中一个读取了临界值,就会产生噪音。

设备 B1 和 B2 具有相同的传感器,它们很接近并且相互依赖。我的意思是,我需要知道 B1 的值是否高于 B2,反之亦然。具有较高值的​​设备会发出噪音。

----         ------------           ----
|A1| ------> |smartphone |  <-----  |B1| <--|
----          ------------          ----    |
                ^     ^                     |
----            |     |             ----    |
|A2|  ----------|     |-----------  |B2| <--|
----                                ----

这些设备都彼此靠近,并且将在一天结束时同步到智能手机以存储所有读取的数据。

如何在传感器和智能手机之间建立连接?我需要沟通B1和B2,才能知道谁的价值更高。然后我需要将它们全部传送到智能手机以收集数据。

每个设备一个芯片低功耗蓝牙就足够了吗?我可以使用相同的芯片在设备之间以及与智能手机(在不同的时刻)进行通信吗?

我不确定配对过程...是否每次都需要将设备与智能手机关联和解除关联?或者最好让 B1 作为主控,带 2 个 BLE 芯片,一个用于智能手机,一个用于 B2 通信?

4

1 回答 1

2

BLE 要求一个设备是服务器,另一个是客户端,以便建立连接。您不能让服务器与服务器对话,也不能让客户端与客户端对话。但是,设备可以同时实现服务器和客户端协议。

如果 B1 和 B2 相同,并且它们只实现服务器或客户端接口,则它们不能相互通信。如果您对 B1 和 B2 具有设计控制权,则可以将它们设计为实现服务器和客户端协议,然后自动相互通信以更新每个具有更高价值的协议。但是,我想知道为什么你需要让它们相互交谈——为什么智能手机不能同时获得 B1 和 B2 值,然后决定保留哪个值?然后它还可以向 B1 或 B2 发送命令以发出噪音。

单个 BLE 芯片可以管理许多连接,因为 BLE 连接是非常临时的(并且,如果内部软件支持它,它可能能够处理多个同时连接)。

如果我决定让 B1 和 B2 简单地将他们的测量数据包含在他们的广告包中,然后都听其他的广告包。在这种情况下,根本不需要建立任何协商连接——每个设备只是连续运行 BLE“附近设备”扫描。然后,当智能手机来临时,他们可以各自与手机建立协商连接并上传他们的数据。

于 2016-02-17T21:17:50.333 回答