1
rrfeng 2014-05-20 15:25:17 +08:00
太高端。
大家好好看最后一句哟,哈哈 |
2
jiang42 2014-05-20 16:02:51 +08:00
ZigBee 。。。难道是 EE 的妹纸?
用 OSPF 不行? computer network 里有一段是论述 无线网络的,具体你自己翻书呗? 以上皆为瞎扯,错了别打我。 |
5
mhycy 2014-05-20 16:31:02 +08:00
无责任猜测:
单个终端加入时主动发送心跳信号 周边设备捕获到这个信号以后加入到节点列表 接下来zigbee自己折腾各种信息。。。。 ##加入完成,进入下一步,路由## 假设有一个节点被人工设定为主节点 从这个节点发起信号 周边设备应答这个信号(无线实现上有个难点,同频干扰) ##第一个点对点路由完成 下一步 继续## 刚刚应答的子节点再次发起一次信号 重复,应答 因为区域问题,总有那么几个节点是无法应答的 记录之。。。同步这个数据 这两步得到的节点信息 获得多出来的那几个节点,让那几个节点重复上一步 获取无应答的节点,建立唯一路由 ##继续。。。。。## 可以按照IP路由的方式思考这个问题。。。 每个路由每个节点都动态指定一个IP之类的 ######################################## 随便乱说错了别打我 |
6
cherryodd OP @mccoymir 底层模块的功能以及其提供的具体组网方案都摸清楚了,但是我那个算法研究是基于具体应用的,应用背景我都抽象出来了的嘛,我自己觉得一开始要实现节点之间的相互识别,而且从始至终,还要考虑系统资源、系统性能。不知道你说的开发资料是哪方面的?
|
7
mccoymir 2014-05-20 17:09:36 +08:00
@cherryodd 好像都是比较基础的,那你应该都不需要了
听过zigbee讲解 不过没有深入研究过底层的协议 记得讲解时候说zigbee本身就是自发现/自组网 而且可以切换主节点和字节的的身份 自动选择最优路径发送消息 这都是他们自己研究实现的么...我以为是zigbee的协议特性 之前了解有AODVjr 和 cluster-tree 这两种路由算法的不少论文 不知道有没有过时 |
8
tuteng 2014-05-20 18:08:05 +08:00
@cherryodd 最近也做了一些zigbee的东西,但是远没有到研究算法的地步。下面为自己想的:如果楼主直接应用,能不能根据其信号质量,数据到达的时间来进行优化,每个zigbee设备,协调器,路由器,终端设备都有自己唯一的id,自己维护一份信号质量或者时间延时的信息,并定期更新,然后终端设备和路由器通过比较信息,选择加入哪个网络,z_stack协议栈应该可以直接测出信号质量的(但是不知道用的什么算法,也不知道可不可靠),,,,,
|
9
9hills 2014-05-20 18:16:20 +08:00
看有没有条件设立稳定的中转节点(7x24h)
自组网很麻烦,一般不要用。 |
11
nuist 2014-05-21 19:31:11 +08:00
想到之前做TinyOS组网的艰难日子
|
12
mhycy 2014-05-22 09:40:31 +08:00
|
13
vboo27 2014-05-22 10:05:49 +08:00
问个题外话,用的是哪家的解决方案?TI?
|
14
vboo27 2014-05-22 10:34:18 +08:00
1. 如果是通过坐标找路径,那么猜测,至少路由节电和中心节电是固定的,所以他们的坐标是我们事先知道的。我觉得没必要让路由节点相互识别,最多只是需要节点的状态是活动的还是死亡的。
2. 我觉得通过信号强度来找路径更合理吧,这样就不需要坐标。 2.1 最短路径,默认认为信号越强的距离越短,虽然有误差,但是我反而觉得找信号最强的路径比找最短路径更有意义,因为比如两个路由节点的距离很近,但是之前隔了一个信号屏蔽效果很强的物体,在它们之前传输是不合理的。 2.2 最小跳数,找一个可以正常发送的信号强度区间的,两两信号强度只要在这个区间就可以跳,然后找最小跳数。 2.3 原理同2.2 ,需要记录每个路由节点被占用的情况。 同样的,说错了别打我………… |
15
cherryodd OP @vboo27
用的是上海顺舟的模块,他的模块的解决方案用的是TI的。 对于你说的第一点,节点的(x,y)事先是不知道的,如果知道的话会简单很多,但是坐标是固定的,一旦确定了就不会变,会变的是 活动或死亡 状态。 对于第二点,必然要考虑信号强度,而且这个值我打算用两个节点间的距离来量化,因为底层模块里标定信号强度的参数我获取不了;打个比方,两个顺舟模块间的传输距离是D(1km),我定义两个节点最佳通信距离为d(800m),超过这个具体就视作这两个节点不能通信,就算他们能收到对方的信号,但是信号较弱,那我在一开始决定要不要 把一个节点加到另一个节点的可通信节点列表 的依据就是 两个节点的距离s(通过坐标来算)有没有大于d;你觉得这样做有没有必要? |
16
cherryodd OP @tuteng 嗯嗯~定期更新周边节点的身份信息是必要的~z_stack协议栈可以直接测出信号质量,但这个是底层模块封装好的,我自己觉得不需要考虑这点,在通信范围内,肯定就能握手噻~
|