APP下载

基于ZigBee的智能家居控制系统设计

2012-01-12马齐飞陈富军

天中学刊 2012年2期
关键词:家居智能家居无线

马齐飞,陈富军

(1.中国人民解放军91292部队 工程机械教研室,河北 高碑店 074000;

2.黄淮学院 电子科学与工程系,河南 驻马店 463000)

基于ZigBee的智能家居控制系统设计

马齐飞1,陈富军2

(1.中国人民解放军91292部队 工程机械教研室,河北 高碑店 074000;

2.黄淮学院 电子科学与工程系,河南 驻马店 463000)

以经济、实用、人性化为目标,利用最新ARM V7架构的STM32F107VX微处理器以及GPRS实现网络接入和远程控制,设计了一个低成本、低功耗的智能家居控制系统.该系统通过μCOS II进行调度,基于ZigBee进行系统内部网络无线连接,实现了家居安防、家电控制、照明控制、环境监测、燃气报警等智能化控制.

Bee技术;无线自组网;STM32F107VX微处理器;家居物联网

常见的智能家居控制系统多以有线方式组建,该方式存在布线复杂以及价格高等问题,使得智能家居系统在庞大的中低端用户群中应用较少.近距离无线通讯中的 WiFi技术以及蓝牙技术同样存在着实现复杂、成本高等不利因素.另外,当前的智能家居系统尚无相互连接的统一标准,致使系统的可扩展性和可维护性差.因此,本文基于ZigBee无线组网技术对智能家居控制系统进行设计研究,以期提高智能家居系统的经济性、实用性、可扩展性、可维护性和在低端用户群的普及性.

1 智能家居控制系统采用的ZigBee技术

基于 ZigBee技术实现智能家居无线自组网是数字化家庭和数字社区建设和应用的一个研究热点[1].随着技术的不断发展及人们对智能家居领域实践认识的深入,智能家居控制系统已从初始的以计算机为控制中心,逐渐转向以计算机为管理中心,以嵌入式家庭网关为控制核心;布线也由原来单一有线方式转向以无线和有线相结合的混合布线方式;家居智能控制系统正在朝着家居物联网化的方向发展.

Zigbee技术是一种低数据速率、低复杂度和低成本的近距离双向无线通讯技术,符合 IEEE802.15.4 MAC层规范,是为近距离无线通讯所制定的协议标准[2].Zigbee具有自组织网络、自适应路由、超低功耗、高接收灵敏度、支持多节点数、实时性强、安全性高、低成本等特点.基于ZigBee技术进行无线组网,将解决智能家居中各子节点模块间相互连接标准相统一的问题.它可以方便地实现各种智能家居产品的互联互通,从而解决数字化家庭建设中的“信息孤岛”问题,同时也会为实现数字化社区建设打下基础[3].

2 智能家居控制系统采用的微处理器

本智能家居控制系统采用STM32F107VX微处理器,它是意法半导体公司推出的 ARM V7架构、Contex-M3内核的STM32互连型系列微控制器中性能较强的一款芯片.该微处理器芯片是32位的内核,采用了哈佛结构,并拥有独立的指令总线和数据总线,取指和数据访问并行工作.STM32F107VX先进的中断处理技术、高性能、低功耗、高代码密度、小硅片面积、低成本以及支持实时操作系统μCOS II等特性,使其成为开发智能家居控制系统的首选.Contex-M3内核架构的微处理器内部基本结构如图 1所示.STM32F107VX微处理器具有内置的以太网MAC(介质访问控制)、专用的 DMA控制器,以及 ZigBee、WiFi、RJ45等网络通信接口,支持10M/100M自适应网络.其丰富、灵活的通信接口在集中式系统尤其是家居物联网中能获得灵活和成本经济的网络化连接,是很理想的通信中枢器件.

图1 Contex-M3内核架构的微处理器基本结构

3 智能家居控制系统的整体设计

