ARM及ZigBee技术实现智能家居控制器的设计


 
来源:飞象网   2011-7-29 10:08:25
 
 
关键词:ARM  ZigBee  智能家居  


提要本文所介绍的智能家居控制器利用ZigBee技术将家庭中许多相对独立的家用电器构成一个统一的智能家居系统,从而方便对家居中的各种电器设备进行本地操作,同时也可通过互联网或GPRS系统对各种电器设备实现远程控制。
 

     ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,在众多领域有着广泛的应用前景。

  智能家居是一个多功能的综合技术系统,它以家庭住宅为平台,利用先进的计算机技术、通信技术、网络技术、控制技术、信息技术,将家庭中的各种电器设备通过某种形式的网络有机地连接在一起,进行网络化的综合管理与调控,为人们提供一个舒适、安全、方便、环保和高效率的生活环境。

  本文所介绍的智能家居控制器利用ZigBee技术将家庭中许多相对独立的家用电器构成一个统一的智能家居系统,从而方便对家居中的各种电器设备进行本地操作,同时也可通过互联网或GPRS系统对各种电器设备实现远程控制。

  1 ZigBee技术简介

  ZigBee技术是近几年逐步发展起来,很有市场潜力的一种无线连接技术。它是为了满足低功耗、低数据量和低成本的无线网络要求而诞生的。它基于IEEE无线个人区域网(Wireless Personal AreaNetwork,WPAN)工作组的80211514标准,被称为ZigBee技术标准。

  完整的ZigBee协议由应用层、应用汇聚层、网络层、数据链路层和物理层组成,如图1所示。

     IEEE80211514标准定义了物理层(PHY)和数据链路层(MAC);网络层以上的协议由ZigBee联盟负责制定,其中应用层包括了应用支持子层(APS)、ZigBee设备对象(ZDO)和由制造商制订的应用对象。

  ZigBee以一个个独立的工作节点为依托,利用无线通信,通过自组织方式组成星型、网状和簇状3种网络结构,因此每个节点的功能并非完全相同。为了降低系统的成本,IEEE80211514定义了2种物理设备类型:全功能设备FFD (Full FunctionDevice)和精简功能设备RFD (Reduced FunctionDevice)。FFD节点具备控制器的功能,提供数据交换,能够作为网络协调器、路由节点和终端节点来使用,可以与网络中任何类型的设备进行通信;RFD只能作为终端节点来使用,而且只能与FFD通信,两个RFD节点之间不能通信。

  Zigbee这一无线通信技术具有近距离、低复杂度、低功耗、低数据速率、低成本、安全可靠、网络容量大、自组织、自愈能力强等特点,可广泛应用于多个技术领域,有着广阔的市场前景。

  2 基于Zigbee技术的智能家居控制器的设计

  智能家居系统的网络通信具有如下特点:

  ①传输数据量小,无需太大的传输速度;②网络的容量大,以满足家庭中的各种家电设备;③信息的实时性好,时延短。

  ZigBee的技术特点决定了其能很好地满足智能家居网络的上述需求,特别是具备自组织、自愈能力,这样的无线通信技术是智能家居系统理想的通信方式。

  2.1 智能家居系统的基本构成

  智能家居系统可通过GSM/GPRS/CDMA/网络、ZigBee个域网、互联网以及小区信息网实现信息的互联互通。用户在户外可通过手机调控家中的电器和照明装置,也可及时得到家中的防盗、防火、防煤气泄漏等报警信息;在家中可通过遥控器调控家电设备。控制器还兼有可视对讲系统室内主机功能,能查阅社区发布的各类信息,必要时可向社区保安发出报警求救信号。系统主要由一个智能家居控制器和若干个室内监控ZigBee功能模块组成。系统模型如图2所示。智能家居控制器经2个无线通信网络、互联网以及2条有线通信线路与外部设施实现信息的互联互通,因而智能家居控制器又可视为数字家庭网关。

      智能家居控制器内部装有手机模块,通过GSM(GPRS、CDMA)移动通信网络,与用户手机实现双向短消息收发。用户可通过手机短消息实现对家用电器的电源开关控制以及调光、调速控制;控制器以手机短消息的形式向用户手机发送报警信号,供防盗、防火、防煤气泄漏以及家庭突发事件报警用。

  控制器内部装有1个ZigBee模块,通过Zig2Bee无线网络与家居中的监控装置进行通信,作为ZigBee网络协调器(FFD)来使用。它负责组建智能家居ZigBee网络,接收系统控制中心发送的指令,并做出相应地处理。同时还要将从路由节点(FFD)或终端节点(RFD)接收到的数据发送给系统控制中心。

  室内监控设备按用途可分为3类:第一类为开关与插座,最简单的插座通过小电子开关的通断实现对家用电器(如电饭煲、饮水机、电视、冰箱、空调、洗衣机、电动窗帘以及不需要调光的灯具)的电源开关控制;较复杂的智能开关和插座具有输出功率可调的功能,用于吊灯、落地台灯的调光或电风扇的调速等。第二类为传感器产品,其中热释电红外传感器和门磁传感器用于防盗,烟雾传感器用于防火,瓦斯传感器用于防煤气泄漏,还有手动报警按钮用于突发事件(如孤寡老人突然发病)的报警。这些节点都带有ZigBee模块,作为网络的终端节点(RFD)。第三类为手持遥控器,除实现对家用电器开关控制、调光调速控制外,还具备照明场景设定与控制功能。

  若小区配置有物管通信网络和门禁对讲系统,控制器兼备可视门禁对讲系统的室内主机的功能。

  控制器上的液晶LCD显示屏可显示访客的图像画面,与访客进行对讲或开锁操作。此外,控制器可接收小区物管发送的各类文字信息;当室内发生意外时,可向小区物管发送报警信号。

  控制器备有互联网接口,供用户在异地时通过互联网控制家中电器的运行,也可监视家中发生的事件。下一代互联网的问世将为此项功能的应用提供极大的支持,到那时,每个家电及控制器本身都将有自己的静态IP地址,从而成为网络中的一员。

  ZigBee的簇状网络综合了星型和网状结构的特点,我们在实际应用中利用智能家居控制器及ZigBee传感器节点组成簇状网络。它具有良好的可扩展性,对于大户型或别墅用户而言,可以通过增加路由节点来扩大网络覆盖范围;对于小户型的用户而言,可以通过减少路由节点变成星型网络,以节省能量、加快数据传输速度。

  2.2 智能家居控制器的硬件设计

  2.2.1 智能家居控制器简介

  智能家居系统的核心部件是智能家居控制器。其组成框图如图3所示,它以嵌入式处理器为中心,由手机模块、ZigBee模块以及必要的辅助接口组成。智能家居控制器是整个智能家居系统的控制中心,其硬件核心是中央处理器,所有的设备控制、任务调度、通信协议转换、数据收发和数据管理等任务都需要中央处理器。从功能、可扩展性、操作系统支持及功耗等方面考虑,我们选择功能强大的32位ARM9微处理器S3C2410X作为主处理器,存储器选用64M的NAND Flash和64M的SDRAM。

  在人机接口方面,采用5英寸的TFT液晶屏,并配置相应的触摸屏。可用于显示访客图像和小区物管发送的各种信息,并使用户可方便地输入数据去控制各种家居设备。另外为了控制方式更灵活,利用处理器的I2C总线接口设计键盘接口,从而可扩展各种控制、报警方式。

  控制器有2个通信模块:手机模块和ZigBee模块。手机模块由主机模块、SIM卡接口、音频部分和射频部分组成,采用SIMCOM公司生产的SIM300芯片(GPRS 模块)。与ARM进行数据传输采用标准的RS - 232接口,通过使用AT命令完成对该模块的操作,实现短消息的收发。Zigbee模块采集各种家电设备运行状态并接收各种故障报警信息,通过RS - 232接口与ARM进行数据传递。

  控制器配有以太网接口,配合控制器上建立的Web服务器,用户可通过Internet完成对家庭环境及各种家电设备的监控。图3中的RS - 485接口用于与小区物管的通信(与原有的小区网络配合。若为新建小区,可直接使用以太网接口).利用MAX3232将ARM9的两个USART收发器,组成两个RS - 232端口和一个RS - 485端口。

  音频接口利用微处理器内部的IIS总线接口与外部音频数字信号编码器芯片(UDA1341TS)组成。

  视频接口采用中芯微的DSP芯片,将视频信号转换成微处理器能够处理的JPG文件格式或二进制图像流,经处理后送LCD屏显示。 


      2.2.2 智能家居控制器中的Zigbee模块

  ZigBee模块采用全功能设备(FFD)类型,它在智能家居系统中承担着网络协调器的角色,可提供信息的双向传输,以连接智能家居系统中其它精简功能设备(RFD)。

  此模块利用Chipcon公司的CC2430芯片,CC2430芯片延用了以往CC2420芯片的架构,在单个芯片上整合了ZigBee射频(RF)前端、内存和微控制器。它使用1个8位MCU (8051),具有128KB可编程闪存和8KB的RAM ,还包含模数转换器、4个定时器、AES - 128协同处理器、看门狗定时器、32kHz晶振的休眠模式定时器、上电复位电路、掉电检测电路,以及21个可编程I/O引脚。

  CC2430芯片采用0118μm CMOS工艺生产,工作时的电流损耗为27mA ;在接收和发射模式下,电流损耗分别低于27mA或25mA。CC2430的休眠模式和转换到主动模式的超短时间的特性,特别适合那些要求电池寿命非常长的应用。

  CC2430带有2个强大的支持几组协议的US2ART通信接口,通过此通信接口中的一个,S3C2410X处理器可以对CC2430进行写入或读取配置信息,也可以收发数据。

  CC2430芯片集成了CRC和数据完整性检查等功能,减少了程序员编程的工作量,加快了通信的速度,减少了能量消耗。同时,芯片还采用了CS2MA - CA技术来避免数据发送时的竞争和冲突,减少了一部分不必耍的能量消耗。因此CC2430芯片具有超低的能耗,其使用寿命可以年来计算,价格便宜,符合传感器网络需要大量分布节点的特点。

  控制器通过RS - 232接口利用Zigbee模块采集各种家电设备运行状态并接收各种故障报警信息。

  2.3 智能家居控制器的功能

  智能家居控制器操作系统选用开源的嵌入式Linux操作系统,通过裁减后移植到控制器硬件平台上。该智能家居控制器将Linux,ARM系统、手机模块和ZigBee模块组成一个整体,构成了一个功能齐全的嵌入式系统,利用ZigBee技术轻松实现家庭内部多节点的无线连接。

  智能家居控制器的功能为

  (1)采用ARM架构的32位嵌入式RISC处理器和开源的嵌入式linux操作系统;

  (2)是智能家居控制系统的控制中心,也是家居系统中信息家电平台的网关;

  (3)遇盗抢或疾病,按紧急按钮,自动向管理中心报警;

  (4)以家庭为单位配置,利用液晶屏显示小区通知、系统各部分工作状况及数据;

  (5)利用ZigBee传感器节点监测各种故障报警数据(火灾、煤气泄漏等),并自动通过手机模块发给用户或小区管理中心;

  (6)通过以太网(或RS - 485)与小区管理中心通信;

  (7)通过控制器上的无线ZigBee模块与家居系统中各子节点进行通讯,对多种家电设备进行相应的控制;

  (8)用户可通过Internet远程监控家庭中的多种家居设备。

  智能家居控制器通过Zigbee模块采集各种家电设备的运行状态并将各种故障报警数据存入数据库;对故障报警优先处理,通过手机模块自动发送短信息到用户手机或小区物管,并将现场数据实时存入数据库,以便对各种信息进行进一步的分析和统计。在这里数据库成为了连接前后台的中间件,存储状态数据供远程监控和本地LCD显示,同时接收浏览器和本地键盘输入,由通信程序、CGI程序完成控制命令的下传及运行状态的上传;同时数据库还需实现故障的分析统计和查询。在本系统设计中,我们采用嵌入式数据库SQLite以满足系统远程控制数据传递、数据共享的要求。

  控制器的软件主要分为4个模块:与数据采集接口的通信程序、故障报警程序、本地的人机交互程序和远程控制程序。为了使用户可以在Internet上通过浏览器控制智能家居网络,需要在控制器(数字家庭网关)上架设Web服务器与用户进行通信,并通过CGI接口调用后台CGI程序。CGI程序在Web服务器和控制程序间建立联系,调用具体的控制程序,实现对智能家居网络内部节点的指定操作。它监控网络,随时随地都能知道网络内设备的状态并控制网络内的各种设备。网络监控在家庭网络中也是非常重要的,使用户可以随时了解网络的状况,如设备的加入退出、设备故障等等。

  3 结语

  ZigBee技术弥补了低成本、低功耗和低速率无线通信市场的空缺。智能家居控制器硬件由先进的ARM9嵌入式系统、手机模块和ZigBee模块组成;操作系统采用嵌入式Linux,家庭网络采用ZigBee无线网络,安全性好,系统功能完善,能够适应今后智能家居发展的需要。来源维库)
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
开发系统:Windows10 64位 Ubuntu 14.04 32 位 软件版本:Qt 4.8.6 IAR .0 Altium Designer 13.0 工具链:arm-linux-gcc 4.4.3 系统实现的主要功能如下所示: 1. STM32下位机 (1) 应用了小型的嵌入式操作系统μC/OS-II; (2) 各个传感器的数据以多任务的形式获取,实时性很好; (3) 数据调试使用STM32串口1; (4) 数据的发送使用STM32的串口3,并以任务的形式进行打包发送,具体数据帧格式请看代码; (5) STM32接收数据采用终端方式,当有数据到来时会触发终端,进入数据接收解析过程,在此过程中会对数据的帧头等信息进行判断; 2. Zigbee无线通信 Zigbee部分其实没有太多功能,一句话概括就是一个串口透传功能!本来当初计划直接使用zigbee驱动各个传感器,然后组网后发送给协调器,考虑到既然学习了STM32,就利用上吧!其实这里完全可以直接使用zigbee,不使用STM32的。 两套方案的编码工作其实早就已经完成了,思考了好久才决定采用STM32+zigbee方式,这样下来可以学到很多,尤其是μC/OS-II系统的移植,还是很深奥的,很值的以后继续深入的去学习。 3. ARM上位机 ARM上位机采用友善支臂的SMART210开发板,自己后续移植了Qt4.8。上位机主要实现了一下几个功能: (1) 模拟室内三个场景:卧室、客厅、厨房 (2) 分别对这个三个场景下的温度,湿度以及烟雾浓度进行一个测量并显示; (3) 使用LED灯模拟室内照明灯; (4) 使用人体红外传感器进行检测是否有人(这个传感器有点不靠谱,最后取消了) (5) 当初计划添加视频监控,到了后期发现工作量太大,没有时间做了,所以就没有完成,这点以后会添加上去的。 (6) 代码中使用了“liudianwu”分享的一些api,由于时间紧,所以直接拿来用了,在此感谢! (7) 代码重复率有点高,好几处的button样式是相同的,完全可以提取出来,在此请大家海涵。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值