蓝牙透传模块1对8,透传从机上传数据时如果区分比较好?
各位兄弟,小弟现在正在做主从一体的BLE蓝牙透传模块,主机模式下可实现1对8个连接,但在透传从机上发的数据时,不知道如何让用户区分是哪个从机发来的数据,目前想到两种方式:
1、通过三个IO区分,不同从机通过三位IO区分,如000是0号从机,001是1号从机……
2、每个通道发数据前发一个前导字符,如:S0:12345678,S1:123456789……
不知道大家还有什么好的建议,谢谢! 重点为:蓝牙是1对1传输的吧 liuzq1981 发表于 2015-7-14 14:55
重点为:蓝牙是1对1传输的吧
有个蓝八点吧 liuzq1981 发表于 2015-7-14 14:55
重点为:蓝牙是1对1传输的吧
蓝牙BLE主机性能足够,可以同时8个连接,8个从机可能同时发数据给主机啊。当然,不是完全同时,需要主机协调。在连接时传输数据。 都透传了还多对一,那用户是怎么把命令发给多个从设备的啊? 每个服务都会有个kandle,这个值是不一样的,你可以试下,我不确定,还有,可以通过MAC地址 第一个从机发送一半,第二个从机又发送了怎么办? chxaitz 发表于 2015-7-14 16:40
都透传了还多对一,那用户是怎么把命令发给多个从设备的啊?
在连接状态,通过拉IO进入到AT模式,发命令选择从设备再发命令。如果发给多个,就轮循了。 wxfje 发表于 2015-7-14 17:08
每个服务都会有个kandle,这个值是不一样的,你可以试下,我不确定,还有,可以通过MAC地址 ...
倒不是协议层的问题。连接收发都是可以的。只是在串口端,如果方便让用户知道是哪个从机发来的数据。 蓝蓝的恋 发表于 2015-7-14 17:31
第一个从机发送一半,第二个从机又发送了怎么办?
BLE都是在连接时才能发数据。在连接瞬间如果有数据就发,没有数据就不发。至于如何连接及协调,那是协议的事情,对用户编程而言,有处理函数回调出来。 rf_smart 发表于 2015-7-14 18:23
BLE都是在连接时才能发数据。在连接瞬间如果有数据就发,没有数据就不发。至于如何连接及协调,那是协议 ...
这样就需要无限断开重连了,果断不爽~ S0:12345678,S1:123456789 蓝蓝的恋 发表于 2015-7-15 09:29
这样就需要无限断开重连了,果断不爽~
不需要断开重连。BLE通信协议本身就是瞬间连接同步的。 rf_smart 发表于 2015-7-15 14:08
不需要断开重连。BLE通信协议本身就是瞬间连接同步的。
哦,见识了~{:2_25:} 连接时可随机生成从机的地址,这样每个从机都有自己的地址,发送时把自己的地址一起发送,就知道是哪个从机发的了 ldx24511 发表于 2015-7-16 10:07
连接时可随机生成从机的地址,这样每个从机都有自己的地址,发送时把自己的地址一起发送,就知道是哪个从机 ...
现在我觉得既然是透传,就不在主机这里区分了,直接把从机的数据从串口丢出去,让用户协议来区分吧。 带地址发送吧。用的什么蓝牙芯片,这么牛逼。 youthdou 发表于 2015-7-16 11:34
带地址发送吧。用的什么蓝牙芯片,这么牛逼。
QN902X,不区分了,让用户自己在透传数据里区分。 兄弟,你的那个1对多的蓝牙透传完工了没呀,有完工的话,请加下ljb409微信号,有项目可以讨论下
页:
[1]