APP下载

一种云智能家居系统的设计

2020-05-06黄开龙刘力铭赵娟

科技创新导报 2020年3期

黄开龙 刘力铭 赵娟

摘   要:随着人们生活水平越来越高,人们对于住房的要求不在局限于简单生活,而是更倾向于有高层次、舒服的家居环境,因此这种需求直接促进了智能家居地发展。本设计是基于 ESP32 设计出一套云智能家居系统。云智能家居系统采用模块化设计,分为智能插座模块、智能灯模块、门窗检测模块和室内环境监测模块。模块之间采用 WiFi Mesh 网络进行通信,WiFi Mesh 网络的根节点通过 MQTT 协议与物联网云平台连接,物联网云平台和手机终端之间采用 HTTP 协议通信。WiFi Mesh 网络、物联网云平台和手机终端的相互协作,共同构造出了云智能家居系统。

关键词:ESP32  WiFi Mesh  MQTT  HTTP  云智能

随着科学技术的不断发展和人们生活水平的不断提高,智能家居已经逐渐从实验室进入到了人们的日常生活中。目前市场上已经出现了许许多多的智能家居产品。现今的智能家居产品都具有一个相同的特点:本地组网使用 Zigbee 技术。Zigbee 技术具有传输速率低和需要通过网关接入互联网的缺点,而新出现的 WiFi Mesh 组网技术正好解决了此问题。

1  系统方案设计

整个系统分为智能灯模块、智能插座模块、门窗检测模块和室内环境检测模块。智能灯模块的功能是负责开关家里的电灯;智能插座模块的功能是定时开关插座;门窗检测模块当检测到门窗强制被打开时,触发家里的报警系统;室内环境检测主要负责采集室内的温度、湿度和空气质量等数据,然后智能提醒居住的用户。云智能家居系统的所有模块通过 WiFi Mesh 网络进行连接,任意两个模块之间都能相互通信。模块将采集到的传感器数据通过 WiFi Mesh 网络发送到 WiFi Mesh 网络的根节点,根节点接收到数据后通过 MQTT 协议发送到物联网云平台,物联网云平台接收到数据后通过 HTTP协议推送到手机终端。用户操作手机终端进行模块控制时,手机终端首先是通过 HTTP 协议的 POST 请求把数据发送到物联网云平台,物联网云平台接收到数据后通过 MQTT 协议发送到 WiFi Mesh 网络的根节点,根节点接收到数据后解析出模块的 WiFi Mesh 网络地址,然后把数据转发到模块去,模块接收到数据后执行相应的动作。

2  硬件设计

整个系统的电路总共分为ESP32 核心电路、继电器电路、DHT11电路和磁控开关电路四部分。其中,智能灯模块和智能插座模块都由 ESP32 核心电路和继电器电路组成;门窗检测模块由 ESP32 核心电路和磁控开关组成;室内环境检测模块由 ESP32 核心电路和 DHT11 电路组成。系统的主要元器件包括 ESP32模组、AMS117-5V、AMS1117-3.3V、继电器、光耦开关、DHT11 和磁控开关。辅组元器件包括电容、电阻、轻触开关、排针、发光二级管和三极管等。电路的总体设计如图 1 所示。

3  软件设计

系统的软件设计部分主要包括主程序、WiFi 初始化函数、WiFi Mesh 初始化函数、MQTT 初始化函数、根节点读任务函数、根节点写任务函数、子节点读任务函数、子节点写任务函数、传感器初始化函数、传感器数据获取函数、传感器设置函数、传感器数据解析函数和传感器数据封装函数。WiFi 初始化函数的功能是完成初始化 ESP32 WiFi;WiFi Mesh 初始化函数的功能是完成 WiFi Mesh 网络的组建;MQTT 初始化函数的功能是初始化 MQTT 协议和连接物联网云平台;根节点读任务的功能是接收子节点发送过来的数据并把 WiFi Mesh 網络地址信息封装进数据,最后通过 MQTT 发送到物联网云平台;根节点写任务的功能是接收物联网平台发送的数据并解析出在 WiFi Mesh 网络的地址,然后把数据转发到对应的设备去;子节点写任务函数的功能是接收根节点发送过来的数据,解析出数据内容后应用到传感器上;子节点读任务函数的功能是采集传感器的数据并分装传感器数据,然后发送到根节点去;传感器初始化函数的具体功能由不同模块的用途决定,在智能灯模块和智能插座模块中,传感器初始化函数用于初始化继电器;在门窗检测模块中,传感器初始化函数用于初始化磁控开关;在室内环境检测模块中,传感器初始化函数用于初始化DHT11。传感器数据获取函数用于获取传感器检测到的数据;传感器设置函数用于设置传感器的状态信息。传感器数据封装函数的功能是把读取到的传感器数据和传感器信息封装成 JSON 格式。传感器数据解析函数的功能是解析 JSON 格式的字符串,获取到需要的数据。

4  系统调试

系统调试总共分为两个部分:一是硬件调试,二是软件调试。硬件调试的过程是是往 ESP32 烧入测试代码,观察程序运行的现象,找出现异常部分的电路并用电烙铁修复电路,重复此步骤知道测试代码正常运行。软件调试的过程是观察各个模块的运行日志,找出异常部分,然后修改程序,重复此步骤,直到程序到达要求。

通过硬件调试和软件调试,云智能家居系统已经能够正常运行了。在实际的测试过程中 WiFi Mesh 网络的稳定,数据传输延时低,传感器采集的数据精度高。

参考文献

[1] 季坚莞,陈淼,陈渭力.基于ESP32的用电器状态监测系统设计[J].工业控制计算机,2019,32(6):147-148.

[2] 陈星星,李亚品,段纳,等.基于ESP32的粮仓远程温湿度监控系统[J].电子技术与软件工程,2018(14):94.

[3] 吕志华.基于单片机的温度控制系统设计[J].电子技术与软件工程,2019(21):231-232.

[4] 李东艳.基于智能监控的防盗时系统研究[J].信息技术与信息化,2019(10):180-181.