根据系统功能应用,选用星型网络拓扑结构。此网络结构中有唯一的协调器,它是整个网络的核心,负责网络的建立和维护。协调器将终端节点上传的传感器数据通过串口发送给嵌入式web服务器,将嵌入式web服务器传过来的指令解析,并将控制命令下发给终端节点。
为了降低成本,结合红外技术来实现对家用电器的控制。这样,每个房间只需一个ZigBee终端节点,其I/O端口除了连接传感器外其余的还作为控制信号输出端口使用。空调遥控器按键是开关量,又多是两节干电池供电,因此ZigBee终端节点的I/O端口可以和空调遥控器上的几个按键直接相连,这样既能远程控制,又可以在本地通过遥控器控制空调的开关、温度的调节。而电热水器和加湿器没有配套的遥控,因此在ZigBee终端节点连接5 mm红外发射管,采用软件调制技术,激励红外二极管发射红外遥控信号来实现对电热水器和加湿器的远程控制,原理图如图3所示。
电热水器和加湿器的开关处要增加一红外接收电路。红外接收电路由低成本低功耗的PIC单片机PIC12F629、红外一体化接收头、继电器组成。
本文采用的是双向绑定的方法,因为绑定表只建立在发起绑定的一方,对于被绑定方是不知道绑定方的绑定地址的。故而采取双向绑定的方法,来实现协调器和终端节点的双向通信。
4 嵌入式web服务器
如图7所示,通过选择页面上空调的开启选项,浏览器将命令传给CGI程序,CGI程序调用应用程序,使ARM9经由串口发送2个字节控制命令给ZigBee网络协调器,1个字节装载的是房间编号信息,即ZigBee终端节点的网络地址,另一个字节装载的是控制命令数据。网络协调器将命令下发给客厅中的ZigBee终端节点,ZigBee终端节点将控制命令数据译成对P2.1口输出低电平,相当于空调遥控器开关按键按下,空调相应打开。再在页面上选择空调调节温度选项“降温”,然后点击“提交”按钮,经由相似过程,ZigBee终端节点控制P1.2输出低电平,相当于空调遥控器降温按键按下,客厅温度降低,在网页上点击3次按钮“提交”,客厅温度降至25℃。
通过实验,可以知道本系统能能实现以下功能:对家庭各个房间的温度和湿度实时显示,能远程调节温度和湿度,远程打开热水器开关对其加热,当房间有人活动时能在监控页面显示出来,厨房烟雾浓度是否超标也能在页面显示。
举报
更多回帖