APP下载

基于RT5350的家庭网关的设计与实现

2015-06-23王庆波叶锡恩王贤礼

无线电通信技术 2015年6期
关键词:开发板网关串口

王庆波,叶锡恩,王贤礼

(宁波大学 信息科技与工程学院,浙江 宁波 315211)

基于RT5350的家庭网关的设计与实现

王庆波,叶锡恩,王贤礼

(宁波大学 信息科技与工程学院,浙江 宁波 315211)

将Zigbee无线传感网络与嵌入式处理器、嵌入式操作系统相结合,构建一个家庭网关。以RT5350为主控芯片,使用多块CC2530开发板组建一个Zigbee网络,实现一个完整的家庭网关。在RT5350处理器中植入嵌入式Linux操作系统,移植Web服务器Boa和嵌入式数据库SQLite。Zigbee终端节点获取到传感器数据,通过Zigbee无线网络传输给Zigbee协调器,Zigbee协调器通过串口发送给处理器,采集的数据保存在SQLite嵌入式数据库中。局域网客户端可以通过连接WIFI监控实时数据,远程用户可以通过连接Internet查看实时数据,实现了Zigbee、以太网和WIFI的互通互联。

Zigbee;RT5350;CGI;网关;远程监控

0 引言

随着物联网技术的快速发展,智能家居的概念也开始深入人心,人们对智能化的家居环境充满了向往。智能家居使得现代生活变得更为便利,例如,下班之前用户可以查看家里的温度,判断是否需要提前打开空调,通过终端设备(PC机或智能手机等)可以对空调、电热水器等设备进行控制。家庭网关作为智能家居的重要部分。针对性能、价格和硬件接口等多方面考虑,给出了一种基于RT5350、Zigbee技术的家庭网关系统方案,实现Internet、 WIFI和Zigbee多种网络互联互通。

1 硬件设备简介

1.1 Zigbee模块

Zigbee无线网络是由IEEE802.15.4工作组和Zigbee联盟共同定制的无线通信协议,Zigbee是一种新型的无线通信技术,特点是低功耗、短距离、低速度、低延时、保密性好等,使得Zigbee技术在物联网智能家居行业获得广泛的使用[1]。Zigbee模块按照节点的类型进行分类,可以分为3类,即协调器(Coordinator)、终端(end-device)和路由器(router),每个Zigbee网络只允许有一个Zigbee的协调器,主要负责组建、维护Zigbee网络和控制节点等用途,终端节点主要负责数据的采集,路由器负责数据包的路由选择[2]。

系统硬件采用的是TI公司的完全支持Zigbee2007协议的单片机CC2530。CC2530是用于2.4 GHz或IEEE 802.15.4、Zigbee和RF4CE应用的一个SoC解决方案,该产品可以用很低的材料成本建立强大的网络节点。

1.2 RT5350模块

系统主控制器结构体如图1所示,主控制器使用的是Ralink(雷凌)公司的RT5350,其特点是低价位、低功耗、集成度高和多接口等。RT5350采用雷凌公司第二代802.11n技术,最大传输率150 Mbps。将RF模块和CPU集成在一块芯片上。CPU是一颗高性能的MIPS 24Kc处理器,主频最高可达360 MHz,兼容IEEE802.11n协议,支持嵌入式Linux系统。采用Ralink SDK 3.6作为RT5350开发平台的kernel、根文件系统的软件开发源,烧写到开发板,搭建好嵌入式Linux开发环境。

图1 RT5350开发板结构框图

2 系统整体结构设计

设计的整体系统框架图如图2所示。

图2 系统结构框架图

主要硬件设备主要包括了RT5350和Zigbee模块,通过家庭网关实现数据的上传和下发功能。通过一连串的数据传输,终端节点上的传感器数据最终到达客户端浏览器,实现了数据的上传,同时通过客户端浏览器的命令可以控制终端节点,从而实现数据的下发[3]。

2.1 传感器介绍

通过3种传感器采集室内环境相关数据,即通过温湿度传感器DTH11得到室内的温湿度信息,MQ2烟雾探测传感器采集室内烟雾浓度,HC-SR501人体红外传感器探测室内是否有人。分别编写传感器数据采集程序,将这些传感器与CC2530终端节点相连接,从而采集到家庭环境的相关参数[4]。

2.2 Zigbee终端节点与协调器通信

Zigbee协调器通过Zigbee网络协议与Zigbee路由器和Zigbee终端节点进行通信,这样就使传感器采集的数据上传到了协调器,协调器、终端、路由器是同样的CC2530开发板,通过编程确定其属性,Zigbee模块的软件开发平台是IAR,使用Zigbee 2007协议栈ZStack-CC2530为基础进行软件开发。通过Tools工程下的3个文件f8WCord.cfg、f8WEndev.cfg和f8Wrouter.cfg文件来确定CC2530设备具有的是路由器、终端还是协调器的功能[5]。分别编写协调器、路由器和终端的程序,然后分别下载到不同的开发板中,从而组建了一个小规模的Zigbee无线传感网络。

