瘦网虫 发表于 2013-8-29 11:33:57

zigbee模块尝鲜汇报

本帖最后由 瘦网虫 于 2013-9-5 09:41 编辑

这次参加了乐联网组织的zigbee DIY智能家居活动,在一番折腾之后,对这次使用的串口zigbee模块做个简单的,单方面的总结。
此文为本人不成熟的经验总结,在给关注zigbee模块的玩家一些指引同时,还请高人多多指点。



一直耳闻zigbee的工作模式的独特,终于这次有了直接的接触机会,细细体会了一次zigbee模块。

Zigbee是基于IEEE802.15.4标准的低功耗个域网协议。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。

ZigBee网络主要特点是低功耗、低成本、低速率、支持大量节点、支持多种网络拓扑、低复杂度、快速、可靠、安全。ZigBee网络中设备的可分为协调器(Coordinator)、汇聚节点(Router)、传感器节点(EndDevice)等三种角色。

上面的引用文字来自于zigbee百度百科
http://baike.baidu.com/link?url=TswZGqLK2LlfsQ45monL1Wb4G4T6xlHSNqqigz75P82dGmYTasjrEos7FP9vzl3S


这是zigbee网络的3种典型组网模式,黑色是协调器Coordinator,黄色是路由器Router,绿色是EndDevice。
模块硬件都是一样的,通过刷入不同的软件,成为不同的角色。

第一种,star(星型结构),第二种mesh(网状),第三种cluster(簇状结构)。

由上图的结构,很清楚的看到,每个网络里必须要有一个协调器,路由器(也叫汇聚节点)和终端节点数量可以任意。
终端节点(绿色)必须要和某一个协调器或路由器相连才能加入网络;
路由器节点(黄色)可以通过某一个协调器或路由器相连加入网络;
协调器模块必须最先通电,然后后面的模块就都可以加入网络了。

如果某个终端节点距离网络太远而无法加入网络时,可以在它和物理网络边缘的中间加一个路由节点,从而不需要任何配置就可以加入网络。这才的是zigbee的优势所在。

这次的串口zigbee模块,其实没什么意外概念。通过向串口发数据,会自动向zigbee网络进行广播。
在网络中的其他zigbee模块都会收到广播的数据。
发送:
Serial.print("the broadcasting data");
接收(代码随便写的,未经编译器纠错,理解大概含义即可):

String cmd = "";
void loop()
{
if (Serial.available())
{
cmd +=char(Serial.read());
}
else if(!cmd.equals(""))
{
//Serial.println(cmd);
cmd = "";
}
}


通过这次测试使用,全家内的测量设备通过zigbee网络,均可以连接起来实现无线传输(具体上限能联多少设备没有条件测试)。但每次发送的字符数限制确实让人O很疼,这次的这个模块对于大于最大长度的数据传输,采用的方法是“放弃传输”而不是“截断传输”,这给调试带来很多不便,不知道其他类似模块怎么处理的。
我的感觉,家用zigbee来组网有些大材小用的感觉,或者说按照当前的价格来说,不划算。


这次的这个模块还没有实现点对点通讯,所以暂时没有测试这块,待后期功能全面实现后再对此文章进行补充。

由于zigbee一次传输有字符数限制,所以想使用zigbee模块传输大量数据的同学请留意下这个帖子:
http://blog.csdn.net/ken831001/article/details/7277402

学慧放弃 发表于 2013-8-29 12:06:35

不错,值得学习学习,一直想搞这个无线模块,

软件-蹄飞 发表于 2013-8-29 14:50:22

听过,挺厉害的

Randy 发表于 2013-8-31 00:26:52

非常的棒啊!

philhoo 发表于 2013-9-2 21:30:44

不错,程序都写出来了

问题不大 发表于 2013-9-4 17:40:00

非常的棒啊!虫哥

jifukui 发表于 2013-12-2 17:45:50

zigbee模块在哪买的啊??求推荐。。。
页: [1]
查看完整版本: zigbee模块尝鲜汇报