刘晓霞, 周绍军
(四川水利职业技术学院信息工程系, 四川 崇州 611231)
基于先进处理器架构的智能家居多协议网关设计
刘晓霞, 周绍军
(四川水利职业技术学院信息工程系, 四川 崇州 611231)
针对智能家居系统中, 无线传感器网络数据传输不稳定性、数据传输协议单一、转换复杂低效等问题, 特设计基于ARM Cortex-A8的多协议家用智能型网关. 该网关能够将家居环境中的ZigBee协议的设备数据信息转换为以太网、蓝牙、GPRS等多种协议的数据, 从而实现家居环境的数据与户主进行互联互通. 实验测试表明, 设计的网关具有良好性能, 能够实现数据转发、协议转换、管理控制功能, 并且有效降低丢包率, 具有良好的实用和通用价值.
先进处理器架构; 嵌入式; 多协议; 网关
智能家居中广为使用的技术是无线传感网(Wireless Sensor Network, WSN)技术. WSN负责将散布家中的各个传感器组织成网络, 实现数据汇聚、传输, 并且传达、执行控制命令. 但是, 现实中普及应用的网络通信技术,如蓝牙、GPRS、以太网等与传感网络没有统一的通信标准, 难以直接通信. 因此, 在物联网系统中需要了一种衔接两种通信网络的设备, 即物联网网关. 物联网网关的作用很简单, 就是将一般通信网络数据和信息转换为WSN网络的数据和信息, 实现一般网络与WSN间的协议转换和数据转换. 因此, 本文针对智能家居系统中网络的特定应用场景, 设计一种多协议网关, 能够实现从传感协议到通信协议的转换, 完成Zigbee网络与以太网、蓝牙、GPRS这三种异构网络的结合, 从性能、成本、用户体验考虑软硬件设计, 满足用户需求[8-9].
智能家居是将各种物联网技术应用于家居环境, 其总体结构可沿用物联网的体系结构, 将其划分为三层,即: 家居环境现场感知层、数据信息传输层和户主需求的各种应用构成的应用层[1]. 感知层主要实现和完成家居环境中各种数据的采集与驱动, 并将采集到的数据按照一定的协议进行封装和保存, 同时接收上层传输来的控制命令而实现对家居现场的控制; 感知层主要由带有传感设备的不同节点组成, 在智能家居中这些终端节点可以是洗衣机、冰箱、电视剧、微波炉、窗帘等家居设备. 传输层的作业和任务十分清晰, 就是实现数据和信息的上传和下达, 即将按照一定协议封装的数据按照一定的传输协议进行传输; 起到承上启下, 是整个系统的数据和命令的汇聚、中转枢纽; 收集汇聚数据信息, 将其进行初步处理上传至应用层, 同时, 将应用层下达的控制命令, 准确无误传达至终端节点. 应用层专门为用户定制各种应用而设置的, 主要提供各种用户接口与交互、操作命令的发送与接收等; 应用层是物联网发展的目的, 从感知层采集, 经传输层传送的数据, 在此进入各类信息系统提供相关服务. 其总体结构如图1所示.
在智能家居系统中, 网关是最核心的信息汇聚和控制单元, 负责协议转换、数据转发、终端认证、管理控制.本文设计的智能家居网关结构如图2所示.
图1 总体架构图Fig. 1 Chart general
图2 网关整体结构图Fig. 2 The gateway structure diagram
智能家居网关的硬件是实现智能家居功能的物质基础, 各种数据交互与信息的转换, 都是以硬件作为核心基础的, 没有物理硬件的网关是不能实现预定功能的. 如图3所示, 为智能家居网关的硬件组成框图, 其主要模块包括MCU模块、各种通信模块、电源模块、存储器模块和外围接口等.
3.1 主控器模块
主控器是整个网关节点的核心, 负责接收处理Zigbee协调器上传的家居节点信息以及应用层下达的控制命令, 同时要实现通信协议之间的转换. MCU选择由韩国三星公司制造的S5PV210处理器,该处理器采用了ARM公司的Cortex-A8内核, ARM V7指令集, 其处理器的主频可达到1GHz, 且具有64/32位内部总线结构, 同时集成了很多用户接口, 为用户应用提供了许多方便. 因此, 经过多方面的比较和选型, 最后确定使用S5PV210处理器作为网关的核心处理器, 并在此基础上构建其硬件平台.
3.2 电源模块
任何计算系统, 无论是嵌入式计算系统还是桌面计算系统, 电源都是不可缺少的部分; 没有电源, 计算系统无法完成预定的功能; 有了电源, 电源要满足计算系统的要求, 并能够为计算系统提供需要的电压和电流, 才能使计算系统正常运行而实现预定功能.
网关的MCU需要的电压为DC3.3v, 且蓝牙通信模块、ZigBee协议处理模块等也是DC3.3v; 而GPRS模块的电压要求为DC3.3~4.8v; 基于这些要求, 在设计系统电源时, 采用外接双电源技术, 即市电AC220v进入电源部分, 经过变压和调理后, 变为DC5v的电源, 供网关使用, 同时这DC5v的电源为锂电池进行充电, 以防市电断电时使用锂电池为网关供电.
为了满足电路板总体供电, 本文设计的供电原理图如图4所示, 采用串联二极管1N5817, 将直流5V电压降至合适范围以供给GPRS模块.
图3 网关硬件设计图Fig. 3 Gateway hardware design diagram
图4 电源模块原理图Fig. 4 The power supply module principle diagram
3.3 其他模块
主要的模块电路原理设计完成后, 进行辅助的通信模块及其他外围接口的设计. 本网关设计的通信模块较多, 主要为支持多协议而设置. 其通信模块包括ZigBee协议及模块、以太网接口、GPRS和蓝牙等; 其外围接口包括USB接口、LCD接口和串口等. 在此主要进行各通信模块的设计.
ZigBee就其字面意义而言, 就是象蜜蜂一样的之字型短距离, 因此, ZigBee就表示短距离的无线通信技术. ZigBee模块选用TI公司的CC2530芯片, 配上合适的天线, 就可以收发ZigBee协议的数据和信息. 而且该芯片集成了2.4GHz、ZigBee协议的SoC[2].
以太网接口采用LM3S9B96芯片, 配上RJ45接口和相应的外围电路. 该芯片将802.3MAC引擎以及10BASE-TX和100BASE-TX模拟前端等集成在一起, 如图5所示. 主控MCU通过MAC层来访问以太网控制器, 通过内部的独立媒体接口MII提供外部接入, 从而, 增加RJ45接口即可实现网关与以太网的连接[3].
图5 以太网模块原理图Fig. 5 Schematic diagram of Ethernet
蓝牙模块主要任务是方便用户通过手机蓝牙与网关进行交互, 监测、控制家居实时状态. 本设计中采用集成蓝牙通信协议芯片HC-06. 其能够自动建立蓝牙连接, 提供发送TXD, 接收RXD两个接口供主控器控制, 使用方便、高效.
在设计好硬件电路和做好电路板后, 焊接好各种器件并测试硬件的完好性和准确性之后, 就需要将采用协同设计技术设计的软件在其硬件平台上运行, 并测试各项功能是否符合要求. 嵌入式系统的软硬件协同设计技术, 指的是在进行硬件设计的同时开始软件的设计. 在系统硬件选型基本确定后, 软件同时开始进行设计.
软件设计时, 首要的问题就是选择一个合适的RTOS操作系统应用于本网关. 经过比选, 选择开源的嵌入式Linux作为网关的RTOS操作系统, 因其具有很多优点和特点, 适合于嵌入式应用.
4.1 CC2430软件设计
在进行ZigBee方面的软件设计时, 首要的问题是ZigBee协议的问题, 只要处理好了ZigBee协议, 接下来的软件就简单了. 而CC2530带有ZigBee协议, 即Z-Stack 协议栈, 因此仅需要将其移植到本网关, 就可以进行专门的应用软件开发了.
Z-Stack由ZigBee协议栈、ZigBee应用、硬件支持包组成. CC2530在整个智能家居环境的网关中, 起到一个ZigBee型设备的数据信息的采集与驱动, 即与家居环境中的其他ZigBee设备进行通信, 因此, 网关的CC2530就相当于一个协调工作站[4-5].
CC2530工作流程如图6所示. Zigbee控制节点在收发数据之前, 首先要将Zigbee节点组织成网络, 建立各个节点之间的连接通道, 以便将各个节点的数据采集、汇聚[4]. 然后再检测网络中有无新的数据信息需要进行收发. 因此CC2530负责辨别、处理新的ZigBee设备加入网络, 同时还要处理新加入的设备的状态数据信息.
4.2 主控器软件设计
主控器的软件设计流程为: 首先初始化硬件、打开中断、进入监听, 然后等待数据的到来, 若收到数据, 首先判断数据来自上层应用层, 还是底层感知节点. 若是上层命令, 则将数据信息转发至下层Zigbee节点, 若是下层数据, 则将数据信息上传至上层应用程序. 网关是建立在传输层的协议转换器, 连接两个或者多个独立的网络, 每接收一种协议的网络数据包之后, 在转发之前将它转换成为另一种协议的格式[6].
图6 Zigbee控制器工作流程Fig. 6 Zigbee controller work flow
图7 MCU工作流程Fig.7 MCU workflow
测试主要检测了组网性能指标、实时控制性能指标、数据传输性能指标、丢包率. 首先组网测试, 每一个Zigbee节点的加入, 网络拓扑结构能够正确显示新加入网络, 并且按照寻找最近父节点算法加入网络且重构网络拓扑结构[7]. 测试各个终端节点不同时间、温度、光照的数据值, 且结果反馈正确.
智能家居中的网关是智能环境下的一种网络设备, 其作用前面已经进行了详细论述, 因此其测试主要就是测试其数据传输过程中的数据丢包率. 而可能造成传输数据时的数据丢包的原因为: ZigBee设备与网关间的数据传输丢包; 网关读取ZigBee设备数据时发生了丢包; 网关进行不同协议数据转换与传输时的数据信息丢包.
测试时, 在实验室条件下, 放置了10个ZigBee设备作为WSN的节点, 每个节点按照一定的周期进行数据发送, 而测试平台端每采集到2000数据包时, 就进行一次丢包的统计. 重复测试10次, 得到如图8所示的测试数据. 实际测试结果表明, 本设计中各项指标均符合要求, 并且十分健壮, 从而实现了网关的通用性.
图8 丢包数据统计分析Fig. 8 analysis of packet loss statistics
随着社会的不断进步和发展, 智能家居得到广泛发展和应用. 智能家居使得人们的生活变得更加环保和安全, 而且给人们提供了远程实时掌控自家状态, 使一切尽在掌握之中. 本文采用先进的Cortex A8内核的MCU芯片, 设计了智能家居环境中使用的多协议网关. 首先进行硬件设计, 然后进行软件设计, 最后进行了测试. 同时, 该网关节点的设计具有通用性, 不仅可以应用于智能家居系统, 而且可以应用与医疗自动化、仓储管理等领域.
[1] 张秀国. 基于物联网的智能家居控制系统的设计研究[J]. 数字技术与应用, 2012, 12: 105-106.
[2] 李文仲, 段朝玉. ZigBee2006 无线网络与无线定位实战[M]. 北京: 北京航空航天大学出版社, 2008.
[3] JIANG JUN HUI. Design of embedded system hardware based on ARM[J]. Microcomputer Information, 2005, 21(7-2): 120-122.
[4] 于洋, 张东伟, 崔建军. 基于ZigBee技术的井下人员定位系统的设计[J]. 煤矿机械, 2009, 30(1): 31-33.
[5] 任珍文, 黄玉清. 基于CC2530的无线传感器网络监控平台[J]. 电子技术应用, 2012, 38(10): 122-125.
[6] 彭建, 崔更申, 陈约林. Zigbee无线网络协议层在Linux系统中的构建[J]. 计算机工程, 2009, 25(5): 271-274.
[7] 满莎, 杨恢先. 基于ARM9的嵌入式无线智能家居网关设计[J]. 计算机应用, 2010, 30(9): 2541-2544.
[8] 谢盈, 阳广元. 计算机网络路由协议构件化设计方法研究[J]. 西南民族大学自然科学版, 2013, 39(5): 822-832.
[9] 向强, 蔡威, 姬高飞, 等. 基于FPGA的图像数据缓存控制器设计[J]. 西南民族大学自然科学版, 2013, 39(3): 461-464.
Design on multi-protocol gateway of intelligent household based on advanced processor architecture
LIU Xiao-xia, ZHOU Shao-jun
(Department of Information Engineering, Sichuan Water Conservancy Vocational College, Chongzhou, Sichuan 611231, P.R.C.)
In view of the smart home system, the instability of wireless sensor network data transmission, data transmission protocol is single, complex conversion inefficiencies, this paper designs a kind of multi-protocol gateway based on ARM architecture A8 kernel processor to connect Zigbee wireless sensor network and the traditional communication network, such as Ethernet, such as bluetooth, GPRS, which realizes the connectivity, data sharing. Laboratory tests show that the design of the gateway has good performance, to the experimental data forwarding, protocol conversion, management, control, and effectively reduce the packet loss rate. In addition, it has good practical and universal value.
advanced processor architecture; embedded; multi-protocol; gateway
TP273
A
1003-4271(2014)04-0559-05
10.3969/j.issn.1003-4271.2014.04.17
2014-06-12
刘晓霞(1976-), 女, 汉族, 河南人, 讲师, 硕士, 研究方向为计算机应用技术.