2.3 数据处理程序和SQLite数据库

Zigbee协调器通过串口与RT5350开发板连接。系统使用了USB转串口,对RT5350开发板内核进行配置,移植Boa服务器和SQLite数据库,同时在RT5350开发板中加入串口驱动,在开发板中运行数据处理程序。对协调器发送的数据进行处理,将处理后的数据存储在SQLite数据库中。

在数据处理程序中,初始化串口设备文件,填充termios结构体,设置波特率为115 200,数据格式为8位,无校验位,1位停止位[6]。

在数据处理程序中调用函数pthread_mutex_init(&mutex,NULL)初始化互斥量;然后调用pthread_ create创建两个线程,一个线程对串口文件进行写,另一个线程对串口文件进行读,在各自的线程中调用pthread_mutex_trylock(&mutex)对线程进行加锁。在读取串口文件线程中,将读取的数据存入SQLite数据库中。在写串口文件的线程中先从消息队列中获取数据,再写入串口设备文件中。

在PC机中的Linux系统使用mipsel-linux-gcc对数据处理程序进行编译链接,得到可执行文件之后,通过tftp传输到RT5350开发板,并在开发板中运行数据处理程序。最终传感器采集的数据保存在SQLite数据库中。

2.4 Boa服务器和CGI程序

一般而言嵌入式设备的资源相对有限,因此不会使用Linux下最常用的如Apache等服务器,一般使用一些专门为嵌入式设备设计的Web服务器,这些服务器占用较少的资源,对硬件要求较低。常见典型的嵌入式Web服务器有Boa和thttpd等,它们和Apache等高性能的Web服务器最大的区别就是它们是单进程服务器,只有在完成一个用户请求后才能响应另一个用户的请求,而无法并发响应,但这在嵌入式设备的应用场合里已经足够了[7]。

Boa服务器是一个小巧而高效的运行在Linux或Unix下的服务器,支持CGI(通用网关接口)[8]。在开发板中移植Boa服务器,结合CGI技术,编写HTML静态网页和CGI程序,通过CGI程序调用数据库中最新的数据[9],浏览器访问Web服务器,从而得到传感器的实时数据[10]。

图3为CGI程序与客户端和服务器之间的关系图。在CGI程序编写的时候使用了cgic206开发库,通过调用开发库中的API使得开发更为简单,在虚拟机中编译链接,将生成的cgi文件传输到开发板的cgi-bin目录下[11]。

图3 CGI程序与客户端和服务器之间的关系图

在控制页面中按下开关按钮的时候,通过cgic206 API函数cgiFormRadio获取按键信息,采用进程间通信技术消息队列,在cgi程序中创建消息队列,然后在数据处理中调用msgrcv函数获取按钮信息,再通过串口下发到Zigbee模块[12],从而实现对终端设备的控制。

3 实验测试结果

图4 系统硬件实物图

图4是整个系统的实物图,将传感器与终端节点相互连接,给终端节点和协调器通上电源,组建好了Zigbee无线网络,协调器通过USB转串口与RT5350开发板连接。在RT5350开发板上设置开机启动数据处理程序和Web服务器。

系统以3个终端节点和1个协调器为例进行测试,3个终端节点分别放在3个不同的房间里,RT5350开发板和协调器放在大厅,搭建好硬件设备。

系统设计了温湿度、烟雾和红外传感器3种数据采集页面:1个登陆页面和1个设备控制页面。

3.1 家庭内部用户

RT5350具有AP(无线访问接入点)功能,配置RT5350本地IP地址为192.168.1.103。PC机或者手机客户端通过连接WIFI接入RT5350的AP,客户端浏览器输入http://192.168.1.103,进入登录界面。输入账号和密码之后,选择进入的房间。便可以查看各个传感器采集的数据,页面有刷新按钮,用户可以通过刷新按钮,时刻获得最新的传感器数据。同时可以通过控制网页中开关按钮,控制Zigbee终端节点上的继电器,从而实现了对终端节点设备查看和控制。

3.2 远程客户端

采用了通过新花生壳内网版客户端软件实现外网用户访问内网服务器的方法,在花生壳官网申请一个域名,启动花生壳客户端,进行端口隐射,设置好IP地址和端口号,外网用户就可以访问内网的服务器了。用户在远程可以通过以太网、3G或ADSL等方式接入Internet,浏览器中输入http://2013tianyajuanke.oicp.net:40838,便同样可以进入登录界面了[13]。

