您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>电子百科>无线通信>

系统软件设计 - 基于ZigBee的智能家居系统设计

2011年09月27日 11:38 本站整理 作者:秩名 用户评论(0

3 系统软件设计
    系统软件设计主要包括6部分,分别为远程控制网页设计、中央控制管理系统设计,控制中心主控制器ATMegal28程序设计、CC2430协调器程序设计、CC2430监控节点程序设计、CC2430选择添加设备的程序设计。

 3.1 ZigBee协调器的程序设计
    协调器首先完成应用层初始化,将应用层状态和接收状态设为空闲,然后打开全局中断并初始化I/O端口。接着协调器开始建立无线星形网络。协议中,协调器自动选择2.4 GHz的频段,每秒发送的最大比特数为62 500,默认的个域网网络号(PANID)是0x1347,最大的堆栈深度为5,最大单次发送的字节数为93,串口的波特率是57 600 bit/s,SL0W TIMER每秒产生中断10次。在ZigBee网络建立成功后,协调器将其地址传送给控制中心MCU。这里,控制中心MCU将ZigBee协调器识别为监控节点的一员,它被识别的地址为0。程序进入主循环。首先判断是否有终端节点发送的新数据,如果有,则直接把这个数据传送至控制中心MCU;判断控制中心MCU是否有指令下传,如果有则将下传的指令发送到相应的ZigBee终端节点;判断安防是否打开,是否有盗贼入侵,如果有则把报警信息传送至控制中心MCU;判断灯光是否处于自动控制状态,如果是,则打开模数转换器进行采样,采样值是灯光打开或关闭的关键,如果发生灯光状态改变则把新的状态信息传送到控制中心MC-U。ZigBee协调器程序流程如图5所示。

 


3.2 ZigBee终端节点的程序设计
    ZigBee终端节点是指由ZigBee协调器控制的无线ZigBee节点,在系统中主要是监控节点和选择添加的家用电器控制器。ZigBee终端节点的初始化同样包括应用层初始化,打开中断和初始化I/O口。接着尝试加入ZigBee网络,需要强调的是:只有和ZigBee协调器设置一致的终端节点才能加入到网络中。如果ZigBee终端节点尝试加入网络失败,则每两秒重新尝试一次,直至顺利加入到网络中。加入网络成功后,Zi-gBee终端节点将其注册信息发送至ZigBee协调器,再由ZigBee协调器转发至控制中心MCU以完成ZigBee终端节点的注册。ZigBee终端节点如果是监控节点,则实现灯光及安防的控制,程序与ZigBee协调器部分类似,只是监控节点需将数据发送到ZigBee协调器,再由ZigBee协调器将数据传送至控制中心MCU。ZigBee终端节点如果是电风扇控制器,则只需接收上位机的数据,而不必上传状态,故它的控制可以在无线数据接收中断中直接完成。在无线数据接收中断中,所有终端节点都是将接收的控制指令翻译成对节点本身的控制参数,在节点主程序中不对接收的无线指令进行任何处理。

4 联机调试
    由中央控制管理系统下发的对固定设备的指令编码递增的指令,通过计算机串口发送至控制中心MCU,并通过两线接口发送至协调器,再由协调器发送至ZigBee终端节点,在终端节点接收完成时将数据再次通过串口发送至PC机,在这台PC机上完成ZigBee终端节点接收的数据与控制中心所发送的数据的比较。中央控制管理系统每一秒发送2条指令,经过5 h的测试,测试软件显示共接收数据包数量为36000包时停止测试。多协议数据传输测试软件测试结果如图6所示。正确数据包36 000,错误数据包数为0,正确率为100%。

 

 

5 结束语
    通过ZigBee技术实现智能家居内部组网,具有远程控制方便,添加新设备灵活和控制性能可靠等优点。通过RFTD技术实现用户身份识别,提高系统的安全性。通过GSM模块的接入,实现了远程控制和报警功能。
 

非常好我支持^.^

(27) 62.8%

不好我反对

(16) 37.2%

( 发表人:电子大兵 )

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!