无线传感器网络、嵌入式处理技术、无线网络技术和无线控制技术的发展,给智能家居领域的发展带来了实际可行的应用成果。同时,M2M技术的应用使智能家居系统的设计更加人性化。
目前,国内外很多公司的智能家居系统已经实现稳定可靠的室内电气设备的控制和各种计量设备(煤气、水和电)的无线抄表,但许多公司的智能家居系统还缺乏一种可以迅捷地进行室内电气设备工作状态检测和控制以及可供用户随时查询、记录抄表数据的手持智能显示终端。笔者设计的智能家居系统数字显示终端是一个基于ZigBee技术和USB OTG技术的用户和智能家居系统互动的媒介,可有效地帮助用户实现对智能家居系统的监测和抄表数据查询。
1、数字显示终端
数字显示终端是基于M2M技术的智能家居系统唯一最终面向用户的部分。采用ZigBee技术和USB OTG技术完成对无线设备的监控和抄表数据的查询、记录。
1.1、基于M2M技术的智能家居系统
基于M2M技术的智能家居系统主要通过Zig-Bee技术与相关的无线设备组建无线局域网,采集无线传感器的数据和输出控制信号,并由坞站将采集到得数据汇总封装后通过M2M网关和Internet传送到提供相关家居服务的公司的服务器上。它主要由5部分组成:低功耗数据采集系统、数据汇总传输系统(又称坞站),数字显示终端,M2M网关和服务器,并主要使用在居家能源管理和居家自动化两个方面。
1)居家能源管理。坞站将管理安装在家庭中的几个低功耗无线传感器(煤气、水和电)。所有坞站从无线传感器采集到的信息在对接模式时被传送给数字显示终端。数字显示终端将使用文字、图形、图标和图片把这些信息显示出来。
2)居家自动化。这种情况类似于居家能源管理,只是其使用的无线传感器可以管理输入输出信号以控制室内电气设备,如门窗、室内照明等设备。
本套智能家居系统主要将M2M技术融合在网关,而最终面向用户的只是数字显示终端。
1.2、数字显示终端的设计原理与方案
数字显示终端是智能家居系统与用户互动的关键部分,通过ZigBee技术与安装在室内的低功耗无线设备建立无线局域网,监控无线设备的工作状态,并通过USB OTG高速数据传输接口与坞站连接,将坞站采集到的抄表数据以图、表或文字的形式显示出来,同时将检测到的室内低功耗无线设备的工作状态发送到服务器,供用户远程登录服务器监测和控制低功耗无线设备。数字显示终端工作在两种模式下,一种是对接模式进行,即通过USBOTG高速数据传输接口和坞站连接进行数据交换;另一种是移动模式,即不与坞站连接的工作状态,这时它只能检测和控制相关低功耗无线设备。USB OTG接口不仅可以传输数据,当数字显示终端与坞站对接时,可以通过USB OTG接口给数字显示终端的蓄电池充电。
数字显示终端主要由无线模块、显示模块、数据存储模块、数据传输接口、电源部分和用户导航键6部分组成。
2、数字显示终端的实现
数字显示终端处理器选用LPC1758.LPC1758是一款基于ARM Cortex-M3内核的处理器,集成了USB2.0功能,包括USB主机、USB从机和USBOTG,拥有512KB的Flash和64KB的SRAM.无线模块选用的是ZICM2410P0-1模块。显示模块选用DMT32240T035_01WN模块。数据存储模块选用4GB的FLASH存储器,也可升级为16GB的存储空间。因处理器已集成OTG功能,所以由处理器和USB收发器芯片ISP1302共同组成数据传输结论。
导航键具有上下左右导航和选择键。电源部分选用可通过USB接口充电的蓄电池(5V~500mA),电池容量最小为600mA/h,全功能模式供电24h,休眠模式供电240h。数字显示终端的软件部分是由μCOS-II实现。
2.1、数字显示终端的硬件实现
数字显示终端由6部分组成,其中主要是无线模块和数据传输接口的实现。
1)无线模块的实现。无线模块是基于ZiGBee技术的。该技术是一种在900MHz及2.4GHz频段,近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术。它由ZICM2410P0-1芯片和外围电路组成(包括上电复位电路和工作指示电路)。
ZICM2410芯片包括多个通用I/O引脚、定时器、UART和SPI等,而且还有硬件语音编解码器,独有的IIS/SPI/UART音频输入输出接口,扩展出500KB/s或1MB/s的无线传输速率,通过PCB走线构成天线,103dB的射频链路预算,1.5V时RX灵敏度为-97dB/m,1.5V时射频TX功率为+6dB/m。在外围电路的设计中,通过ZICM2410的UART与LPC1758处理器连接,为了保证程序的稳定性和射频性能,采用了复位芯片CAT809E,无线模块采用F型天线拓扑结构,支持全向辐射模式。为了保证天线的性能发挥,数字显示终端的主板上要有足够多的接地面,并且不要在模块的天线下方布线,确保PCB走线和其他元件远离天线。
2)数据传输接口的实现。数据传输接口的电路主要是由处理器芯片LPC1758和USB收发器芯片ISP1302组成,接口插头选用Mini-A插头。处理器LPC1758集成了USB2.0功能,支持OT模式,数据传输接口电路。
LPC1758在设计USB OTG接口电路,需要外接1个USB收发器ISP1302,LPC1758和ISP1302通过I2C总线连接通信,LPC1758内部的收发器负责控制USB信号切换,而ISP1302负责实现OTG功能。此时,LPC1758内部的收发器在VP/VM模式下工作。
3)其他部分的硬件实现。数字显示终端其他部分还包括显示模块、数据存储模块、电源部分和用户导航键。DMT32240T035_01WN显示模块集成的功能非常齐全,它通过RS232直接和处理器LPC1758连接,但在电源的处理上要确保最终接到显示模块上的电压不低于5V。数据存储模块选用KFW4G16Q2M-DEB6 NAND FLASH。用户导航键采用普通薄膜式按键。电源部分选型比较重要,作为数字显示终端的能量来源,不仅要满足显示模块的电压5~6V,电流不低于13mA,而且能接受USB接口充电,电池容量不低于600mA/h。
2.2、数字显示终端的软件实现
数字显示终端的操作系统选用μCOS-II实时操作系统。它是一种简单高效、源代码公开的实时嵌入式操作系统,具有良好的扩展性和可移植性,被广泛应用到各种嵌入式处理器上。
1)OS_CPU.H文件包含μC/OSII所需要的常量、宏和自定义类型等。OS_CPU.H定义的数据类型。在这次移植中μC/OSII重新定义了数据类型。
不同处理器的堆栈增长方向是不一样的,LPC1758的堆栈是从高地址往低地址增长的,OS_STK_GROWTH设为1。
2)OS_CPU_C.C文件。在OS_CPU_C.C定义的C函数中,OSTaskStkInit()函数与处理器相关,所以移植代码需要修改该函数。
完成上述工作后,只要再根据目标板的实际情况编写Target目录中的3个文件,μC/OSII就可以运行在处理器上了。
3、重点解决数字显示模块的组网问题
1)角色介绍。ZigBee标准网络定义了3种角色,分别是协作员、路由和端节点。
协作员(coordinator)负责启动整个网络,它是网络的第一个设备,协作员选择一个信道和一个网络ID,随后就可以启动网络。
路由(router)的功能是允许其他设备加入网络,协助网络中其他终端设备通信。
端节点(end device)没有特定的维持网络结构的责任,它可以选择睡眠或唤醒两种工作状态,功耗小,可使用电池供电。
2)网络拓扑。ZigBee网络有星型网、簇型网和网状网3种组网方式。如果直接使用IEEE802.15.4底层的还有点对点模式和点对多点模式两种组网方式。
智能家居系统综合运用了星型网和点对多点模式的组网方式。由坞站作为路由,负责管理整个家居系统构建的ZigBee网络,其他低功耗无线传感器、无线控制设备和数字显示终端作为端节点。其中低功耗无线传感器、数字显示终端与坞站采用星型网组网方式,数字显示终端和无线控制设备采用点对多模式。
4、结束语
数字显示终端通过采用ZigBee技术和USBOTG技术,实现了室内低功耗无线设备的稳定监控和数据采集及存储,并以友好的用户界面和便携性能改进了智能家居系统和用户的交流方式,使用户能更加方便地监控到家用低功耗无线设备的工作状态和查询抄表数据。