经过实验结果分析,无论是家庭内部用户还是远程用户都可以完成数据的查看和家庭环境的控制。

4 结束语

设计的家庭网关,经过实验测试能很好地完成实验预期要求。通过使用新花生壳客户端软件实现了内网的穿透,使得外网用户可以访问内网服务器,从而实现了远程监控。内网用户可以通过连接RT5350 AP实现局域网的监控。实现了Zigbee、以太网和WIFI网络的互通互联,达到了预期的目标。选用的硬件平台Ralink RT5350芯片集成了AP和高性能的CPU,同时还有串口支持,功能强大,价格优势明显,在现代家居环境中有很好的应用价值。对于改变传感器类型或者是显现其他功能,系统只需要稍作修改即可,可扩展性较好。在后期的开发中将进一步完善其功能,比如开发嵌入式GUI,使得更为方便地查看监控信息,添加更多的CGI程序处理模块,使得网关平台可以控制更多的家居设备。

[1]王 祥.无线传感器网络MAC协议的实现与分析[J].无线电工程,2012,42(2):21-24.

[2]刘洪波.基于ARM和Zigbee的网关设计与实现[D].武汉:湖北大学,2013:27-28.

[3]汤莉莉,马仟,黄伟.语音无线遥控智能小车设计[J].无线电工程,2014,44(12):67-69.

[4]邹少军.基于ARM/ZigBee技术的智能家居网关的研究与实现[D].宜昌:三峡大学,2013:24-29.

[5]王小强,欧阳骏.Zigbee无线传感器网络设计与实现[M].北京:化学工业出版社,2012:48-58.

[6]王 涛.基于nRF24L01的2.4GHz无线通信系统设计[J].无线电通信技术,2011,37(3):6-7.

[7]施忠华.基于嵌入式Linux和Sqlite的Web服务器的研究与应用[D].南昌:南昌大学,2012:3-10.

[8]王灵芝,叶美霞,张建造.基于Zigbee和BOA服务器的嵌入式智能家居的设计[J].闽南师范大学学报,2014,3(85):72-73.

[9]田智春.基于嵌入式数据库SQLite3.0的远程监控系统[D].西安:西安建筑大学,2010:42-44.

[10]代 成,叶 焱,刘太君,等.基于Web的远程控制系统的研究与实现[J].无线电通信技术,2014,40(3):92-93.

[11]姜 龙.基于Zigbee的嵌入式家庭网关的设计与实现[D].武汉:华中师范大学,2013:41-42.

[12]基于ZigBee的智能家居网关系统的研究与是实现[D].长沙:湖南大学,2010:59-62.

[13]马 成.基于Linux的嵌入式智能家居服务器的研究与设计[D].南京:江苏科技大学,2013:52-54.

Design andImplementation of Home Gateway Based on RT5350

WANG Qing-bo,YE Xi-en,WANG Xian-li
(College ofInformation Science and Engineering,Ningbo University,Ningbo Zhejiang 315211,China)

A home gateway is formed by combining a Zigbee wireless sensor network with embedded processor and embedded operating system.By using RT5350 as the main MCU and using several CC2530 boards to form a Zigbee network,a complete home gateway is implemented.An embedded Linux operating system is implanted into the RT5350,the Web server Boa and embedded database SQLite are transplanted.The Zigbee end devices get the collected data from the sensors,then send it to the coordinator through the Zigbee wireless sensor network.The coordinator transmits the data to the processor via serial port,and the data is stored in the embedded database SQLite.The clients can monitor the real-time data by connecting to the WIFI,meanwhile the remote users can check the real-time data by connecting to the Internet,realizing the interconnection of Zigbee,Ethernet and WIFI.

Zigbee;RT5350;CGI;gateway;remote monitor

TP919.6+5

A

1003-3114(2015)06-61-4

10.3969/j.issn.1003-3114.2015.06.16

王庆波,叶锡恩,王贤礼.基于RT5350的家庭网关的设计与实现[J].无线电通信技术,2015,41(6):61-64.

2015-07-02

国家自然科学基金项目(61471211)

王庆波(1990—),男,硕士研究生,主要研究方向:嵌入式系统与应用、无线通信、计算机通信等。叶锡恩(1955―),男,教授,主要研究方向:数字集成电路设计、嵌入式系统设计、DSP等。

猜你喜欢

开发板网关串口
浅谈AB PLC串口跟RFID传感器的通讯应用
基于STM32H7的FDCAN通信系统设计与实现∗
信号系统网关设备的优化
浅析单片机开发板的设计与制作
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索
串口技术的实物调试和虚拟仿真联合教学模式
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
LTE Small Cell网关及虚拟网关技术研究
应对气候变化需要打通“网关”