智能家居控制系统应具有外部网络接入、内部网互连、信息存储、设备监控以及网络安全等功能,并使子网内部各终端节点之间可相互通信,以实现自动控制和远程控制.根据智能家居控制系统的功能要求,各功能模块和外部接口主要由微处理器、键盘控制及LCD显示、无线收发节点模块(协调器)、以太网接口模块、GPRS无线通讯模块、RS485接口和电源以及家庭网络内部各无线收发子节点等部分组成,具体如图2所示.

图2 智能家居控制系统组成

由图2可知,智能家居控制系统的底层子网包括家居安防节点、室内环境监测节点、烟雾信号采集节点、家电控制节点、灯光照明控制节点和其他应用子节点等.控制系统以STM32F107VX微处理器为核心通过键盘控制、LCD显示和外围GPRS模块自动或远程监控家庭各个子模块的工作状态,并在必要时自动发送信息和报警.系统子节点分别把各自采集的信号进行预处理,然后通过无线收发子节点传送到主控制器的收发子节点模块,由嵌入式实时操作系统μCOS II调度TCP/IP协议栈将数据打包运行于嵌入式WEB服务器.客户端既可通过本地 PC实现现场级监控控制,也可由GPRS模块或以太网模块实现访问接入,通过手机短信息进行远程控制.

4 智能控制系统子模块与软件设计

智能家居控制系统由硬件和软件两部分组成.硬件设计部分包括主控制器和各种子功能实现模块,即以STM32F107VX微处理器为核心,采用嵌入式实时操作系统μC/OS II,基于ZigBee技术进行无线组网实现智能家居控制.软件设计部分主要包括μC/OS II操作系统在STM32F107VX微处理器内核的移植、嵌入式 ZigBee协议栈的实现和应用主程序及子程序的实现.

4.1 子模块设计

系统主控芯片采用STM32F107VX微处理器,主要负责Internet网络控制、基于GPRS网络的远程控制、内部组网管理等.该芯片支持 IEEE1588精确时间协议,能精确实现时间同步,并为核心和外设提供灵活的高级时钟配置方案,可在成本优化的同时为以太网MAC、PHY、CAN、USB和音频类I2S提供时钟.STM32F107VX微处理器还具有ZigBee无线网络通讯接口,可方便地实现ZigBee模块组网设计.

在家居无线网络中,协调器节点采用Chipcon公司的CC2520芯片,负责ZigBee网络的启动、配置、组建、节点的加入与删除等网络维护工作.家居内部子网无线收发节点均采用CC2530芯片实现路由器和终端设备功能.路由器的作用主要是允许其他设备加入网络,实现多跳路由,协助子终端设备通信.终端设备无需维持网络结构,可以处于睡眠或者唤醒状态.由于CC2530已固化了ZigBee 2007协议栈,因此只需加上简单的外围电路即可构成子网的收发模块,实现近距离自组网通信功能.

键盘控制及 LCD显示模块主要由矩阵键盘和LCD显示器构成,完成控制系统现场级I/O的显示功能;以太网通讯模块由Siemens芯片6GK7343完成物理层的转换,实现STM32F107VX微处理器与远程监控PC数据的交换.

GPRS通讯模块采用SIM300模块,其提供标准的RS-232接口,通过点对点协议可实现短信息的收发和无线上网,实现对系统内部各子模块的无线监控.该模块只需通过增加相应的功能实体和对现有的基站系统进行部分改造即可实现分组交换.在整个无线传感器网络中,ZigBee网络把采集到的数据通过 RS-485上传到监控中心,也可通过GPRS或Internet进行远程控制.ZigBee网络面向短距离通信,而 GPRS和Internet面向远距离的通信,两者通过控制系统联到一起,可优势互补,实现数据的远距离自动传输控制.

4.2 软件设计

4.2.1 μC/OS II的移植

实时操作系统μC/OS II是整个智能家居控制系统中调度和控制的核心,负责连接底层硬件和上层的ZigBee协议栈和应用程序,为用户提供API函数.在系统开发应用时,用户无需关心底层的硬件以及驱动程序,只需利用μC/OS II提供的API函数即可开发应用,减轻了开发应用程序的工作量和难度,避免了在微控制器上直接进行ZigBee协议栈的开发.

