概述
智能监控系统设计的目的是使用户可以通过手机或者PC机上网远程控制终端设备或对环境进行监测。其中网关是系统的核心,主要负责上行各无线终端结点信息的管理和处理,以及下行控制各无线终端结点运作,具有完成不同网络间协议转换的功能。
图1 网关在智能监控应用中的位置
网关设计采用模块化方案,由硬件层、系统层和应用层组成,如图2所示。硬件层描述了网关的硬件组成;系统层是以SAM9M10为核心处理器的网关所移植的Android操作系统;应用层包括网关应用程序、应用协议层和应用地址适配层。
图2 无线网关结构
系统硬件设计
系统硬件设计采用模块化设计思想,主要模块包括SAM9M10核心处理模块、ZigBee模块、以太网模块、LCD模块、WiFi模块、电源模块等。
SAM9M10核心处理模块包括一个基于ARM926的400 MHz微处理器,支持133 MHz的双数据率DRAM(DDR2),并且集成了高速(480 Mbps)USB主机和设备端口、片上收发器、以太网MAC、两个用于MMC 4.3和SDIO/SD Card 2.0的接口,以及CMOS摄像头、音频接口和支持电阻式触摸屏的LCD控制器。SAM9M10核心处理模块负责ZigBee数据收发、以太网数据收发、LCD数据输出、数据存储等。
图3 系统硬件设计图
系统软件设计
无线网关软件设计主要从Android操作系统的移植、无线网关系统协议模型与网关应用程序3方面介绍。
(1)Android在SAM9M10上的移植
Atmel以32位ARM926处理器为基础的SAM9M10ARM9器件为运行Android操作系统的SAM9M10-G45-EK板提供完整的板级支持包(BoardSupport Package,BSP)。Atmel公司的Android端口基于2.1版本,支持摄像头接口、硬件视频解码、软件解码、网页浏览,可以使用以太网电缆或H&.D Wireless提供的WiFi SDIO加密器。通过SAM9M10-G45-EK板的BSP,可以很方便地将Android移植到SAM9M10上,由Nand Flash启动。
图4 Android系统移植
(2)无线网关系统协议模型
ZigBee协议栈
ZigBee协议栈采用TI司的ZStack,具体版本号为ZStaek-CC2530-2.5.0。它支持ZigBee 2007(包括ZigBee和ZigBee PRO)协议,在本网关软件设计中,采用了ZigBee PRO协议。ZigBee PRO在继承ZigBee技术全部优点的基础上,增强了无线网络的可扩展性、易用性和安全性。Z igBee协议栈架构如图5所示。
图5 Zigbee协议栈
(3)网关应用程序
网关应用程序主要指的是在网关应用协议层的规范基础上,传递的信息数据以Android任务的形式组织运行,在以太网与ZigBee网络的数据通信中,信息是以数据包的形式发送和接收的,数据包发送流程如图8所示。
在无线WiFi网络中,通过以太网与无线AP相连接的PC机是服务器端,而无线网关作为Android客户端通过TCP/IP协议与PC服务器建立网络连接,通过Socket通信,可以在实现服务器和客户端网络连接的基础上,完成数据的转发、传输和接收。
因此,无线网关应用程序要实现下面的功能:
①建立客户端(无线网关)和服务器(PC机)的Socket,网络连接,为他们之间的数据交换提供必要条件。
②将无线ZigBee模块接收到的来自ZigBee网络的数据读进缓冲区,然后写入USB无线网卡,USB无线网卡会将数据打包成WiFi协议格式,送入无线WiFi网络。Android客户端应用程序实现流程如图6所示。
图6 Android客户端应用程序设计
灯光控制功能的实现
ZigBee将应用划分为不同的域,每个应用域都有自己的ProfiIe,ZigBee Profile为这个应用域提供标准的接口和设备定义,使得不同生产商生产的针对同一应用领域的ZigBee设备之间能互通。ZigBee在智能家居、家庭自动化中采用的Profile是ZigBee Home Automation Pub lic Appliation Profile。通过该Profile及ZCL(ZigBee Cluster Library)的引入,实现了对ZigBee灯光家电设备的控制。例如网关对灯光进行开关控制,只需调用zelGeneral-SenclOnOff_CmdToggle()函数。应用程序、Profile及ZCL与其他层的接口的层次框图如图7所示。
图7 应用程序、Profile及ZCL与其他层的接口的层次框图
结语
本方案基于Android系统和ZigBee技术的无线网关,该网关体积小,功耗低,使ZigBee网络和以太网以及WiFi网络融合为一体,在ZigBee近距离无线通信和以太网远程控制之间搭建了一座桥梁。实现了无线传感网与无线互联网之间的数字信息交互,可以广泛应用到物联网中。