基于zigbee的智能家居:基于zigbee的智能家居监控系统设计
信息来源:互联网 发布时间:2025-02-06
2016年微型机与应用第12期作者:徐希坤,耿建平,叶新,杨朝岚,李景景摘要:为了实现家居安全、环境信息的远
2016年微型机与应用第12期作者:徐希坤,耿建平,叶新,杨朝岚,李景景摘要:为了实现家居安全、环境信息的远程实时监控,设计了一种基于ARM与ZigBee技术的家庭安全监控系统该系统以CC2530芯片采集温度、烟雾、CO浓度等传感器信息,并通过ZigBee无线网络将采集的节点数据传输到ARM服务器,ARM服务器将数据通过GPRS网络发送至Android手机客户端。
ARM服务器以μC/OSII为平台,引入emWIN 图形用户接口,通过加权算法来判断火灾的发生,从而减小其漏报率和误报率当发生火灾时ARM服务器会自动拨打报警电话,同时也可以通过手机客户端发送家居控制命令,便于火灾的及时救援。
实践证明该系统具有实用性好、可靠性高、反应速度快等特点,可以有效地对家居安全、环境信息进行全覆盖和连续的监控0引言 智能家居系统是将各种传感器、电子电气设备通过网络连接起来,组成一个可实现家居环境监测、家居设备自动化以及家居安防等功能的综合管理系统[1]。
随着经济的发展,人们的生活水平和生活质量日益提高,各种家用电器和生活燃气也走进了千家万户,在方便人们日常生活的同时,由于电器超负荷运转、电线超负载使用、材料老化和燃气泄漏等造成的直接或间接的家庭火灾、煤气泄漏等事故也频繁发生。
因此设计一套能够预防和减少家居危险事故发生的智能家居安全监控系统就显得十分必要传统意义上家居监控系统都是以独立的传感器作为监测点,各个监测点以孤立的形式存在,发生误判、漏判的几率非常大,且大部分以计算机作为终端,不便于实施远程监控[2]。
综合考虑以上问题,设计出一种以Android智能手机作为家居终端监控平台,以ARM微控制器为核心的基于μC/OSII实时操作系统的服务器,TFT-LCD液晶模块实时显示,通过ZigBee采集传感器信息,通过GPRS远程数据传输,最终实现智能家居安全监测系统的本地和远程的实时监控。
1系统总体设计
系统总体结构框图如图1所示,该系统主要由ARM服务器、Android客户端、ZigBee无线传感器网络3部分构成ZigBee无线传感器网络采集家居中的环境、安防等传感器数据信息,然后发送至ZigBee协调器,ZigBee协调器通过串口通信将数据发送至ARM服务器,ARM服务器对接收到的数据进行相应的处理、存储、显示,然后将数据通过GPRS无线网络送至Android客户端。
当发生危险情况(如可燃性气体泄漏、火灾等)时,ARM服务器将会自动报警,并提供家居所在地位置信息,同时将相应的信息发送至Android客户端,用户可以通过Android客户端发送指令对家居设备进行相应的控制(如打开水龙头、切断电源等)。
2系统硬件设计 2.1ARM服务器的设计 基于ARM架构的处理器广泛应用在嵌入式领域[3]本系统ARM服务器以STM32F103ZET6微控制器为核心,该微控制器是基于CortexM3内核的微处理器,具有功耗低、性价比高等特点,并且其核心是基于哈佛架构的3级流水线内核,采用新的Thumb2指令集,使数据运算处理可以取得较快较理想的效果[4]。
ARM服务器主要的作用是接收ZigBee协调器发送来的传感器信息,对接收的数据采用多次采样求平均值的处理方式SD卡通过SDIO接口同ARM服务器连接来完成数据的大容量存储并建立文件系统以SSD1963作为控制器的4.3英寸TFTLCD通过FSMC(灵活的静态存储控制器)与微控制器连接能够大大提高数据的读写速度并进行数据,显示。
GPRS将数据发送至Android客户端,实现移动终端和ARM服务器的人际交互ARM服务器的人际交互是以XPT2046触摸控制器为核心来实现的ARM服务器终端同时还连接蜂鸣器作为报警器件GPS模块进行家居位置的定位。
ARM服务器系统结构图如图2所示
2.2ZigBee无线传感器节点的硬件设计 ZigBee无线传感器网络由协调器节点和终端节点组成,协调器节点主要用于建立无线网络,是整个网络的维护者,接收终端节点的传感器数据并上传至服务器终端节点用来采集传感器数据,在非工作状态时可以进入休眠状态。
ZigBee节点采用CC2530芯片,CC2530内嵌增强型8051 CPU,结合了ZigBee协议栈Z-Stack,提供一个将ZigBee、IEEE 802.15.4、2.4 GHz和RF收发器结为一体的强大而完整的解决方案[56],能够以非常低的成本建立强大的网络节点。
ZigBee节点硬件图如图3所示ZigBee终端节点可以检测环境信息、安防信息环境信息的检测通过温湿度传感器、光照传感器、PM2.5传感器等完成安防信息检测通过烟雾传感器、CO浓度传感器、红外热释电传感器等完成。
ZigBee网络节点采用两节5号电池供电,经过DCDC芯片CP1402转换为3.3 V,同时采用模拟开关来控制各个传感器的供电,以不需要数据采集时降低功耗
2.2.1放大电路的设计 对于模拟输出的传感器,其输出都在mV级如光照强度检测器件BPW34S在光照强度为8~3 500 lux时输出电压范围是220~420 mV之间,因此需要放大处理放大电路采用AD620芯片,其输入微调电压最大为50 μV,放大器的增益为1~10 000倍,放大电路原理图如图4所示。
为避免高频信号的干扰,在前端使用简单的RC无缘低通滤波电路。放大倍数计算公式如下:
调整R9的值即可以改变电路的放大倍数经实验室测试,对于0.1 mV以上的信号可以实现很好的放大功能,为小信号的前期后期处理做好了准备 2.2.2低通滤波器的设计 为了减小干扰,提高系统的可靠性,设计了硬件滤波器。
对于烟雾传感器MQ2,因为工作频率极低,导致低频噪声对其影响较大因此设计了截止频率为0.16 Hz的极低频率的低通滤波器,即使是这样的低通滤波器,与30 s响应的MQ2相比,它对传感器响应时间的影响也可忽略。
4阶低通滤波器原理图如图5所示,它由两个二阶压控电压源低通滤波器(由TL072运算放大器组成)串联而成在Multisim软件中仿真低通滤波器的幅频特性如图6所示从图中可以看出,在-3 dB处频率约为0.16 Hz,衰减比较迅速,满足了设计需求。
2.3电源管理模块的设计 电源管理模块是整个系统的心脏,电源的好坏对整个系统的安全、正常、可靠运行至关重要整个系统采用直流12 V供电,系统中各元件的工作电压存在差异,GSM/GPRS模块使用3.9 V供电,其余部分采用3.3 V供电。
本设计中采用DCDC转换电路来实现这些功能,AP1501将12 V转换到5.5 V,MIC29302BT将5.5 V转换到3.9 V,NCP511SN将5.5 V转换到3.3 V,从而得到系统工作所需要的电压。
为了实现低功耗,GSM/GPRS模块和GPS模块的供电可以通过ARM处理器对其控制电压转换电路如图7所示
3系统软件设计 3.1服务器的软件设计 ARM服务器程序移植了μC/OSII实时操作系统,μC/OSII是基于优先级的可剥夺型内核操作系统,且源码公开,内核小巧,特别适合应用在实时性要求较高的场合[7]。
μC/OSII绝大部分采用C语言编写,只有极少数与处理器硬件相关的代码采用汇编语言实现,最小内核可编译至2 KB,特别适合小型控制系统[8]为了实现服务器更好的人机交互界面,在移植μC/OSII的基础上移植了emWin,它为任何的LCD图形显示提供高效的图形接口,接口实现与硬件平台无关。
emWin支持多任务,结合μC/OSII系统使用,可为用户带来良好的人机交互体验
图8ARM服务器设计程序流程图该系统中,ARM服务器的主要任务有GPS位置信息任务、数据显示任务、数据存储任务、报警任务、数据发送任务等系统上电后首先初始化控制器和外设,然后初始化μC/OSII和emWin。
初始化完成后,设置中断服务子程序,开启中断,创建任务间通信的消息量和邮箱最后创建各个任务,此时的各个任务都为就绪状态,且根据任务的性质赋予不同的优先级ARM服务器的首要任务是读取家居的传感器信息,其优先级赋予最高,显示及触摸任务对时间要求不严,优先级可以赋予最低优先级,任务的优先级顺序如图8所示。
操作系统启动任务调度后就不断地轮询查询是否有任务发生,当没有任务时使系统进入休眠模式以降低功耗3.2ZigBee传感器网络的软件设计 ZigBee技术具有强大的组网能力,可以形成星形、树形和网状网络本系统组建的家庭网络采用星形拓扑结构。
传感器网络的软件设计是基于ZStack开发的,ZStack工程文件由操作系统层(OSAL)、硬件抽象层(HAL)、媒体接入层(MAC)、网络层(NWK)、调试接口层(MT)以及应用层(APP)组成数据采集工作主要在应用层上实现,操作系统以轮询的方式查询各层的事件并进行处理。
ZigBee数据采集节点程序流程图如图9所示
3.3GPRS/GSM模块程序设计 本系统采用SIMCOM公司的SIM900A工业级双频GSM/GPRS模块,该模块支持RS232串口与微控制器连接,减少外围电路的设计 GPRS/GSM主要通过AT指令集传输数据,AT指令集是从终端设备向终端适配器发送数据的一种命令集合。
AT指令集的一般格式为: AT+“AT命令”=“参数” 3.3.1GPRS服务器的指令设置 GPRS通信采用TCP协议,TCP是基于连接的协议,在收发数据前必须和对方建立可靠的连接GPRS服务器设置指令如下:。
AT+CGCLASS=“B”; AT+CGDCONT=1,“IP”,“CMNET”; AT+CGATT=1; AT+CIPCSGP=1,“CMNET”; 通过上述4条指令设置移动台类别、连接方式、接入点和附着GPRS业务。
再发送以下指令: AT+CLPORT=“TCP”,“本地连接端口”; AT+CIPSTART=“TCP”,“IP”,“连接端口”; 即设置好GPRS与客户端的数据传输 3.3.2拨打电话的指令设置。
拨打报警电话的指令设置如下: ATE1//设置回显 AT+COLP=1//设置被呼叫号码显示 ATD119//拨打119进行报警 通过上述指令的设置,在发生火灾时即可拨打报警电话 3.4GPS模块程序设计。
GPS采用UBLOX NEO6M模块,该模块支持最快5 Hz的测量频率GPS模块通过串口与STM32F103ZET6连接,串口波特率为115 200 b/s,为减轻CPU负担采用DMA的数据传输方式。
GPS采用NMEA-0183协议,该协议采用ASCII码来传递GPS定位信息,其帧格式如下: $aaccc,ddd,ddd,…,ddd*hh(CR)(LF) 其中$是帧命令起始位,aaccc是地址域,ddd…ddd是数据,*是校验和前缀,hh是校验和,(CR)(CF)是帧结束符。
程序通过对$GPRMC命令的解析来获取经纬度信息、UTC时间、定位状态 3.5Android客户端的软件设计 系统选择Google的Android手机操作系统作为移动终端平台,在Eclipse环境下开发。
Android客户端通过Socket与ARM服务器进行通信,将采集的数据信息上传至移动终端Socket类是负责处理客户端通信的Java类,通过这个类可以连接到指定的IP或者域名的服务器上,并且可以与服务器交互数据[9]。
Android客户端软件设计流程图如图10所示
4实验结果 在实验室条件下进行测试,ZigBee网络可以采集传感器信息,将传感器信息传至ARM服务器,TFT-LCD可以显示传感器信息,同时通过GPRS网络连接Internet向Android客户端发送数据;Android客户端可以显示传感器数据信息,发送控制命令到服务器控制家居中的设备。
当检测到异常信息(如燃气泄漏、火灾等)时,Android客户端和服务器会同时拨打火警报警电话以便相关的部门采取救援措施Android移动终端显示界面如图11所示
5结论 运用ZigBee无线通信技术设计的智能家居安全监测系统,能够及时采集家中的环境与安防信息,采用μC/OSII操作系统既提高了系统的实时性又实现了家居安全信息的集中管理另外系统采用Android智能手机作为控制终端,具有操作简单、可移植性强的特点,实现了对智能家居的安全监控和预测,具有一定的技术意义和实用价值。
参考文献 [1] SHERMAN M, JOSEPH P A. Smart home technologies[C]. Proceedings of the Information Systems Education Conference,2008(25). [2] ALAM M R, REAZ M B. A Review of smart homespast, present, and future[J]. IEEE Transcation on System Man and Cybernetics Part CApplications and Reviews,2012,42(6): 11901203.
[3] 师振伟.基于 ARM 和 ZigBee 的智能家居无线终端控制系统的设计[D]. 西安:西安工业大学,2013. [4] 王永虹,徐伟,郝立平.STM32系列ARM CortexM3微控制器原理与实践[M]. 北京:北京航空航天大学出版社,2008.
[5] Liao Jianming, He Xueqin, Lu Guoming, et al. The research and design of ZigBee wireless networking based on CC2530[C]. International Computer Conference on Wavelet Active Media Technology and Information Processing, 2013: 263266.
[6] Texas Instruments Inc. CC2530 Datasheet[Z]. 2011. [7] 陈磊,林明.基于μC/OSII的模糊自适应温度控制系统设计[J].科学技术与工程,2012,12(26):66346639.
[8] LABROSSE J J.嵌入式实时操作系统μC/OSII(第2版)[M].邵贝贝,译.北京:北京航空航天大学出版社,2003. [9] 李宁.Android开发权为指南[M].北京:人民邮电出版社,2012.
免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186

