当前位置:首页 期刊杂志

基于ZigBee的物联网智能家居系统

时间:2024-08-31

李 宇,王卫星,陈润泽

(华南农业大学电子工程学院,广东广州 510642)



基于ZigBee的物联网智能家居系统

李 宇,王卫星,陈润泽

(华南农业大学电子工程学院,广东广州 510642)

摘要:提出了一种物联网智能家居系统,该系统以ARM微处理器LC1813为核心,采用客户端/服务器模式,通过Internet局域网和无线局域网接入到公共网络,在家庭内部通过CC2530无线发送芯片的Zigbee无线网络将家用电器与其他监控设备连接在一起组成无线家庭网络;通过手机客户端和Windows客户端对家庭内部或电器设备进行监控;经实际测试结果表明,系统组网方便、运行稳定,能达到物联网智能家居系统的一般要求。

关键词:物联网嵌入式系统智能家居ZigBee

0 引言

随着人类社会的发展,计算机技术、嵌入式技术、无线通信等技术已成为人类必不可少的现代化技术。

近年来,物联网已成为全球关注的热点,被认为是继互联网之后最重大的科技创新。物联网通过ZigBee、RFID、GSM/GPRS、红外感应器等信息传感设备,按照约定的协议在物品与物品之间,物品与互联网之间进行信息传递。基于物联网的智能家居系统,表现为将家居生活有关的各种设备进行组网并与互联网连接在一起,进行实时监控和管理,其包括:智能家居控制管理系统、终端(家居传感器终端、控制器)、家庭网络、外联网络、信息中心等。

目前国内的智能家居系统存在着许多问题,如:功能实用性不强、成本高昂、缺乏规范统一的行业标准、跨产业的合作困难重重、缺乏完善的产业链和商业模式、传感器、芯片安全、可靠性、个人隐私、地址资源等技术挑战等。针对这一问题本文将设计了一种基于Zigbee的物联网智能家居系统,通过手机客户端和Windows客户端对家庭环境和电器设备进行监视和控制,以完成物联网智能家居系统的设计。

1 系统总体设计

系统结构设计如图1所示,主要由3部分组成:系统客户端、嵌入式家庭网关和Zigbee无线传输网络。可以分为服务器和客户端两个结构单元。

图1 智能家居系统结构

服务器单元由ARM处理器、Zigbee无线传输节点、以太网/路由器通信单元等组成。嵌入式家庭网关可以通过I/O口连接其他设备,如:摄像头等,其对家庭环境状况进行监视。Zigbee无线通信单元由Zigbee协调器和Zigbee节点组成,采用星型结构作为智能家居的内部网络结构,并且各个Zigbee节点上配备了相应的传感器模块或控制器模块,可以对环境进行实时监视和对电器设备实时控制。传感器模块通过Zigbee节点将数据发送到Zigbee协调器,然后通过家庭网关和以太网/路由器将数据传输到客户端。

服务器单元主要实现节点采集到的数据和客户端请求的数据在整个系统中的传输。

系统客户端主要由以太网/交换机/串口、PC客户端、手机客户端等组成,实现对家庭环境数据显示和电器设备控制等功能。

2 系统的硬件设计

系统的硬件结构框图如图2所示,主要由ARM处理器、电源模块、复位模块、以太网模块、Zigbee无线通信模块、传感器模块和控制模块组成。

图2 系统的硬件结构图

2.1中央处理器

中央处理器模块由ARM9处理器、SDRAM、FLASH、电源模块、复位模块和相关外围设备电路组成。系统采用了联芯公司生产的基于40nm工艺,采用四核ARM Cortex-A7和双核GPU的LC1813微处理器作为主控制器。LC1813是一款32位的嵌入式微处理器,工作频率为1.2GHz,支持LPDDR/LPDDR2/DDR3、8/16bit NAND FlASH等存储器,I2C、I2S、SPI等接口,便于性能拓展,具有低功耗、高性能等特点,完全满足数据接收、存储、处理等设计要求。

2.2ZigBee模块

