首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用BLE芯片将其中的设备连接到智能手机

使用BLE芯片将其中的设备连接到智能手机
EN

Stack Overflow用户
提问于 2016-02-17 22:11:56
回答 1查看 288关注 0票数 2

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

我正在投射一个有4个设备的系统,每个设备都有一些传感器。设备A1和A2具有相同的传感器,它们彼此独立,读取不同的数据。如果其中一个读到临界值,就会发出噪声。

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

代码语言:javascript
运行
复制
----         ------------           ----
|A1| ------> |smartphone |  <-----  |B1| <--|
----          ------------          ----    |
                ^     ^                     |
----            |     |             ----    |
|A2|  ----------|     |-----------  |B2| <--|
----                                ----

这些设备彼此靠得很近,稍后会在一天结束时同步到智能手机上,以存储所有读取的数据。

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

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

我不确定配对的过程...我是否需要每次都将设备与智能手机关联和取消关联?或者最好是有两个芯片的B1作为主控,一个用于智能手机,一个用于通信,做B2吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-18 05:17:50

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

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

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

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35459039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档