找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10334|回复: 17
打印 上一主题 下一主题
收起左侧

HC-05蓝牙模块的多机通信,怎么将一个主机与多个从机连接起来,然后收集数据 求思路

  [复制链接]
回帖奖励 40 黑币 回复本帖可获得 20 黑币奖励! 每人限 1 次(中奖概率 30%)
跳转到指定楼层
楼主
ID:492210 发表于 2019-6-1 21:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个蓝牙主机与多个蓝牙从机进行通信有哪个大佬可以指点迷津,怎么将一个主机与多个从机连接起来,然后收集数据,主机收到所有从机的数据并显示在串口上,并将从机的数据分开存储。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

来自 2#
ID:517466 发表于 2019-6-13 21:33 | 只看该作者
对于NRF24L01,除了传统的配对模式(自动应答模式),还有一种非自动应答模式,需要通过指令设置。设置完成后,NRF24L01之间的通讯,就类似于广播模式了,发出的信息中包含接收方的物理地址,这个地址可以自由设定。所有接收到信息的模块,在程序中会对地址进行验证,只有和自身地址一致了,才做应答。工作原理应该和网卡一样,网卡有IP地址。你们可以查找NRF24L01的非自动应答模式下的工作原理,并依此开发。我做过类似的程序,不过是汇编语言的,已经测试过是没有问题的。这种模式下,没有所谓的主机从机了。A发给B,B发给A都没有问题,只要地址匹配,就能通讯。另外,因为需要程序来处理,模块的物理地址,也可以被动态设置,就像对网卡的IP地址可以按照规则任意指定一样。
回复

使用道具 举报

板凳
ID:405033 发表于 2019-6-2 16:19 | 只看该作者
AT指令会配吧,不会网上找一下蓝牙AT指令,很全的,然后就是主从机模式配置的问题了,其他的都是一样的,密码,波特率,都一样的,然后一个主机,其余的都是从机,主要是AT+cmood这个AT指令,改成多对一配对就可以了

评分

参与人数 1黑币 +10 收起 理由
y0134 + 10 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

地板
ID:283954 发表于 2019-6-3 00:20 | 只看该作者
这东西我用过,蓝牙因为有配对需要,是不可能一个主机同时与几个从机相连的,更何况这款旧式蓝牙配对手续复杂,还是改用普通2.4G的通讯模块吧。

评分

参与人数 1黑币 +10 收起 理由
y0134 + 10 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:517466 发表于 2019-6-3 15:49 | 只看该作者
利用AT指令,设置多个从机和主机配对。然后利用主机查询方式,和从机通讯获取数据。

评分

参与人数 1黑币 +10 收起 理由
y0134 + 10 赞一个!

查看全部评分

回复

使用道具 举报

6#
ID:492210 发表于 2019-6-12 16:32 | 只看该作者
疯子本人 发表于 2019-6-2 16:19
AT指令会配吧,不会网上找一下蓝牙AT指令,很全的,然后就是主从机模式配置的问题了,其他的都是一样的,密 ...

我现在可以进行一对一的配对,并且进行数据传输,但是,不知道怎么进行多对一的配对和数据传输,我查了一下AT指令,没有cmood这个指令,只有cmode这个指令。
回复

使用道具 举报

7#
ID:492210 发表于 2019-6-12 16:34 | 只看该作者
dalaoshi 发表于 2019-6-3 00:20
这东西我用过,蓝牙因为有配对需要,是不可能一个主机同时与几个从机相连的,更何况这款旧式蓝牙配对手续复 ...

请问有nrf01无线模块的资料吗,有的话希望可以分享一下,谢谢
回复

使用道具 举报

8#
ID:492210 发表于 2019-6-12 16:35 | 只看该作者
suncat0504 发表于 2019-6-3 15:49
利用AT指令,设置多个从机和主机配对。然后利用主机查询方式,和从机通讯获取数据。

能说的详细一点吗,或者是有没有写好的程序借鉴一下呢?
回复

使用道具 举报

9#
ID:517466 发表于 2019-6-12 23:37 | 只看该作者
y0134 发表于 2019-6-12 16:35
能说的详细一点吗,或者是有没有写好的程序借鉴一下呢?

我的程序是使用汇编语言编制的,没有C语言的。你能用吗?
回复

使用道具 举报

10#
ID:338173 发表于 2019-6-13 14:53 | 只看该作者
你这个方案可行性不高。可以用wifi、NRF24L01或者zigbee。
回复

使用道具 举报

11#
ID:561708 发表于 2019-6-13 16:32 | 只看该作者
一般情况,蓝牙通信是指两个设备之间进行通信,就跟打电话一样,一人一个手机进行通信; 主机是指能够搜索别人并主动建立连接的一方,好比说,我是主动拨打了对方的电话; 从机则不能主动建立连接,只能等别人连接自己,一直处于监听(等别人打入电话); 一个模块的当前状态,只能处于其中的一种,要么处于主机,要么处于从机。 主从一体指能够在主机和从机模式间切换,一般用过按键进行切换,可以选择工作在主机模式下,也可以选择工作在从机模式下
回复

使用道具 举报

12#
ID:532564 发表于 2019-6-13 17:09 | 只看该作者
请问楼主解决了么 我这边也有同样的问题呢
回复

使用道具 举报

13#
ID:517466 发表于 2019-6-13 21:34 | 只看该作者
另外一点。很重要,非自动应答方式下,发送和接收子程序中,必须都取消自动应答的设置.
回复

使用道具 举报

14#
ID:405033 发表于 2019-7-25 20:39 | 只看该作者
重新回答一下,好像HC-06,05不能一对多哟,只能一对一。。。
回复

使用道具 举报

15#
ID:511461 发表于 2019-7-28 20:08 | 只看该作者
NRF24L01的代码,stm32的

24L01实验.zip

4 MB, 下载次数: 38

回复

使用道具 举报

16#
ID:591703 发表于 2019-7-29 17:45 | 只看该作者
主机:会自己搜索身边的蓝牙设备。从机:只能等待主机对自己进行搜索,即等待被发现。从机是不具备也不会对身边的蓝牙设备进行搜索的。 例如:A为主机,B、C均为从机。当A跟B通讯完成后,就将A跟B断开,通过拉高A的控制引脚,让A进入AT指令模式。这样就可以向A蓝牙发送“AT++DISC\r\n”断开连接指令。然后再发送“AT+LINK=<B的ID>\r\n”。最后拉低主蓝牙模块的控制引脚,让它进入正常的通讯模式。
回复

使用道具 举报

17#
ID:542954 发表于 2019-8-11 19:42 | 只看该作者
区分各个从机数据的话 你可以在发送的数据里添加一个标志位以供检验
回复

使用道具 举报

18#
ID:1111349 发表于 2024-2-22 10:19 | 只看该作者
请问这个问题最后解决了吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表