刘超 徐志方 王方前 崔九梅 居文军
摘 要: 为了提高物联网操作系统中智能家居工作的合理性,设计了一种可以协调智能家居工作计划的物联网操作系统应用框架。该应用框架中,以RK3288为核心的主控制器通过ZigBee收集各智能家居的工作狀态,该微处理器以UHomeOS作为开发环境,然后将各智能家居的工作状态上传至云平台,云平台根据各智能家居的工作状态,控制某些智能家居的工作时间,从而使智能家居的工作更加合理、智能化。智能扫地机器人的实验结果表明,扫地机器人能够在灰尘量积累到一定程度时启动工作,无灰尘时不清扫,对节能减排具有重大意义。
关键词: 物联网; 操作系统; UHomeOS; ZigBee; 工作计划; 智能家居
中图分类号: TN02?34 文献标识码: A 文章编号: 1004?373X(2020)23?0143?03
Abstract: The Internet of Things (IoT) operating system application framework which can coordinate the work plan of smart appliances is designed to improve the smart appliance working rationality in the operating system of the IoT. In the application framework, the main controller with RK3288 as the core collects the working status of each smart appliance by ZigBee. For the microprocessor, UHomeOS is taken as the development environment, and then the working status of each smart appliance is uploaded to the cloud platform. The cloud platform controls the working hours of some smart appliances according to their working status, so as to make the work of smart appliances more reasonable and smart. The experimental results of the smart sweeping robot show that the sweeping robot can start work when the dust accumulates to a certain amount, and does not start work when there is no dust, which is of great significance for energy saving and emission reduction.
Keywords: IoT; operating system; UHomeOS; ZigBee; work plan; smart appliance
0 引 言
随着科技的发展,智能家居设备深受广大用户的喜爱,已经逐渐进入了普通用户的家中[1?2],目前,智能家居设备的种类以及数量暴增,大量的智能家居设备在工作时需要消耗大量的电量,因此如何合理规划智能家居的工作时间,成为急需解决的问题。
目前,大部分智能家居的工作主要靠人工操控,比如,人为控制扫地机器人在何时清扫[3],但是,在一些经常无人活动的区域(例如大型的仓库、体育场馆等),如何控制扫地机器人在有灰尘时自动清扫是一个难题。随着智能监测技术的普及,也可以考虑通过硬件探测仪在检测到环境达到工作条件时再工作,考虑到地面的灰尘主要来源是空气中的粉尘、衣物纤维等[4],可以通过粉尘探测仪[5]在探测到空气中粉尘量较多时再进行清扫工作。虽然粉尘探测仪能够探测空气中的粉尘含量,但是由于室内空气中的灰尘往往不多,且普通粉尘探测仪的精度又不高,因此无法准确反映室内地面灰尘的状态。另外,粉尘探测仪价格昂贵,单独用粉尘探测仪探测地面灰尘,成本较高。
为此,本文提供了面向智能家居的物联网操作系统应用框架,通过云平台技术搭建物联网操作系统[6?7],云平台能够根据智能家居设备的运行情况,判断环境是否达到了智能家居工作的条件,在判断结果为“是”时,控制相关的智能家居进行工作,以此来确定智能家居的工作时间,从而节省电量消耗,同时无需额外添加检测环境条件的探测仪,节约了成本。
1 框架的总体架构
本文面向智能家居的物联网操作系统应用框架由云平台、主控制器、ZigBee协调器、WiFi模块和智能家居等组成,如图1所示。其中,云平台通过互联网与主控制器连接,主控制器通过串口与ZigBee协调器连接,ZigBee协调器与智能家居设备上的ZigBee节点连接,通过ZigBee模块实现对智能家居的控制;主控制器还通过串口与WiFi模块连接,通过路由器连接互联网和移动终端,实现用户通过移动终端对智能家居的控制,以及主控制器对互联网数据的获取。
本文的应用框架中,智能家居设备包括智能窗[8?9]、智能空调和扫地机器人,用户可以通过移动终端,经由中控制器控制智能家居设备的运行状态,主控制器记录智能家居设备的状态。当智能窗的状态为开启、智能空调的状态为开启时,室内便会积累灰尘,具体积累灰尘的多少取决于智能窗和空调开启的时长以及开启时的空气质量。因此,主控制器会记录智能窗和智能空调开启的时长,还会通过WiFi模块从提供天气服务的API接口获取空气质量信息,并将这些数据发送给云平台,云平台通过智能窗和智能空调开启的时长以及开启时的空气质量这三个参数,实现对室内地面灰尘量的量化。
当云平台判断灰尘量达到一定级别时,会通过主控制器和ZigBee协调器向扫地机器人发送清扫指令,扫地机器人在收到指令后便开始清扫工作。这样,在灰尘数量不多时,可以避免扫地机器人每天定时清扫耗费电量的问题,同时也可保证在地面灰尘数量较多时能够及时地清扫地面。
2 应用框架的硬件设计
本文应用框架的核心是云平台,它实现了移动终端对智能家居设备的控制,也可根据智能空调和智能窗的开关状态,实现对扫地机器人的智能化控制。本文选择阿里云[10]构建云平台的IaaS层以及PaaS层,阿里云可以提供安全可靠的计算和数据处理能力,同时,还提供一系列分布式计算、存储服务,供开发者使用,包括分布式文件存储、分布式数据库集群、分布式缓存、分布式定时服务。
以海尔硬件平台USR主板为开发板,该开发板采用瑞芯微RK3288处理器,四核Cortex?A17架构,搭配2 GB DDR3内存,板载蓝牙、WiFi,支持音频输入输出,接口兼容性高。即主控制器采用RK3288微处理器,RK3288处理器是用于移动电话、个人移动互联网设备及其他数字多媒体应用的低功耗高性能处理器,采用四核Cortex?A17构架,最高主频达到1.6 GHz,集成Mali?T764图形芯片,具备4K×2K分辨率的H.265硬解能力。
另外,本应用框架中,通过ZigBee模块实现了主控制器对智能家居设备的控制,ZigBee模块所采用的是以CC2530为主芯片的ZigBee设备[11?12],该设备由TI公司设计,成本低、功耗低。ZigBee模块由ZigBee协调器和ZigBee节点组成,协调器通过串口和主控制器进行通信,获取主控制器发来的命令,再通过ZigBee把命令发送至ZigBee节点上。
ZigBee节点位于智能家居设备上,方便直接控制智能家居设备,ZigBee节点和智能家居设备之间的连接方式,由ZigBee节点具体控制的功能决定。例如,ZigBee节点对智能窗电机的控制,会通过I/O接口和硬件驱动连接,再和电机相连接,实现根据用户终端控制的要求,通过对应的I/O口发出不同的控制指令,使电机正转或反转,实现对智能窗的开关。
由于本文的设计重点是云平台根据智能家居设备的运行情况,判断环境是否达到了智能家居工作的条件,因此ZigBee节点对智能家居设备的控制不是本文研究的重点,所以对ZigBee节点和智能空调、智能窗、扫地机器人的具体硬件连接方式不做重点描述。
3 应用框架的软件设计
本文的应用框架中软件设计主要是对云平台和嵌入式操作系统的设计,核心在于云平台根据智能家居设备的运行情况,判断环境是否达到了智能家居工作的条件,对于移动终端软件设计、ZigBee模块软件设计等只做概述。
3.1 主控制器软件设计
主控制器软件设计部分主要包括uboot移植、内核编译、系统移植、设备驱动编程、应用程序编程等。
首先引导和启动Bootloader[13],通过该程序进行硬件设备初始化以及建立内存空间映射图,将系统引入可以调用操作系统内核的合适状态。
主控制器运行系统为UHomeOS,基于UHomeOS提供的开发工具进行编译调试。UHomeOS提供多种开发套件,可以实现uSDK、IoTSDK、账号服务等多种基础能力。主控制器软件流程图如图2所示。
在UHomeOS操作系统启动后,用户可以通过移动终端发送控制智能家居設备开启/关闭的指令,指令通过路由器和WiFi模块传输至主控制器。由于智能窗和智能空调会对室内灰尘产生影响,因此,在接收到开启智能窗/智能空调的指令时,记录其开启的时刻,然后,通过GET请求,从提供天气数据的服务器API获取天气数据。在智能窗/智能空调开启时,定期向云平台上报智能窗和智能空调已开启的时间和天气数据。
3.2 云平台软件设计
云平台的软件设计主要使用Java语言编写程序。云平台的软件流程如图3所示。
云平台接收到主控制器上报的数据后,根据上次清扫后智能窗和智能空调已开启的时间和天气数据,计算灰尘等量[M],具体计算公式如下:
[M=T1·a1+…+Ti·ai+…+Tn·an+ t1·a1·k1+…+ti·a1·ki+…+tn·a1·kn]
式中:[Ti]为智能窗每次开启的时间,单位为min;[ai]为智能窗/智能空调每次开启时的天气数据,天气数据选择AQI指数[14],即空气质量指数。空气质量指数和地面灰尘数量往往成正比,在扬尘天气,AQI指数一般为500。[ti]为智能空调每次开启的时间,单位为min,空调开启后可能会将外界尘埃带入室内,另外也会促进室内空气流通,尘土、衣物纤维等颗粒物会四处飘荡,增加地面的灰尘,但是空调开启所带来的灰尘要远远小于开窗时带来的灰尘,因此,空调开启时间需要乘以一个权重系数[ki],根据经验,本文中[ki]取值10%。
在得到灰尘等量[M]后,判断灰尘等量是否大于设定数值,由于地面灰尘主要受窗户大小以及室内地面面积的影响,因此设定数值可以根据经验自行设定。比如,设定数值取值为180 000,该值为AQI指数为500时,开窗半天所积累的灰尘等量。当判断灰尘等量[M>]180 000时,向扫地机器人发送清扫指令,实现对地面的清扫;在判断灰尘等量[M<]180 000时,则继续定期获取数据,计算灰尘等量。
另外,不同用户对地面灰尘量的忍受程度不同,用户在使用一段时间后,可根据经验通过移动终端APP调节预定数值,调整对地面灰尘的清扫时机,当灰尘等量[M]大于预定数值时,扫地机器人才会对地面进行清扫。
3.3 其他模块软件设计
移动终端的APP采用Android版本,通过Eclipse和ADT进行开发[15],移动终端APP检测用户的操作事件,用户的操作事件会触发对应的编码指令,编码指令通过WiFi模块发送至主控芯片,主控芯片收到编码指令后对编码指令进行协议转换和数据处理,然后发给ZigBee模块。
ZigBee模块分为协调器和终端节点两个部分。ZigBee模块软件设计[16],具体可以通过对Z?Stack协议栈进行设置和配置,并移植到ZigBee节点电路实现。通过对协调器上的串口、通信方式等进行设置,实现协调器和主控制器之间的串口连接以及协调器与连接设备的通信。程序开始后会对ZigBee节点进行初始化,然后ZigBee节点自动查找协调器,查找到后自动地加入到ZigBee网络中,加入成功后,主控器的控制指令通过串口传送到协调器,协调器再把指令传送到终端节点,最终实现对智能家居设备的控制。
4 结 语
本文设计的应用框架,根据智能窗和智能空调的开启时间,以及开启时的空气质量,计算灰尘等量,虽然计算得到的灰尘等量并不一定能够完全准确反映室内灰尘的数量,但是灰尘等量与室内灰尘的量具备正相关关系,因此能够间接反映室内灰尘的量。当灰尘等量大于用户设定的预定数值时,通过ZigBee通信控制扫地机器人清扫,在用户不主动清扫时,可以实现地面有灰尘时清扫,无灰尘时不清扫,对节能减排具有重大意义。
同时,该系统无需额外添加灰尘传感器,可基于整个智能家居控制系统,通过对主控制器的软件进行设计即可实现,成本较低。
参考文献
[1] 易思亮.浅析智能家居产品的发展状况及趋势[J].美术大观,2018(11):98?99.
[2] 荀艳丽,焦库,张秦菲.基于物联网的智能家居控制系统设计与实现[J].现代电子技术,2018,41(10):74?76.
[3] 汪子翔.家用智能扫地机器人的工作原理探究[J].通讯世界,2019,26(2):283?284.
[4] 李晓燕,汪浪,张舒婷.城市室内灰尘重金属水平、影响因素及健康风险:以贵阳市为例[J].环境科学,2016,37(8):2889?2896.
[5] 张紫辰,董恺琛,张益源,等.基于MEMS技术的智能传感器系统(“智能灰尘”)[J].电子学报,2015,43(10):2095?2109.
[6] 孟晓丽.物联网平台下基于云计算的智能家居系统设计[J].科技通报,2016,32(6):67?71.
[7] 董爱民,许菁.基于物联网公共云平台的远程家庭感知与控制系统[J].现代电子技术,2016,39(11):30?33.
[8] 宰文姣,汪华章.基于步進电动机的智能窗户控制系统设计[J].微特电机,2015,43(6):83?86.
[9] 贺道坤,段向军.用于环境检测的智能窗户装置研究[J].工业安全与环保,2014,40(10):66?67.
[10] 徐泉,王良勇,刘长鑫.工业云应用与技术综述[J].计算机集成制造系统,2018,24(8):1887?1901.
[11] 武志学.云计算虚拟化技术的发展与趋势[J].计算机应用,2017,37(4):915?923.
[12] 邓昀,李朝庆,程小辉.基于物联网的智能家居远程无线监控系统设计[J].计算机应用,2017,37(1):159?165.
[13] 杜海星.基于ARM的嵌入式Bootloader分析与移植[J].微计算机信息,2010,26(29):58?59.
[14] 潘本锋,李莉娜.环境空气质量指数计算方法与分级方案比较[J].中国环境监测,2016,32(1):13?17.
[15] 周宇,尹生强,王冬青,等.基于Eclipse和Android系统的APP开发平台搭建研究[J].青岛大学学报(工程技术版),2016,31(3):49?53.
[16] 陈培英,王承林,胡红林,等.基于ARM及ZigBee的智能家居远程监控系统实现路径[J].现代电子技术,2017,40(19):41?44.