Zigbee是基于IEEE802.15.4标准的网络协议。这个协议规定的技术是一种短距离、低功耗、低数据流、低成本的双向无线通信技术。可以实现数千个传感器之间的相互通信。

本系统采用了美国德州仪器TI公司的CC2430/CC2530芯片,它们集成了51单片机内核,相比于众多的ZigBee芯片,CC2430/CC2530颇受青睐。本系统以CC2530芯片来实现家庭中个设备节点与协调器之间的控制功能。其结构框图如图3所示。

2.3以太网模块

以太网是一种计算机局域网组网技术,是建立在CSMA/CD机制上的广播型网络。它是物联网智能家居系统中的一个重要模块,可以实现系统的远程控制,资源分享、管理,以及完成系统的更新下载等功能。

然而,我们使用的LC1813芯片本身并没有网络接口,需要对其进行扩展。从理论上来说,可以把以太网芯片DM9000和以太网水晶接头RJ45直接相连就可以完成网络接口的功能,但是在本设计中采用的是DM9000+H1102网络隔离变压器+RJ45的结构来实现网络接口的功能,这样的设计主要目的是对芯片进行隔离,增强信号和抗干扰能力,当连接不同电平的网口时,防止对系统造成影响。其连接框图如图4所示。

图4 S3C6410与DM9000连接框图

3 系统软件设计

图3 CC2530在家庭内部中的控制网络结构图

图5 软件总体框架图

3.1家庭网关系统选择

在系统设计时,考虑到开发成本,提供的API接口数量以及系统的实时性和处理器能力等因素,系统采用了Android操作系统,它不仅仅是一个开源的操作系统,并且还可以对设备进行一系列地优化,不仅支持网路,多媒体等功能,而且还可以对其硬件功能拓展,比如:蓝牙、相机、GPS、各种传感器等。

3.2软件系统总体框架

软件系统总体结构主要分为三个部分:家庭网关软件、Zigbee模块软件和客户端软件。家庭网关软件设计主要包括:嵌入式Linux开发环境的构建、内核和操作系统编译和移植、Android应用程序开发。Zigbee通信模块软件主要包括:协调器程序的设计和节点程序的设计。客户端程序设计包括手机客户端程序设计和电脑客户端程序设计,软件系统总体框架图如图5所示。

3.3Linux开发环境的构建

要设计出一套完整的操作系统,就应该先搭建好可以编译出该系统的开发环境。最初的嵌入式设备是一个空白的系统,需要主机(PC机)为它构建基本的软件系统,并烧写到嵌入式设备中,由于嵌入式设备的资源并不足以用来开发软件。所以需要用到交叉开发模式,在主机上编辑、编译软件,然后在目标板子(嵌入式设备)上运行,验证程序。所以在嵌入式系统软件开发程序的过程中,只有建立合适的交叉编译环境,才能在嵌入式设备中运行相应的操作系统。

3.3.1交叉编译环境的搭建

所谓的交叉编译,就是在一个平台生成可以在另一个平台运行的代码。通常用于嵌入式操作系统的应用开发环境是由目标硬件系统(ARM主控制板)和主机构成的。由于受到目标板的CPU主频、内存容量等因素的限制,一般目标板的内核的编译和应用程序的开发以及调试的工作需要在具有强大的CPU能力和足够的内存容量的主机来完成,通过网线或者串口下载到目标板上,所以称之为交叉编译,本论文使用的是制作好的工具链,具体步骤如下:

Step1:将准备好的arm-linux-gcc-3.4.4-glibc-2.3.6.tar.bz2复制到目录/work/tools下。

Step2:进入到目录下执行解压命令:

$ cd /work/tools

$ tar jxvf arm-linux-gcc-3.4.4-glibc-2.3.6.Tar.bz2

Step3:在环境变量PATH中增加路径,如下:

$ export PATH=$PATH:/work/tools/gcc-3.4.4-glibc-2.3.6/bin

这样就搭建好了交叉编译环境,并可直接运行这个目录下的程序。

3.3.2内核移植

系统加载程序Bootloader、Linux内核和跟文件系统是一个可执行的、完整的Linux系统所涵盖的内容。

