基于云平台的智能家居系统设计与实现

2022-12-01 05:28邓自宁王宁
电子制作 2022年20期
关键词:电器设备温湿度控制器

邓自宁,王宁

(北方民族大学,宁夏银川,750021)

0 引言

随着物联网技术的不断发展,生活中各个行业都或多或少地因其发生改变,智能家居作为物联网发展的一个重要领域,满足了人们追求更高生活质量的美好愿景,对人们生活方式的改变有着重要意义。智能家居是通过计算机网络、通信、自动化控制等技术对传统家居进行改造,将家电、开关、照明、门窗、监控和家庭安防等模块连接在一起,方便用户对家居环境进行监测和对家居设备进行管理的控制系统。该文基于阿里云平台,采用STM32F103C8T6作为主控芯片和终端节点的控制芯片,结合温湿度、光照、CO等环境数据传感器和WiFi模块构建了能够进行远程操控的智能家居系统。它的出现无疑会给人提供一个舒适、安全、便利的生活环境。

1 系统总体设计

基于云平台的智能家居系统整体分为环境信息采集模块、数据处理和通信模块、设备控制模块和云平台设计四个部分、系统整体结构见图1。

(1)环境信息采集模块:系统将若干终端节点部署在不同房间中,来采集各个房间内传感器收集的环境信息。通过温湿度传感器、光照传感器获取室内温度和湿度值,通过红外传感器来判断室内是否有人、通过烟雾浓度传感器和CO浓度传感器来检测室内是否发生火灾和煤气泄漏。以上传感器采集到的环境数据信息都将汇总在不同终端节点上,再发送至主控制器进行处理。

(2)数据处理模块和通信模块:主控制器接收到终端节点发送的环境数据后对其中的CO浓度数据和烟雾浓度数据进行分析,如果超出设置的阈值,将会通过SIM模块给用户发送报警信息并让蜂鸣器报警,同时将收到的环境数据组成特定的数据帧格式,驱动WiFi模块使用MQTT报文协议与云平台进行通信。

(3)云平台设计:云平台会将收到的报文进行解析,通过报文中不同的标识符与设备和环境信息一一对应,并将环境数据和电器设备状态显示在云平台界面上,同时会将数据转发至云智能手机APP上,方便用户查看室内信息。用户也可以直接通过手机APP来下发电器设备控制指令。

(4)设备控制模块:用户通过手机APP下发控制指令时,指令会先上传至云平台,云平台再将指令通过WiFi模块下发到主控制器,主控制器将报文解析后发送至不同的终端节点,使终端节点来控制相应的电器设备。

2 系统硬件设计

2.1 主控制器模块

系统采用STM32F103C8T6作为主控制器芯片,该芯片基于32位ARM核心,包含64K字节闪存,3个USART、2个SPI、2个I2C接口等多个通信接口。主控制器通过串口1调试程序、串口2驱动WiFi模块与云平台通信、串口3驱动SIM模块在CO浓度和烟雾浓度超标时给用户发送报警短信,通过 SPI1接口驱动CC1101射频通信模块与终端节点进行通信,以实现环境数据的上传和设备控制指令的下发。主控制器原理图见图2。

2.2 WiFi模块

系统采用ESP8266作为WiFi模块实现主控制器与云平台之间的通信,ESP8266 的芯片是基于无线通信协议的 UART-WiFi透传模块芯片,支持802.11b/g/n的无线标准,并带Station、AP、Station+AP三种可选择的工作模式。主控制通过串口2向WiFi模块发送AT指令,将WiFi模块设置为Station模式,使WiFi模块通过路由器连接云平台服务器,来实现主控制器与云平台的通信功能。ESP8266原理图见图3。

2.3 终端节点

系统采用STM32F103C8T6作为终端节点控制芯片,在节点搭载了温湿度传感器、光照传感器、人体红外传感器、CO传感器和烟雾传感器来收集室内各种环境数据,将收集到的数据通过SPI接口驱动CC1101射频通信模块发送至主控制器。同时在终端节点上还搭载着LED灯,继电器、步进电机等设备来模拟室内电器设备,当终端节点接收到主控制器发来的控制指令时,将指令进行解析后,对相应的设备进行控制。

2.4 传感器和电器设备

系统采用DHT11传感器来收集室内温湿度数据、BH1750来检测室内光照强度值、MQ-7可燃气体传感器和MQ-2烟雾检测传感器分别来检测室内CO浓度值和烟雾浓度值,采用LED灯管来模拟室内灯光、MG90S舵机来模拟电动窗帘、继电器来模拟空调和插座等电器。DHT11原理图见图4,MQ-2原理图见图5。

3 系统软设计

系统软件设计主要包括终端节点的软件设计,主控制器的软件设计和终端界面设计3部分。

3.1 终端节点软件设计

(1)传感器数据采集和设备控制:系统共有四个终端节点,每个终端节点代表不同的房间,不同的终端节点上挂载有不同传感器和电器设备。例如在厨房终端节点挂载有烟雾传感器和CO传感器,在客厅和卧室挂载有温湿度和光照传感器。在对传感器和电器设备进行初化之后系统开始定时发送数据和接收数据。

