基于ARM-A9和Zig Bee技术的智能家居系统设计概述*
2021-12-23王文强李利陈宇李磊
王文强 李利 陈宇 李磊
北华航天工业学院 河北 廊坊 065000
前言
本系统主要使用ARM-A9架构的三星 exynos 4412处理器的itop 4412开发板作为手持终端,使用Zig Bee无线通信技术,并结合温湿度采集模块、烟雾浓度采集模块等。软件设计基于Ubuntu12.04的系统作为开发环境,从嵌入式底层到应用层的开发流程,设计了一个具有人机交互友好的界面,实现了对家庭环境的监控及家电的控制。
1 系统方案设计
系统主要分为硬件部分和软件部分,主要工作原理为Zig Bee终端驱动各个传感器模块采集数据,然后发送给Zig Bee协调器,协调器通过串口将接收到的数据发送至itop 4412开发板,开发板收到数据后进行相应的解析并显示在界面上。其中开发板上运行的是使用QT编写的程序,经过交叉编译后移植到了开发板上[1]。
2 系统硬件设计
2.1 基于cc2530的Zig Bee通信模块设计
该模块用于Zig Bee网络之间的通信,主要有组网、收发数据等功能,Zig Bee终端设备主要用于控制温湿度采集模块、烟雾浓度采集模块、LED灯等,同时完成传感器数据的采集工作,Zig Bee通信模块选用CC2530芯片。
2.2 温湿度采集模块设计
温湿度采集模块主要负责采集室内温湿度,通过Zig Bee通信传输到手持端并显示在LCD屏幕上,用户可根据室内温湿度做出相对应操作。选用DS18B20模块,该具有体积小,成本低,抗干扰能力强、精度高的特点,并且该模块的通信方式简单,为单总线结构,使用便捷[2]。
2.3 烟雾浓度采集模块设计
烟雾浓度采集模块主要用于检测传感器所处环境中的烟雾浓度,当烟雾浓度超标时,报警信号通过Zig Bee通信传输至手持端,同时触发蜂鸣器报警功能。本设计中选用MQ-2烟雾感应模块,该模块成本低廉、对气体检测有较好的灵敏度、可靠性高。
2.4 LED模块设计
LED模块主要用于模拟室内光照环境,主要通过CC2530芯片的GPIO口输出高低电平来控制LED灯的开关。
3 系统软件设计
3.1 嵌入式Linux系统移植
本系统将QT编写的程序移植到itop 4412开发板上并且成功运行,首先需要将嵌入式Linux系统移植到itop 4412开发板,系统移植过程主要包括以下三个步骤:
(1)Boot Loader移植。Boot Loader是引导系统启动的一段代码,具有不通用性,不同的处理器和架构所使用的Boot Loader也不相同,根据处理器架构选择不同版本进行移植,本设计采用U-boot移植[3]。
(2)内核移植。Linux kernel主要由进程调度(SCHED)、内存管理(MM)、虚拟文件系统(Virtual File System ,VFS)、网络接口(NET)、进程间通信(IPC)五大模块构成,移植过程中选择SoC 厂商移植过的Linux kernel版本会减少很多不必要的工作量,本设计中选择移植2.6.35.7版本Linux kernel。
(3)根文件系统烧写。根文件系统可以理解为最基础的文件系统,不同的文件系统,主要在于它们对扇区管理的策略和方法不同,本设计主要通过Busy Box软件配置ext2格式的根文件系统并烧写到开发板上。
3.2 QT程序设计
itop 4412开发板上位机软件主要使用c++语言在QT平台进行设计,程序界面的渲染采用qss 既Qt Style Sheets进行界面渲染[4]。上位机软件主要实现了以下几个功能。
(1)模拟室内三个场景:卧室、客厅、厨房。
(2)分别对这个三个场景下的温度,湿度以及烟雾浓度进行一个测量并显示。
(3)使用LED灯模拟室内照明灯。
3.3 QT程序移植到itop 4412开发板
(1)在虚拟机里安装ARM版QT所在的目录下寻找库及相关链接文件。
(2)在/opt目录下建立“qt-4.8.5-arm”目录,根据开发过程中使用的QT版本命名。
(3)将U盘里从虚拟机上拷贝的文件全部复制到/opt/qt-4.8.5-arm中,包括lib以及lib下的fonts目录,全部移到开发板上。
(4)设置环境变量。
(5)将编译好的可执行文件移植到开发板上[5]。
4 结束语
本文通过硬件设计和软件设计相结合的方式完成了基于ARM-A9和Zig Bee技术的智能家居系统设计,与传统的智能家居系统相比,通过对嵌入式Linux操作系统的移植和剪切,以及Zig Bee通信技术的使用,克服了传统的智能家居系统能耗大、稳定性差等问题,更好地满足了家庭日常使用需求。