μC/OS-II在STM32F107VX微处理器中的移植主要是完成OS_CPU.H、OS_CPU_A.S和OS_CPU_C.C文件的移植,同时也需要完成一些与移植相关的文件,如 μC/OS-II系统的配置文件和引导系统的启动文件[4].OS_CPU.H包括了用 define语句定义的数据类型及与处理器相关的宏和函数说明.OS_CPU_A.S包括了与移植有关的4个汇编语言函数,即开中断、关中断、上下文切换和时钟中断.OS_CPU_C.C包括OS_CPU_C.C包括10个C语言函数,用来初始化任务栈和任务控制块,实现任务的创建和删除,完成任务的切换和统计,使用户能先处理需应急的事务和将CPU置于低功耗模式,并可把与OS有关的初始化代码放在OSInit( )函数中,增强代码的简洁性.μC/OS-II移植的实现过程如图3所示.

图3 μC/OS II在STM32F107VX微处理器中的移植

4.2.2 ZigBee 2007协议栈的初始化

实时操作系统μC/OS-II移植入STM32F107VX微处理器后,应由操作系统完先成各模块的驱动和配置以及分配系统资源,再进行ZigBee 2007协议栈开发.具体初始化流程是:(1) 启动协调器模块CC2520,建立网络成功后,在LCD显示器上会显示主控界面以及网络ID号;(2) 打开路由器以及各终端子节点的电源,各节点自动入网,同时显示自己的网络地址、父节点的网络地址和节点类型;(3) 利用ZigBee协议栈的绑定功能把控制器模块和各子节点绑定.

4.2.3 系统应用软件设计

实时操作系统μC/OS-II的多任务可实现应用程序的模块化开发和应用,每个模块功能由一个任务实现.智能家居控制系统可以分为数据采集、数据分析处理和通信三大部分.数据采集部分主要利用无线收发子节点采集各底层子模块经模数转换后的电流、电压、频率等参数;数据分析处理部分主要计算电流、电压的有效值等;通信部分用来实现远程、网络化测控,并向上位机部分传送系统内部各模块相关参数,同时接收上位机的命令参数进行实时控制.各节点数据在无线节点模块中的传输如图4所示.无线收发模块将接收到的无线信号通过内部一系列的硬件处理,将信号转换为数据存放在接收缓冲区中,通过直接内存读取方式送入数据存储区中,再通过串口或GPRS将接收到的数据传到控制中心.在实时操作系统 μCOS-II多任务的基础上,应用程序充分利用了系统资源,提高了程序效率.

图4 数据在无线收发主模块中的传输过程

本文研究的智能家居控制系统基于 ZigBee无线组网技术并结合具有Contex-M3内核架构、功能强、低功耗、低成本的STM32F107VX微处理器实现,由于充分考虑了智能家居应用中最为人们关心的经济和实用问题,因此有利于在中低端用户中推广.

[1] 黎辉.ZigBee技术在中国智能家居中的应用[J].智能建筑电气技术,2009(4):80―81.

[2] 李文仲,段朝玉.ZigBee无线网络技术入门与实战[M].北京:北京航空航天大学出版社,2007.

[3] 彭俊杰,贺辉,朱平安,等.Zigbee-based new approach to smart home[J].Journal of Shanghai University:English Edition,2010(2):12―16.

[4] Jean J Labrosse.嵌入式实时操作系统μC/OS-II[M].邵贝贝,译.2版.北京:北京航空航天大学出版社,2003.

TP302.1

A

1006-5261(2012)02-0030-03

2012-02-22

河南省科技发展计划项目(102102210429)

马齐飞(1985―),男,河南太康人,助理讲师.

〔责任编辑 牛建兵〕

猜你喜欢

家居智能家居无线
打造日常家居“氛围感”
《无线互联科技》征稿词(2021)
基于PLC的智能家居控制系统研究
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
台北家居
基于Zigbee的无线通信技术在智能家居中的应用
智能家居发展或将实现弯道超车
智能家居更贴心