Linux系统上电后,先运行引导加载程序Bootloader,该程序的作用是初始化硬件设备,建立内存空间的映射表,引导和加载操作系统内核,然后启动嵌入式操作系统Linux内核,接着加载Nandflansh驱动程序,LCD驱动程序,WiFi驱动程序等一些不要的驱动程序。通过建立好的arm-linux-gcc交叉编译环境结合LC1813硬件电路的内核裁剪配置,得到符合系统的压缩内核映象文件zImage。在Android源码文件夹中执行./buildandroid,然后形成根文件系统rootfs_dir,最后把编译好的U-boot,zImage,rootfs.yaffs2文件拷贝到SD卡中进行烧写,最后完成内核移植。

图6 协调器软件设计流程图

3.4Zigbee软件设计

Zigbee节点软件的设计包括Zigbee协调器和Zigbee节点网络的组建。ARM微处理器与Zigbee协调器进行信息交互,Zigbee协调器与Zigbee节点进行信息交互。

3.4.1Z-stack协议栈

Z-stack是TI公司推出的符合Zigbe2006规范且可支持多种平台包括CC24031的协议栈。因其采用分布式寻址方案及简化的AODV路由故能适应无线传感器网络特点并能在有移动节点链路失效和丢包的环境下工作,为了方便任务管理Z-stack协议栈定义了完全构建在应用层上的OS-AL层(Operation System Abstracktion Layer,操作系统抽象层)该层可以隔离Z-stack协议栈和特定硬件系统并采用轮询及优先级控制方式实现任务调度也支持IAR交互式及命令行编译配置。

协议栈的结构总体上由硬件抽象层(HAL)、操作系统抽象层(OSAL)和Zigbee协议各层组成。HAL提供Timer、I/O、UART等资源的API。

OSAL层负责任务管理,它采用轮询机制,提供任务优先级,可以隔离协议栈和特定的硬件系统,因此用户可以不需要太了解具体平台的底层就可以利用OSAL提供的各种工具实现各种功能了。Zigbee的协议各层集成有任务事件。从程序的角度一般用户主要接触HAL跟OSAL层。

3.4.2Zigbee协调器软件设计

Zigbee协调器是整个无线通信网络的核心,通常以Zigbee组建的网络只有一个网络协调器。它的主要功能是负责网络的组建,参数的设定、信息管理以及维护功能。

协调器的软件设计流程图如图6所示。系统上电后并完成协调器硬件与z-stack协议栈的初始化后,协调器就会进行信道能量检测和信道扫描,从中选择空闲信道中信号最强的作为建立网络的信道。

9.2 吸入麻醉还是静脉麻醉 纳入3项随机对照研究(randomized controlled trials,RCT)研究的荟萃分析结果表明[21],尚无法确定哪种麻醉方式更有优势(如在并发症发生率和死亡率方面)。但是低级别证据显示丙泊酚可减少术后恶心呕吐(postoperative nausea and vomiting,PONV)的发生。在一项针对多种肿瘤患者的回顾性研究中,接受全静脉麻醉的患者术后生存时间长于接受吸入麻醉的患者[22],但同样也缺乏前瞻性研究的证据。

3.4.3Zigbee节点软件设计

终端传感器主要是接收用户发来的查询信息跟命令操作信息以及传感器采集的信息。终端软件设计流程如图7所示。

3.5基于Android的APP程序设计

Android系统是移动端使用最广泛的系统平台,我们编写了安卓应用以优化智能家居系统的用户体验,提高使用便捷性。

3.5.1APP系统框架

系统框架采用Fragment与Actionbar结合的框架,使用该框架可以提升软件的可复用性和灵活性。

图8 APP程序设计框图

首先,MainActivity作为程序入口,其界面布局文件包含一个用于显示详细页面的容器和一个用于显示底部导航栏的容器。底部导航栏的各个按钮的点击将触发对应详细页面的转换显示,本应用中有三大页面,分别为主页、推荐和设置,均采用fragment框架,底部导航栏和每个页面都有各自的界面布局文件。页面的切换支持手势划屏切换。APP的程序设计框图如图8所示。

