Android与ZigBee的远程控制无线网关设计
ZigBee技术是基于IEEE802.15.4标准协议的一种近距离无线通信技术,具有功耗低、成本低、容量大、安全性高、抗干扰性能强等特点,被广泛应用在工业监控、传感器网络、家庭控制、安全系统等领域。如何将ZigBee网络与以太网、WiFi网络连接,实现便携式设备(如手机、平板电脑等)对小型区域的实时监控?本文提出了一种基于Android系统的ZigBee无线网关设计方案。
1 系统概述
智能监控系统设计的目的是使用户可以通过手机或者PC机上网远程控制终端设备或对环境进行监测。其中网关是系统的核心,主要负责上行各无线终端结点信息的管理和处理,以及下行控制各无线终端结点运作,具有完成不同网络间协议转换的功能。本文网关的设计主要完成ZigBee协议与TCP/IP协议的转换功能,利用WiFi网络将手持设备连接到以太网,用于控制家电、灯光等,分别完成手机和以太网信息与ZigBee信息之间的相互通信。网关在智能监控系统中的位置如图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数据输出、数据存储等。
ZigBee模块的主芯片采用TI公司的第二代片上系统CC2530,相比以前的产品,CC2530具有更卓越的RF性能、可编程的256 KB闪存、更小的封装尺寸和IR产生电路。ZigBee模块负责与ZigBee网络其他无线节点进行网络通信,采用USART或SPI与主控制器通信,本文选择SPI方式。
以太网模块采用DAVICOM的DM9161芯片。DM9161是一款单芯片快速以太网PHY,DM9161通过可变电压的MII或RMII标准数字接口连接到MAC层,支持HPAuto—MDIX,是目前常见的一款物理层收发器。
WiFi模块由AP(Access Point)和无线网卡组成,其主要特性为:速度快,可靠性高,在开放区域覆盖范围广,方便与现有的有线以太网整合,组网的成本更低。
触摸屏LCD模块采用台湾群创公司的AT102TN03模组,显示尺寸为10.2寸,显示比例为16:9,分辨率为800×480,采用LED背光,工作电压为5 V。
电源模块由外接5 V电源进行供电,由NS公司的芯片LP38692转换为3.3 V、LP2983AIM5—1.0转换为1.0 V,再由Anisem公司的芯片AS1301EHT-ad转换为1.8 V。系统硬件结构如图3所示。
3 系统软件设计
无线网关软件设计主要从Android操作系统的移植、无线网关系统协议模型与网关应用程序3方面介绍。
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启动。
移植方面的工作主要有两部分:Linux驱动和Android系统硬件抽象层。
Linux中的驱动工作在内核空问,Android系统硬件抽象层工作在用户空间,有了这两个部分的结合,就可以让庞大的Android系统运行在特定的硬件平台上。在具有了特定的硬件系统之后,通常需要在Linux中实现其驱动程序,这些驱动程序通常是Linux的标准驱动程序。主要实现的是Android系统中的硬件抽象层(Hardware Abstract Layer),硬件抽象层对下调用Linux中的驱动程序,对上提供接口,以供Android系统的其他部分(通常为Android本地框架层)调用。移植的主要工作如图4所示。
3.2 无线网关系统协议模型
3.2.1 ZigBee协议栈
ZigBee协议栈采用TI司的ZStack,具体版本号为ZStaek-CC2530-2.5.0。它支持ZigBee 2007(包括ZigBee和ZigBee PRO)协议,在本网关软件设计中,采用了ZigBee PRO协议。ZigBee PRO在继承ZigBee技术全部优点的基础上,增强了无线网络的可扩展性、易用性和安全性。Z igBee协议栈架构如图5所示。
Android ZigBee 无线网关 SAM9M10 相关文章:
- Android开发技巧:软硬件的巧妙整合(01-16)
- 基于Android的VoIP系统的设计与实现(03-28)
- 基于Android系统的影音播放器开发(03-25)
- Android的阿喀琉斯之踵(07-08)
- Android开发之“hello World”的实现 (07-23)
- 基于Android平台的即时通信系统客户端设计(09-24)