查看: 2418|回复: 19
打印 上一主题 下一主题

两个无线设备该如何主动握手连接,分辨主从机

[复制链接] qrcode

38

主题

41

帖子

126

积分

注册会员

Rank: 2

积分
126
楼主
跳转到指定楼层
发表于 2015-11-18 04:58 PM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



在进行无线通信时,比如2.4G(并非蓝牙和WIFI这样有协议栈的通信),因为没有协议栈的存在,要求用动态的方式使得两个设备进行配对。


我的想法是这样的:
开始:假设两个设备同时启动(实际是有时间差异),都向外部轮询的丢包和收包,包的内容包括:标识符、请求匹配命令、自身ID
这事就会碰撞了,那么,在等待接收包时进行一个范围内的随机数延时,这时应该是不会接收到包的,但是取随机数之后,因为延时的不同,导致了两个发包时间和收包时间存在差异和交错,就会使得存在一个设备刚刚发送完毕,另一个刚好在等待接收数据包。这样就能正常通信了。


但是,肯定会存在两个设备都能接收到对方的包,然后,识别后,可能都会发送确认包进行确认,包内容包括:标识符、确认握手命令、自身ID和对方ID
这种情况,当如果只有一方收到,那么另一方再发送握手成功的包,就标识握手成功了,那么“握手成功数据包”发送者理所应当的为主机了,而另一方为从机。
那么这样主机再发送一个开始通信的包进行通知从机,等待从机确认“已准备好”,这样就正式进入了数据的通信。

但是可能事情没有想象的这么好,因为都能正常的收到对方发的包,那么应该如何进行主机和从机的判断呢?或者说怎样让两者自行能够申请到作为主机端或者作为从机端,
能够顺利的握手匹配,不会造成两者因为争抢作为主机而造成死锁现象。



所要讨论的问题如上:目前我并未想好一个比较完善或者说比较好的解决方案!


在无线通信上面,俺是小白!还望大家积极讨论!看看能否有个比较好的解决方案!或者说,有什么很好的协议。

回复

使用道具 举报

1

主题

65

帖子

9

积分

新手上路

Rank: 1

积分
9
沙发
发表于 2015-11-18 05:05 PM | 只看该作者
占楼顶一发
回复 支持 反对

使用道具 举报

0

主题

113

帖子

46

积分

新手上路

Rank: 1

积分
46
板凳
发表于 2015-11-18 05:44 PM | 只看该作者
占楼              
回复 支持 反对

使用道具 举报

0

主题

91

帖子

4

积分

新手上路

Rank: 1

积分
4
地板
发表于 2015-11-18 06:05 PM | 只看该作者
蓝牙和WiFi就干你这事的啊,你想重新造轮子?
回复 支持 反对

使用道具 举报

0

主题

100

帖子

44

积分

新手上路

Rank: 1

积分
44
5#
发表于 2015-11-18 07:17 PM | 只看该作者
不是重新造轮子!是需求需要这样!不用蓝牙。不用WiFi也不用ZigBee,就用2.4G!但是没必要搞的像蓝牙和WiFi那样复杂。
回复 支持 反对

使用道具 举报

0

主题

91

帖子

4

积分

新手上路

Rank: 1

积分
4
6#
发表于 2015-11-18 08:25 PM | 只看该作者
我也在想,还没有想出来,这个拓扑结构有些麻烦,需要用到数学的矩阵去思考这个问题,我也不是很明白为啥这样想。
回复 支持 反对

使用道具 举报

0

主题

94

帖子

20

积分

新手上路

Rank: 1

积分
20
7#
发表于 2015-11-18 08:41 PM | 只看该作者

        这个是我找的,我也看不懂。你说的和智能家居网络,智能交通有些关系。我想到一个办法就是时间同步法,你事先知道一组数据需要多长时间传输与处理,一个数据传输周期大于2倍的处理发送接收周期,这样你可以在这个定义周期内单工通信,因为mcu的当前状态和实际环境有很大关系,你不能确保这两个设备室同时开启的,所以在开机的时候这两个设备需要时间校准同步。为了能够更好的时间同步,需要每隔一定时间内两个设备时间再次同步(可以使一个小时,也可以使一天,一个月),但时间同步法的前提是两个设备正常工作,且可进行通信协议。

          根据数据通信的API协议,你可以将标识符、请求匹配命令、自身ID  

 添入到你的发送和接受数据包内。

         我觉得根据硬件的电路,无线模块会有些中断信号。通过接收端查看中断信号,进入处理函数,也可以实现相互通信的功能。

       

        鉴于此,我还是推荐你看下无线组网相关的资料。

回复 支持 反对

使用道具 举报

0

主题

84

帖子

8

积分

新手上路

Rank: 1

积分
8
8#
发表于 2015-11-18 08:46 PM | 只看该作者

回复 支持 反对

使用道具 举报

0

主题

76

帖子

10

积分

新手上路

Rank: 1

积分
10
9#
发表于 2015-11-18 08:50 PM | 只看该作者


回复 支持 反对

使用道具 举报

9

主题

86

帖子

41

积分

新手上路

Rank: 1

积分
41
10#
发表于 2015-11-18 08:51 PM | 只看该作者
我也不知道怎么做,这是我看的一些资料。
回复 支持 反对

使用道具 举报

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

本版积分规则

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