(2)数据发送:终端节点上电后首先对串口、SPI等通信接口和定时器进行初始化,紧接着对传感器驱动程序和电器设备驱动程序进行初始化。将采集到的环境数据和电器设备状态信息按照特定的协议格式存放在字符数组中,配置定时器中断服务函数每2分钟通过射频模块给主控制器发送存放在数组中的信息。终端节点数据协议格式如图6所示。

(3)数据接收:终端节点不断的等待接收主控制器发送的控制命令,接收到命令后,首先判断控制命令是否是发送给此节点的,如果是再按照数据协议格式解析要对哪些设备进行什么操作。数据解析结束后向主控制器发送“OKX”字符,表示X号节点接收到数据。

第0位表示控制器表示,0表示设备为主控制器,1-3表示设备为终端节点1-3。

第1位表示数据传输方向,0表示主控制器向终端节点发送数据,1表示终端节点向主控制器发送数据。

第2-5位表示温度数据,第2位为“T”,用来让主控制器判断数据是否正确,如果接收到第2位是“T”,将3-5位中的温度数据取出。

第6-9位表示湿度数据,主控制器如果接收到第6位是“H”,将7-9位中的湿度数据取出。

第10-14位表示光照数据,主控制器如果接收到第10位是“G”,将11-14位中的光照数据取出。

第15-24位表示CO浓度和烟雾浓度数据,主控制器如果接收到第15位是“C”,第20位为“M”,将16-19位中的CO浓度数据和21-24位中的烟雾浓度数据取出。

第25-26位表示LED灯的开关状态,在第26位中,0表示LED灯打开,1表示LED灯关闭。

第27-28位表示舵机的状态,在第28位中,0表示正转720°,1表示反转720°。

第29-31位表示继电器的开关状态,在第30-31位中,00表示继电器1和2关闭,11表示继电器1和2打开。

3.2 主控制器软件设计

(1)处理终端节点的数据

主控制器在接收到终端节点发送来的数据后,对数据进行解析,提取出数据中的温湿度、光照等环境信息并存在字符数组后,给发送信息的终端节点回应“OKX”,表示接收到X号终端节点的信息。主控制器对提取出的数据进行分析,如果CO浓度和烟雾浓度超过阈值,则通过串口2发送AT指令驱动SIM模块给用户发送报警信息,同时将蜂鸣器打开发出警报。

(2)云平台通信

主控制器上电后,会对通过AT指令将WiFi模块设置为Station工作模式,并与云平台连接,主控制器每隔3分钟就将终端节点收集到的温湿度等环境数据发送给云平台。当主控制器接收到云平台发来的控制指令时,将指令解析后发送给对应的终端节点。主控制器与云平台通信内容如图7所示。

(3)向终端节点下发控制指令

当主控制器收到云平台发送的控制指令后,将控制指令中的设备名称与终端节点上搭载的设备名称对应,并向匹配的终端节点发送控制指令。

3.3 终端界面设计

本系统采用LittleVGL开发终端界面,LittleVGL是免费的开放源代码图形库,它提供创建嵌入式GUI所需要的一切,具有易于使用的图形元素,和低内存占用,是由C语言实现,可以轻松移植到不局限于嵌入式设备中的其他设备上。

系统共设计有主界面、卧室、厨房、客厅、阳台五个界面,每个界面显示室内不同房间的环境信息和电器设备信息。在主界面设计有房间选择、当前时间显示、温度显示、和模式选择四个模块,再房间选择模块中,用户点击不同的房间会进入不同的房间控制界面。在不同的房间控制界面会显示不同的环境参数和设备状态信息,在客厅显示温湿度信息,可以控制插座、灯光、电视等电器设备;在厨房显示CO浓度、烟雾浓度等环境信息,可以控制灯光和煤气阀门等开关。让用户可以通过LCD触摸屏来查看室内环境数据和设备状态,有效地提高了系统的交互性。系统开机界面如图8所示。

4 系统测试

为了方便用户对环境数据进行查看的同时对电器设备进行操控,系统设计了手机APP控制界面和触摸屏控制界面。其中手机APP控制界面是通过云智能APP进行设计,触摸屏控制界面是通过LittleVGL进行编写,在两种界面上用户都可以或少地因其室内环境数据和电器设备状态,当用户想要操控电器设备时,只需在界面上对开关按钮进行操控,增强了智能家居系统的交互性。触摸屏控制界面如图9所示。

5 结语

本文以STM32F103C8T6控制芯片、WiFi模块和云平台设计了一种基于云平台的智能家居系统,使用户可以在手机APP上查看室内温湿度、光照、CO浓度等实时环境数据,也可以对室内窗帘、灯、插座等电器设备进行远程操控。有效地提高了用户居住环境的舒适性和边界线。经过测试后,表示结果良好,各个功能稳定运行,可靠性强。

猜你喜欢
电器设备温湿度控制器
一种智能化电热处理炉用温湿度传感器的变送器
工商业IC卡控制器改造为物联网控制器实践
文物展柜内环境温湿度的调控与监测
蛋鸡育雏育成舍环境控制技术
温湿度独立控制空调系统在医院建筑中的应用研究
面向国产化的MCU+FPGA通用控制器设计
拖拉机电器设备故障诊断与排除
基于PID控制器和模糊逻辑控制器的D6114柴油机速度控制
高压开关电器设备的常见故障及其处理措施
继电保护状态检修的实用化尝试