新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 基于PIC32上实现的TCP/IP网络协议和zigbee无线传感器网络的智能家居系统

基于PIC32上实现的TCP/IP网络协议和zigbee无线传感器网络的智能家居系统

作者:时间:2017-06-12来源:网络

本文引用地址:http://www.eepw.com.cn/article/201706/352657.htm

一 项目背景

随着物联网的热潮的到来,2010年国内许多省市纷纷发布的《物联网发展规划》,物联网附属领域的发展也得到了非常大程度的推进。由于物联网的核心和基础仍然是互联网,所以在项目设计中我们将内部的连接至控制核心通过控制网络模块,按照协议来实现的Web服务器功能,使得可以通过手机、电脑的浏览器来远程访问该web服务器,并以点击链接的形式,控制用电器。这种嵌入式Web服务器的低功耗和高可靠性,使其特别适合作为家庭小型Web服务器控制。

二、需求信息

拟采用的平台:

cerebot 32M×4

两个Digilent PMOD 产品:

PmodNIC——网络接口控制器

PmodSF-Serial Flash Rom,16或128Mbit

三、项目总概

此次项目,我们计划通过网络实现对家居环境的远程监控。

  1. 通过分布于房屋各处的传感器对房屋内外的环境参数进行采集,获得的数据通过网络或有线连接汇总到此次项目的总控板Cerebot_32MX4上;
  2. Cerebot_32MX4按照协议来实现与Web服务器的链接,通过Web达到远程终端设备(PC、手机等)同Cerebot_32MX4间的数据传输;
  3. Cerebot_32MX4可以将采集到的数据传输给PC和手机,让人们在任何能够连接上网络的地方就能了解家中的情况,并对家中的设备进行远程遥控,比如:控制草坪、花园中的洒水系统给花草浇水。在到家前提前10分钟开启空调,让到家时能够马上享受到舒适的温度。同时,人们在家时也可以利用该方法控制身边的设备,使房屋实现智能化;
  4. Cerebot_32MX4也可以自己对采集到的数据进行处理,实现家中设施的自动控制,同时可以通过PC、手机对自动控制的参数进行设置

系统整体框图如下:

四、硬件设计

(1)家庭内部信息的采集拟采用Zigbee节点组成,其中一个Zigbee节点作为总的传感器采集点,与PIC32有线连接,其余Zigbee节点采用无线通信方式与总节点进行传感器信息的传递。

技术是一种短距离、低功耗的无线通信技术,其特点是近距离、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。

本项目中,无线通信技术的应用将很好的解决数据采集点分散、设备不集中的问题。

在低耗能方面表现突出,明显由于蓝牙跟WIFI。有关材料表明,2节5号干电池可支持1个节点工作6~24个月,甚至更长。因此,通过配置小型太阳能电池板的方式即可对ZigBee节点进行充电,保证其正常的运行。

ZigBee具有大规模的组网能力,非常适合于大规模的数据采集,解决了系统中数据采集点多的问题。

(2)连接至PIC32控制板,PIC32通过控制网络模块,按照协议来实现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协议组。这部分功能由单片机控制网卡芯片实现。

  1. 控制核心PIC32根据web默认配置将采集的传感器信息分析并进行自动控制,用户又可通过手机、电脑的浏览器来远程访问该web服务器,并以点击链接的形式,控制用电器。

  • 软件流程

PIC32主程序循环检测ENC28J60芯片获取的数据包,将广播报文和目标地址为本机地址的数据包接收进行下一步的处理。由于本项目实现的是TCP/IP通信,而建立起TCP连接最主要的用途是实现HTTP通信。PIC32接收到的待处理数据会经过数据处理函数,若检测到有TCP连接建立的请求,则进行相应处理。当建立了TCP连接后,就可以通过TCP连接发送和接收HTTP通信数据。

TCP连接建立的“三次握手”流程和有限状态机如下:

PIC32在接收到正确的HTTP GET请求后,便进行相应处理,返回用户需要的网页,这样就实现了一个简单的web server应用。

本软件流程图仅以简单控制家电的通断电为例进行绘制,此处流程图仅是软件的设想方案,具体能否实现仍需实际测试。



评论

技术专区

关闭