韩海晓,钟志明,李蔚瑶,李嘉颖
(广东科学技术职业学院 物联网工程学院,广东广州,510640)
随着物联网技术应用的不断深入,以及移动互联网的普及和提速,智能家居行业进入快速发展期。智能客厅是全屋智能家居设计的核心部分。本文设计了一种基于微信小程序控制的智能客厅系统,主要包括设备端、物联网云平台和微信小程序三个部分,运用新大陆教育的物联网全栈智能应用实训系统模拟智能客厅,通过微信小程序控制设备端。设备端通过IOT 数据采集模块和ZigBee 协调器,对智能家居设备进行数据采集,并将采集到的数据通过网关上传到新大陆云平台,最后通过微信小程序进行数据显示和远程控制。系统实现了环境数据的监测、家居的远程控制、安防的预警与设置以及场景的一键开启,满足了人们对智能客厅的基本需求。
系统主要包括设备端、物联网云平台和微信小程序三个部分。通过IOT 数据采集模块和ZigBee 协调器对智能客厅家居设备进行数据采集,以微信小程序为用户交互终端,结合新大陆云平台,指令数据通过调用新大陆API,实现智能客厅家居的远程控制。智能客厅系统的整体设计方案如图1 所示。
图1 智能客厅系统整体设计结构图
系统硬件是以IOT 数据采集模块和ZigBee 协调器为主的环境采集系统。包括照明灯模块、风扇执行器模块、氛围灯模块、微波传感器模块、温湿度采集模块、可燃气体采集模块、数据采集模块、ZigBee 模块和网关模块,硬件设备连接如图2 所示。
图2 硬件设备连接图
(1)照明灯选型
本系统使用86 型明装螺口灯座以及LED 低压灯泡代替智能灯泡。86 型明装螺口灯座以及LED 低压灯泡具有安装便捷、安全度高、适用场景较多等优点。灯泡为暖白光3000K,利于衬托家庭氛围,营造温馨浪漫的氛围。
(2)照明灯模块设置
照明灯通过连接IOT 数据采集模块的DO 接口,IOT 数据采集模块以TCP 协议实现对网关的连接,网关通过TCP协议连接云平台,再到微信小程序的命令传输,实现对照明灯的控制。
(1)风扇执行器选型
风扇执行器代替房间温度调节的智能设备。本系统所使用ARX dc 轴流风扇操作安静、性能高、完全耐热和防潮。此风扇提供经济高效的冷却和通风解决方案,具有陶瓷轴承内部构件、可确保使用寿命。
(2)风扇执行器模块设置
风扇执行器通过连接IOT 数据采集模块的DO 接口,IOT 数据采集模块以TCP 协议实现对网关的连接,网关通过TCP 协议连接云平台,再到手机小程序的命令传输,实现对风扇执行器的控制。
(1)灯条、调光控制器选型
本系统中灯条模拟室内的氛围灯,调光控制器用以改变灯条颜色。24VLED 灯条可显示红、绿、蓝3 种颜色,接头为耐高温软线,灯珠亮度高、发热小、显色好。DAMO4-LAMP4 路调光控制器采用MOS 管形式进行输出不同占空比的周期信号以实现电压的调节,可实现调光、调压、调速功能。本系统选择使用24VLED 灯条以及DAMO4-LAMP4路调光控制器。
(2)氛围灯模块配置
灯条通过连接调光控制器实现灯条颜色的变化,调光控制器以USB 通信连接网关,网关通过TCP 协议连接云平台,再到手机小程序的命令传输,实现对灯条颜色的变化。
(1)微波传感器选型
微波传感器负责探测是否有人,将数据实时传输给网关。微波(雷达)感应开关可穿透部分非金属材质感应,比如玻璃、石膏板、木板、塑料等,低于15cm 的墙体可能会穿透感应。特别适合隐藏安装,不影响外观。本系统选择使用微波(雷达)感应开关。
(2)微波传感器模块设置
微波传感器通过连接IOT 数据采集模块的DI 接口,IOT 数据采集模块以TCP 协议实现对网关的连接,网关通过TCP 协议连接云平台,再到微信小程序数据的传输。
(1)温湿度传感器选型
本系统采用DHT11 温湿度传感器采集温湿度数据。DHT11 温湿度传感器具有封装灵活、抗干扰能力强、测量精度高等优点。它的信号传输距离可用杜邦线延长至20 米以上而仍具有高可靠性。考虑到实用性、可编程和可靠性,本文选择使用 DHT11 数字温湿度传感器。
(2)温度传感器模块设置
DHT11 温度模块每隔3s 采集一次温度数据,并将数据以无线通信的方式传输给网关。
(1)可燃气体传感器选型
本系统采用MQ2 气体传感器采集空气中的气体。MQ2 传感器能感测LPG、烟雾、酒精、甲烷、氢气、丙烷和一氧化碳在空气中的浓度。其检测浓度的范围从200~10000PPM。
(2)可燃气体采集模块设置
MQ2 气体传感器每隔3s 采集一次空气中的各种气体浓度数据,并将数据以无线通信的方式传输给网关。
(1)数据采集模块选型
本系统采用新大陆IOT 网络数据采集模块。IOT 网络数据采集模块拥有8 路DI 开关量输入、8 路DO 开关量输出、3 路AI 模拟量输入、TCP 通信方式,支持9~36V 宽电压输入。
(2)数据采集模块设置
IOT 网络数据采集模块通过TCP 通信的方式将采集的数据实时传输到云平台中。
(1)ZigBee 模块选型
本系统使用新大陆的ZigBee 智能节点盒以及ZigBee协调器,ZigBee 智能节点盒具有2 路串口通信接口:1 路RS485、1 路串口USB,5 路开关量输入,5 路数字量输出。
(2)ZigBee 模块设置
对ZigBee 协调器以及ZigBee 路由进行组网,ZigBee协调器通过USB 通信与网关相连,将ZigBee 路由中采集到的数据传输至网关。
(1)网关选型
NEW-CG网关拥有4路USB接口,以及1路RS485接口。以TCP 通信的方式进行连接。本系统采用NEW-CG 网关。
(2)网关模块设置
网关模块通过TCP 通信或USB 通信的方式,对数据进行接收或发送,再通过TCP 通信协议,将数据发至云平台。
智能客厅通过微信小程序调用新大陆平台的API,通过微信小程序控件的开关控制物联网设备的开关。能够控制单一设备,也能联动控制设备。系统使用Taro 框架开发微信小程序,实现微信小程序控制智能客厅的相关设备。软件设计结构图如图3 所示。
图3 软件设计结构图
(1)前端框架
页面视图层使用WXML 文件来搭建页面的基本视图结构,使用WXSS 文件来控制页面的表现样式。AppService应用逻辑层是MINA 框架的服务中心,通过微信客户端启动异步线程单独加载运行,页面渲染所需的数据、页面交互处理逻辑都在其中实现。MINA 框架中的AppService 使用JavaScript 来编写交互逻辑、网络请求、数据处理。小程序中的各个页面可以通过AppService 实现数据管理、网络通信、生命周期管理和页面路由。如图4所示。
图4 微信小程序设计框架图
(2)客户端UI 设计
微信小程序客户端 UI 主要包括首页、设备控制、环境检测和安防系统四个页面,首页包含当前环境温湿度状态、回家和离家两种场景、设备控制及自定义场景。设备控制包含对主灯、副灯、风扇和氛围灯的控制,打开按钮,对应的设备图标会产生变化,设备也会打开。环境监测能够实时显示室内的温度与湿度,提醒用户控制风扇等设备来改善室内温湿度,保持最佳生活环境。安防系统具有人体红外传感系统与可燃气体探测警示功能,能够为用户提供安全保障,人体红外传感系统当有人员经过会自动提醒用户,“人体”图标变成蓝色;当感应到可燃气体会自动警报,“可燃气体”图标变成红色,用户以保障生命安全,具体效果如图5 所示。
图5 客户端UI 设计
小程序运用了云技术,通过获取新大陆云平台的API,接收和发放数据,从而进行对设备的控制。云开发框架示意图如图6 所示。
图6 云开发框架示意图
借助新大陆物联网全栈实训平台将智能客厅相关物联网设备进行接线,使用新大陆云平台进行配置,让设备连上网络,联通所有智能客厅的设备。借助微信小程序进行开发,设计微信小程序的功能,使其和物联网设备连通,实现微信小程序控制智能客厅的设备。
(1)“智能客厅”的两个场景模式一键控制。回家模式:灯光缓缓依次打开,风扇打开调到最舒适的温度。联动主灯、副灯和氛围灯三种灯光,以及风扇功能模拟回家模式的温馨氛围。离家模式:一键开启“离家模式”,家中灯光全部关闭,以及其他打开的智能设备一并关闭,模拟无忧出门,省时节能。
(2)查看功能。可查看被控制设备的“开关状态”,和温湿度等数据的实时情况。
(3)远程遥控功能。打开小程序,无论多远都可控制智能设备状态。
(4)软启功能。灯光的渐亮渐暗功能,能让眼睛免受灯光骤亮骤暗的刺激,同时还可以延长氛围灯灯的使用寿命。
(5)调光功能。灯光的调亮调暗功能,能让使用者根据需要调节灯光亮度,还能起到节能环保的作用。
(6)亮度记忆。灯光亮度具有记忆功能。
(7)全开全关。轻松实现灯和电器的一键全关和所有灯的一键紧急全开功能。
此外,智能客厅还会根据顾客的需求来设计电动窗帘、背景音响、智能安防等功能,整体具有极强的可塑性。
通过检测当前云平台数据的初始化状态,来检测LED灯的初始化状态,用户通过微信小程序界面的虚拟按钮来控制灯泡等的开关。
先在控制台创建名称如主灯,初始化灯泡的状态默认为关的状态,再将灯的状态传至MQTT 协议中,MQTT 协议可使用简单的0/1 交互,0 为关的状态,1 为开的状态,再将数据传至云平台,云平台通过TCP 协议将数据下发给微信小程序,最终由微信小程序界面中的按钮来控制灯的状态,当用户将关的状态拨到开的状态时,微信小程序会先判断是否连接到云平台,至灯的数据上传后,即刻执行打开灯的命令,开灯;关闭灯泡时,将上传0 字符,执行关灯命令,灭灯。灯泡的远程控制流程如图7 所示。
图7 灯泡的远程控制流程图
温湿度传感器将采集到的数据上传到云平台上,云平台实现与微信小程序的数据交换,将数据上传到微信小程序中显示。在代码中,用temp 函数接收从云平台上获取温度的数据,当打开微信小程序时,微信小程序通过Taro.request 函数连接云平台,若连接成功则通过函数method:GET 查看云平台中的数据信息,并将温度的数据赋值给temp,若连接失败,则函数res 调用失败,返回异常信息。默认其接收数据时间为3s,当时间达到默认值后,将当前在云平台数据上传至微信小程序。
本系统目前具有人体检测功能,微信小程序通过云平台获取人体传感器的数据,控制灯泡的开关。当人体传感器传输的数据为1 时,云平台会对灯泡发送1 字符,使灯泡打开。若人体传感器传输的数据为0 时,则云平台会对灯泡发送0字符,使灯泡关闭。人体传感器联动灯泡流程如图8 所示。
图8 人体传感器联动灯泡流程图
使用微信开发者工具进行测试,调用新大陆物联网的API,在微信小程序的调试器上获取到单个设备的数据,对数据进行显示。如图9 所示。
图9 获取云端数据图
使用微信开发者工具进行测试,当控制设备时,微信小程序的调试器上放回是否成功的信息。如图10 所示。
图10 操作数据返回图
实物测试:当小程序中的按钮打开时,实物中的设备也会对应打开。如图11 所示。
图11 控制灯光亮起
在获取和控制单个设备的基础上,进行联动控制。将主灯、副灯和风扇连接到回家、离家控件上。点击回家可以打开主灯、副灯和风扇。点击离家可以关闭主灯、副灯和风扇。测试两个控件能否使用。
回家模式开启时,微信小程序调试器会显示来自云平台放回的数据,以便检查云平台是否接受到数据,检测设备是否开启。如图12 所示。
图12 “回家”命令数据返回图
离家模式开启时,微信小程序调试器会显示来自云平台放回的数据,以便检查云平台是否接受到数据,检测设备是否全部关闭。如图13 所示。
图13 离家命令数据返回图
实物测试:当点击“回家”场景时,图标会进行变化,现实中的设备也会相应的进行打开。如图14 所示。
图14 联动控制设备
本系统以新大陆教育的物联网全栈智能应用实训系统实现智能客厅,通过新大陆云物联网平台和微信小程序实现了智能家居设备的远程控制,解决了用户难以集中管理智能家居设备的问题,使用户与家居设备能够更便捷地交互。针对传统环境监测系统功耗高、维护成本高、不能实时监测的弊端,以及App 更新迭代速度快、版本多等用户痛点问题,设计通过微信小程序对客厅家居设备进行远程控制,后续可增加智能监控模块、门禁模块等,增加智能客厅系统的应用场景,提高系统的适用性。