我的问题与软件无关,而与技术无关。我认为BLE是我系统的解决方案,但我不确定它是如何工作的,配对是如何工作的。
我正在投影一个带有4个设备的系统,每个设备都有一些传感器。 设备A1和A2具有相同的传感器,它们彼此独立并读取不同的数据。如果其中一个读取了临界值,就会产生噪音。
设备B1和B2具有相同的传感器,它们很接近并且相互依赖。我的意思是,我需要知道B1的值是否高于B2或反之。具有较高值的设备会产生噪音。
---- ------------ ----
|A1| ------> |smartphone | <----- |B1| <--|
---- ------------ ---- |
^ ^ |
---- | | ---- |
|A2| ----------| |----------- |B2| <--|
---- ----
这些设备彼此非常接近,并且稍后会在一天结束时同步到智能手机以存储所有读取的数据。
如何在传感器和智能手机之间建立连接? 我需要进行沟通B1和B2,以了解谁具有更高的价值。 然后我需要将它们全部传送到智能手机以收集数据。
每个设备的单芯片蓝牙低功耗是否足够?我可以使用相同的芯片在设备之间以及智能手机(在不同时刻)进行通信吗?
我不确定配对过程...我是否需要每次都将设备关联并取消关联到智能手机?或者最好将B1作为主人,使用2个芯片BLE,一个用于智能手机,一个用于通信做B2?
答案 0 :(得分:2)
BLE要求一台设备是服务器,另一台设备是客户端,以便建立连接。您无法与服务器进行服务器通信,也无法与客户端进行客户端通信。但是,设备可以实现服务器和客户端协议。
如果B1和B2相同,并且它们只实现服务器或客户端接口,那么它们就无法相互通信。如果您对B1和B2进行了设计控制,则可以将它们设计为实现服务器和客户端协议,然后自动相互通信以更新每个具有更高值的人员。但是,我想知道为什么你需要让他们互相交谈 - 为什么智能手机不能同时获得B1和B2值,然后决定保留哪一个?然后它还可以向B1或B2发送命令以产生噪声。
单个BLE芯片可以管理多个连接,因为BLE连接非常临时(如果内部软件支持它,它可能能够处理多个同时连接)。
如果决定我将拥有哪个B1和B2只是将他们的测量数据包含在他们的广告包中,然后同时听取其他人的广告包。在这种情况下,根本不需要建立任何协商连接 - 每个设备只运行一个BLE&#34;附近的设备&#34;连续扫描。然后,当智能手机到来时,他们可以独立建立与手机的协商连接并上传他们的数据。