4 系统测试结果

为了验证系统的准确性,系统进行了掉包率和RSSI (Receive Signal Strength Indicator)测试。由电脑客户端发送数据至家庭网关,再经协调器到终端节点,终端节点完成数据的接收工作之后,最后返回数据至电脑客户端,在PC机上将发送的数据与接收到的数据进行比较,在不同距离之间进行测试,其测试结果如表1、2所示。

表1 系统在80bit/s时的测试结果

表2 系统在133bit/s时的测试结果

5 系统误差与实验数据分析

考虑到家庭环境的不同,本实验数据在不同程度的遮挡物下进行了数据采集,由实验数据结果可知,各个节点之间的干扰较低,系统运行稳定,通信结果准确,能够实时监视家庭中的环境状况和控制电器设备,这完全符合智能家居的监视和控制要求。

6 结论

本系统根据智能家居的监视和控制特点,设计了以LC1813微处理器为控制核心的智能家居控制系统,运用ZigBee技术,结合了HTTP等技术,设计了一套完整的物联网智能家居系统。在ARM平台上移植了Android操作系统,并编写了2种不同的客户端软件,采用Zigbee无线传输网络进行数据采集和传输。系统测试结果表明该系统具有一定的可行性和稳定性,从而达到了设计目的。

参考文献

[1] 童晓渝,房秉毅,张云勇.物联网智能家居发展分析[J] .移动通信,2010,09:16-20.

[2] 孙宏宇.基于Zigbee技术的智能家居系统[J] .电子科技大学.2011.

[3] 蒋波.基于ARM与Zigbee技术的嵌入式智能家居系统设计[D] .广东工业大学,2014.

[4] 李正明,吴波.基于物联网的智能家居控制系统研究[J] .现代科学仪器,2012,02:68-71.

[5] 联芯科技发布TD四核芯片LC1813[J] .集成电路应用,2013,04:42.

[6] 周立功,等.ARM嵌入式系统基础教程[M] .北京:北京航空航天大学出版社,2005.

[7] Peter A.LieberzeiFranzL.Diehert Sensor Technology and its application in Environmental Analysis Analytical and Bioanalytiacal Chemistry[M] .2007:237-247.

[ 8 ] C a l l a w a y J r.E d g a r H.W i r e l e s s s e n s o r networks:Architecturesand Protocols[M] .2003:223-232.

[9] 刘敢峰,吴明光.家庭自动化儿种主流网络协议[J] .电子技术应用,2003,29(2):6-8.

[10] 张曦煌.无线传感器网络的研究--无线传感器网络路由优化与维护算法的研究.博士学位论文[D] .无锡:江南大学,2008-03-01.

[11] 张奇松.尹航.z-stack部剖及其在无线测温网络中的应用[J] ,计算机系统应用.2009.18(2):103-105.

[12] 杨松,胡国荣,徐沛成.基于CC2530的ZigBee协议MAC层设计与实现[J] .计算机工程与设计,2013,34(11):3840-3844.

The Design Of Internet Of Things Smart Home System Based On ZigBee

Li Yu,WangWeixing,Chen Runze
(Electronic Engineering College of South China Agricultural University,Guangdong Guangzhou 510642,China)

Abstract:Put forward a networking intelligent home system,the system has ARM microprocessor S3C6410 as the core by client / server mode,through Internet LAN and wireless LAN access to the public network,within the family by CC2530 wireless transmission chip ZigBee wireless network to household appliances and other monitoring devices are connected together to form a wireless home network;o monitor the internal or electrical equipment through the mobile client and windows client;the actual test results show that,network system is convenient and stable,can reach the network smart home system general requirements.

Keywords:Internet of things;Embedded system;Smart home;ZigBee

中图分类号:TP393

文献标识码:A

基金项目:国家级大学生创新训练项目(201410564021)

作者简介

李宇(1989-),男,甘肃甘谷人,本科生,主要从事电子信息工程的研究。

王卫星(1963-),男,博士,教授,博士生导师,主要研究领域为无线传感器网络技术,电子技术与计算机在农业中的应用,计算机测试与控制技术等。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!