基于嵌入式ARM构架的智能家居控制系统设计
2021-04-13梁海洁陈娇英陈延明
梁海洁 ,陈娇英,陈延明
(1.广西工业职业技术学院, 广西 南宁 530001;2.广西大学 电气工程学院, 广西 南宁 530004)
0 引言
伴随着科技的快速发展,我国智能家居控制技术已在高端家庭普及应用,但对于中低端家庭受经济成本等因素的影响,至今未能推广应用,普通百姓享受家居智能化高品质生活还只是奢侈想法。如何开发优化低成本、高性能的智能家居控制系统,让智能家居控制技术走进百姓生活已成为当今智慧城市建设的一个热门研究课题[1-2]。嵌入式ARM技术相当于一个计算机系统,根据不同功能需求,进行配套的软、硬件设计,可以实现各种智能化控制系统的特殊要求。智能家居将计算机、网络、通信等技术有效地结合起来,使家居电器设施形成一个有效的整体,并对其进行智能控制。所以嵌入式技术将软、硬件灵活融合的特点与智能家居控制需求很契合[3-7]。ZigBee技术以低成本、低功耗、高灵活性、自组网等优势在智能家居系统中得到了广泛的应用[8-10]。本文提出基于嵌入式ARM构架的智能家居控制系统解决方案,把嵌入式技术与ZigBee技术融合一起,打造一个低成本、安全便利的智能家居控制系统,满足中低端家庭对智能居家生活的需求。
1 系统设计
1.1 系统功能
本文设计的智能家居系统具备四种功能。一是可在CGI网页进行动态编程,并且支持嵌入式 Web 服务器搭载 Linux 系统;二是可实现跨平台访问,直接通过浏览器网页访问 Web 服务器;三是客户端浏览器和局域网设备节点可实现双向信息交互;四是通过浏览器实时监视和控制位于 ZigBee 网络中的节点设备运行状态。
1.2 系统构架
嵌入式系统可将硬件和软件紧密耦合,具有较强大的功能。硬件部分包含核心处理器、存储器、输入输出(I/O) 端口、外接器件等。软件部分包含用于资源调度、硬件交互的操作系统和保障系统工作过程正常运行的应用程序。基于嵌入式ARM构架的智能家居控制系统总体框架如图1所示。
图1 ARM构架的智能家居控制系统组成结构
网关硬件采用ARM 的 S3C440A 处理器,选择嵌入式Linux操作系统搭建软件系统平台。选用Zigbee自组无线局域网用于采集本地网络信号及各模块间通信信息,各种传感器及终端家电设备的连接由Zigbee节点实现,并且以多跳自组方式与Zigbee 协调器通信,协调器再通过串口与ARM网关进行通信。通过移植BOA Web 服务器进行CGI程序及HTML 页面设计,客户端只要通过访问BOA Web 服务器就可以进行居家环境的参数及家电设备的远程监控。
2 硬件设计
基于嵌入式ARM构架的智能家居控制系统主要硬件结构如图2所示。
图2 系统主要硬件结构
2.1 ARM处理器
嵌入式ARM处理器是系统的核心部分。能搭载操作系统,具有在执行复杂任务的情况下依然能保持稳定运行的优点。嵌入式ARM处理器的主控芯片选用S3C2440A模块,内部集成了ARM920T内核,存储器选用64M的NAND_FLASH和64 M的SDRAM。负责采集与处理内网ZigBee节点传感器数据,交互不同协议的转换和数据,发送相应的环境状态数据和接收终端的控制指令到外网手机等终端。其外围有足够的主/从USB接口、100 M以太网接口以便扩展使用。
2.2 电源模块
本系统在网关硬件设计中选用逐步降压的方法来为整个硬件平台供电。智能网关平台开关电源供电分别为5、3.3 V,为系统提供足够的带载能力。稳压供电电路如图3所示。
图3 稳压供电电路
2.3 以太网模块
以太网采用成本较低的DAVICOM公司的10/100 M自适应以太网芯片DM9000,是一款快速集成单芯片的以太网控制器。以太网接口电路如图4所示。
图4 以太网接口电路
2.4 ZigBee通信模块
ZigBee通信模块是居家局域网组网的关键组成部分,用于控制传感器模块及协调整个控制系统的正常运行。CC2530采用8051 内核,可编程闪存,工作于2.4 GHz频段,享受全球免费待遇,底层基于IEEE 802.15.4,上层支持Z-Stack协议,具有自组网络功能强大且稳定的优势,而且成本低。具有可以随时从睡眠状态唤醒的多种灵活运行模式,特别适用于智能家居控制系统低功耗的要求。ZigBee模块CC2530外接管脚电路如图5所示。
图 5 ZigBee模块CC2530外接管脚电路图
3 软件设计
本系统软件设计首先搭建嵌入式平台,然后构建交叉编译环境及Linux内核,其次是构建ARM 板的引导方式及根文件系统,最后依据系统功能需求进行相应的应用程序及软件流程设计。
3.1 CGI程序设计
本系统软件设计主要为探讨Web服务器和终端ZigBee节点之间的信息交互,系统各节点状态参数随时采集反馈给服务器,服务器完成对各个节点状态控制。用户通过CGI程序来实现与Web服务器的实时交互,CGI用C语言进行程序的编写,具有很大的灵活性。CGI 程序设计流程图如6所示。
用户登录后进入智能家居系统,系统采集数据,并下达指令传递给服务器及协调器,通过各个传感器节点处理,服务器调用相应的主CGI程序解析表单,然后返回对数据进行分析处理,处理好的数据结果直接于网页界面显示。所以用户对居家设备控制过程及居家环境参数监测非常便捷。
3.2 协调器软件流程
ZigBee协调器作为居家局域网的核心部分,自组建居家无线传感器局域网,接受来自ARM 处理器的指令,并控制终端节点部署网络地址。工作流程如图7所示。
协调器的角色在初始化后,便开始组建网络,建立成功后,等待终端设备加入,并彼此进行通信。
图6 CGI 程序设计流程图
图7 ZigBee协调器软件流程图
图8 智能家居系统监控界面
4 系统测试
4.1 家电设备远程监控测试
以照明灯光的控制为例,进行家电设备远程控制测试。主要测试远程服务器命令对终端节点的响应,从而验证系统的远程监控功能。用户远程登陆智能家居系统,点击客厅选项卡,然后点击开灯按钮,如果看到灯泡点亮,即说明开关灯测试成功。智能家居系统监控界面如图8所示(黑点表示开)。
4.2 安防远程监控测试
以居家摄像头的视频监控为例进行测试,主要测试远程服务器命令对终端节点的响应,以验证系统安防远程的监控功能。用户远程登陆系统,看到界面有三种安防模式的切换使用。其中紧急警报是安防行业的常规,在报警信息选项可查看每次发出报警的时间与报警设备。点击摄像头3按钮,可以看到摄像头3监测的区域视频,开关摄像头监控成功。摄像头监控测试界面如图9所示。
通过系统的远程登陆监控检测,实现了对智能家居终端节点的远程控制,测试结果显示系统运行稳定性好,控制灵敏度高,完全符合设计要求。
图9 摄像头监控测试界面
5 结语
本文设计了一种适用于中端家庭的嵌入式ARM构架智能家居控制系统,利用ZigBee互联网、嵌入式技术实现一个简易且成本低的智能家居远程控制解决方案。进行了系统的软、硬件平台搭建,完成Linux操作系统在Boa服务器移植,完善应用程序S3C2440A平台设计。通过实验测试证明了智能家居系统的远程监控功能稳定性。远程测试过程系统运行稳定性好,控制灵敏度高。该方案对实施中端家庭普及应用智能家居控制,提高国民生活质量水平有一定的工程实用价值。