随着物联网的热潮的到来,2010年国内许多省市纷纷发布的《物联网发展规划》,物联网附属领域智能家居的发展也得到了非常大程度的推进。由于物联网的和基础仍然是互联网,所以在项目设计中我们将智能家居内部的
传感器网络连接至控制PIC32,PIC32通过控制网络模块,按照TCP/IP协议来实现PIC32的Web服务器功能,使得可以通过手机、电脑的浏览器来远程访问该web服务器,并以点击链接的形式,控制用电器。这种嵌入式Web服务器的低功耗和高可靠性,使其特别适合作为家庭小型Web服务器控制。
二、需求信息
拟采用的平台:
cerebot 32M×4
两个Digilent PMOD 产品:
PmodNIC——网络接口控制器
PmodSF-Serial Flash Rom,16或128Mbit
三、项目总概
此次项目,我们计划通过网络实现对家居环境的远程监控。
通过分布于房屋各处的传感器对房屋内外的环境参数进行采集,获得的数据通过ZigBee网络或有线连接汇总到此次项目的总控板Cerebot_32MX4上;
Cerebot_32MX4按照TCP/IP协议来实现与Web服务器的链接,通过Web达到远程终端设备(PC、手机等)同Cerebot_32MX4间的数据传输;
Cerebot_32MX4可以将采集到的数据传输给PC和手机,让人们在任何能够连接上网络的地方就能了解家中的情况,并对家中的设备进行远程遥控,比如:控制草坪、花园中的洒水系统给花草浇水。在到家前提前10分钟开启空调,让到家时能够马上享受到舒适的温度。同时,人们在家时也可以利用该方法控制身边的设备,使房屋实现智能化;
Cerebot_32MX4也可以自己对采集到的数据进行处理,实现家中设施的自动控制,同时可以通过PC、手机对自动控制的参数进行设置
系统整体框图如下:
四、硬件设计
(1)家庭内部信息的采集拟采用Zigbee节点组成传感器网络,其中一个Zigbee节点作为总的传感器采集点,与PIC32有线连接,其余Zigbee节点采用无线通信方式与总节点进行传感器信息的传递。
ZigBee技术是一种短距离、低功耗的无线通信技术,其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。
本项目中,无线通信技术的应用将很好的解决数据采集点分散、设备不集中的问题。
ZigBee在低耗能方面表现突出,明显由于蓝牙跟WIFI。有关材料表明,2节5号干
电池可支持1个节点工作6~24个月,甚至更长。因此,通过配置小型
太阳能电池板的方式即可对ZigBee节点进行充电,保证其正常的运行。
ZigBee具有大规模的组网能力,非常适合于大规模的数据采集,解决了智能家居系统中数据采集点多的问题。
(2)传感器网络连接至PIC32控制板,PIC32通过控制网络模块,按照TCP/IP协议来实现PIC32的Web服务器功能。
TCP/IP通信协议以其高效、可靠、通用性获得了世界范围的广泛使用。
本项目采用Cerebot 32M×4为控制,在其中通过软件方法实现TCP/IP协议的通信功能,通过进一步的扩展,在其上搭建起HTTP,FTP,TELNET等网络功能。
利用TCP/IP协议中的UDP、IP、ARP及简单的应用层协议实现
单片机的网络互连,提高数据传输的速度,保证数据传输的正确性,同时扩展数据传输的有效半径。
TCP/IP协议是一套把因特网上的各种系统互连起来的协议组,保证因特网上数据的准确快速传输。参考开放系统互连(OSI)模型,TCP/IP通常采用一种简化的四层模型,分别为:应用层、传输层、网络层、链路层。
①应用层
网络应用层要有一个定义清晰的会话过程,如通常所说的Http、Ftp、Telnet等。我们用单片机系统传递来自Ethernet和数据终端的数据,应用层只对大的数据报作打包拆报处理。
②传输层
传输层让网络程序通过明确定义的通道及某些特性获取数据,如定义网络连接的端口号等,实现该层协议的传输控制协议TCP和用户数据协议UDP。
③网络层
网络层让信息可以发送到相邻的TCP/IP网络上的任一主机上,IP协议就是该层中传送数据的机制。同时建立网络间的互连,应提供ARP地址解析协议,实现从IP地址到数据链路物理地址的映像。
④链路层
由控制同一物理网络上的不同机器间数据传送的底层协议组成,实现这一层协议的协议并属于TCP/IP协议组。这部分功能由单片机控制网卡芯片实现。
通过TCP/IP网络协议和Cerebot_32MX4实现家居控制系统的设计
控制PIC32根据web默认配置将采集的传感器信息分析并进行自动控制,用户又可通过手机、电脑的浏览器来远程访问该web服务器,并以点击链接的形式,控制用电器。
软件流程
PIC32主程序循环检测ENC28J60芯片获取的数据包,将广播报文和目标地址为本机地址的数据包接收进行下一步的处理。由于本项目实现的是TCP/IP通信,而建立起TCP连接主要的用途是实现HTTP通信。PIC32接收到的待处理数据会经过数据处理函数,若检测到有TCP连接建立的请求,则进行相应处理。当建立了TCP连接后,就可以通过TCP连接发送和接收HTTP通信数据。
TCP连接建立的“三次握手”流程和有限状态机如下:
PIC32在接收到正确的HTTP GET请求后,便进行相应处理,返回用户需要的网页,这样就实现了一个简单的web server应用。
本软件流程图仅以简单控制家电的通断电为例进行绘制,此处流程图仅是软件的设想方案,具体能否实现仍需实际测试。