基于MQTT协议的智能家居模块化拓展系统

陈亚聪, 冯兴乐, 陈书鹏

集成电路与嵌入式系统 ›› 2024, Vol. 24 ›› Issue (2) : 86-90.

PDF(1198 KB)
PDF(1198 KB)
集成电路与嵌入式系统 ›› 2024, Vol. 24 ›› Issue (2) : 86-90.
研究论文

基于MQTT协议的智能家居模块化拓展系统

作者信息 +

Intelligent home modular expansion system based on MQTT protocol

Author information +
文章历史 +

摘要

为增强智能家居系统的便捷性,不破坏原有智能家居系统的结构便可增加新用户、新终端设备,设计了一种基于MQTT协议的智能家居模块化拓展系统。系统选用MQTT协议统一管理网关和用户,网关选用STM32F103RCT6作为微处理器统一管理终端设备。同时,云平台、微信小程序、网关通信选用MQTT协议实现远程传输,实现应用端微信小程序对家居设备状态可视化展示和控制管理的功能。实验结果表明,增加新用户、新终端设备操作简单,经济高效,为用户节省了大量资金。

Abstract

In order to enhance the convenience of smart home system and not destroy the structure of the original smart home system,new users and new terminal equipment can be added,a modular expansion system of smart home based on MQTT protocol is designed.The system uses MQTT protocol to manage gateway and users in a unified manner,and STM32F103RCT6 as a unified management terminal device for the gateway.At the same time,the cloud platform,WeChat mini program and gateway communication use the MQTT protocol to achieve remote transmission,and realize the function of the application side WeChat mini program for visual display and control management of home equipment status.The experiment results show that adding new users and new terminal equipment are simple,economical and efficient,and saves a lot of money for users.

关键词

MQTT协议 / STM32F103RCT6 / 微信小程序

Key words

MQTT protocol / STM32F103RCT6 / WeChat mini program

本文编辑

薛士然

引用本文

导出引用
陈亚聪 , 冯兴乐 , 陈书鹏. 基于MQTT协议的智能家居模块化拓展系统[J]. 集成电路与嵌入式系统, 2024, 24(2): 86-90
CHEN Yacong , FENG Xingle , CHEN Shupeng. Intelligent home modular expansion system based on MQTT protocol[J]. Integrated Circuits and Embedded Systems, 2024, 24(2): 86-90
中图分类号: TN92 (无线通信)    TP368.1   

0 引言

随着智能家居市场不断扩张,许多传统智能家居系统的问题和缺点也显现出来[1-3]。其一,当智能家居一个庞大的系统需要不断增加用户以及扫地机器人等终端设备时,以往增加用户、终端设备需要更换新的系统,因而在不破坏原有系统的基础上能够便捷地增加终端设备受到家庭和设计者的普遍关注。其二,手机应用端是控制设备和接收数据必不可少的,微信小程序(小程序)是一款无需下载、后台自动加载的应用,具有强大的开发环境、美观的UI界面,即开即用。以往多数系统包含独立APP应用端,但APP的缺点明显,需定期更新APP模型且占用内存大,主流的应用端正逐渐被小程序替代。
本文针对现有问题和需求,提出一种基于MQTT协议的智能家居模块化拓展系统[4]。以小程序作为应用端,采用扩展便捷、安全稳定的MQTT通信协议,基于阿里云平台。以实现小程序、云平台、网关之间的双向通信以及新终端设备和小程序用户模块化拓展,有助于全屋智能、远程安全的智能家居设计。

1 系统框架与方案

系统物理拓扑图如图1所示,用户、云平台、网关处于不同的空间位置,用户端有两种控制模式,本地模式通过有线方式将指令发送给网关,远程模式通过小程序发送控制指令到云平台。云平台主要完成网关层和应用层的指令、设备信息传输,采用MQTT传输协议确保网关层、云平台和小程序之间通信顺畅;网关则是云平台和终端设备的集中数据转换枢纽;终端设备为家居常用电器类设施,最多可扩展20个终端设备。
图1 物理拓扑图

Fig. 1 Physical topology diagram

Full size|PPT slide

本系统由应用层、云平台层、网关层、设备层组成。系统整体框图如图2所示。设备层雨滴、光照检测等传感器数据采集装置进行实时采集,经网关打包封装后,通过MQTT协议上传至云服务器,然后再由云服务器通过MQTT协议下发至远程平台小程序,将设备信息显示在状态栏,监测家居设备运行状态。同时也可利用远程平台小程序将设备控制指令打包封装,通过MQTT协议上传至云服务器,然后再由云服务器通过MQTT协议下发至网关,最后经过网关协议转换后将指令分别下发到各个终端设备,各终端设备做出相应的动作。
图2 智能家居系统框架

Fig. 2 Smart home system framework

Full size|PPT slide

2 系统设计

2.1 设备层

设备层由窗帘、照明等终端设备构成,主要完成网关下发的任务。每个终端设备都拥有独立的电源、最小系统和外设。最小系统由微处理器、晶振电路、复位电路3个模块组成,其中微处理器选用STM32F103RCT6芯片作为主控单元[5-7]
窗帘控制模块通过电机转动带动窗帘的开启和关闭。通过改变PWM信号的占空比调节电机转动速度的快慢,用户可以灵活自如地控制窗帘的开合。
照明模块完成对灯光亮度的控制。模式一:当在小程序或中控屏上按下开灯按钮时,根据当前环境亮度自动调节灯光亮度,当前环境亮度由BH1750光照检测传感器节点采集,采集到光照数据后通过I2C通信方式上传到网关。模式二:通过滑动条手动调节灯光亮度。
门锁模块主要有两种设计方案。模式一,通过上位机发送指令控制电子锁的开关。模式二:通过门磁感应的方式实现电子锁开关。
扩展模块将预留给新终端设备,便于接入。

2.2 网关层

网关是云平台和终端设备的集中数据转换枢纽。
无线通信模块确保微处理器和各终端设备间的数据稳定传输。网关层的微处理器通过无线通信模块下发相应指令到设备层的各个终端模块,同时通过无线通信模块接收终端设备的信息。HC-12是新型的多通道嵌入式无线通信模块,完成微处理器串口数据的无线透传,一对多通信时会出现总是接收到近距离模块的数据而接收不到远距离模块的数据,那么本系统采用分时接收(TDMA)的方式,可以有效解决数据拥挤导致网关接收到数据不完整的问题。
本系统中采用安信可ESP8266_01S作为WiFi模块,用于网关微处理器与云平台之间通信。网关层的微处理器通过WiFi模块上传设备信息到云平台层,同时也可通过WiFi模块接收云平台下发的指令到微处理器。
设备层向网关层传输的通信协议以及通过网关协议转换后的数据格式如表1所列。
表1 网关协议转换表

Table 1 Gateway protocol conversion table

网关收到设备层
状态信息
功能 通过网关协议
转换后格式
FF0108800DD 手动调节窗帘
位置到88%
FF1085003770880000DD
FE1308500DD 手动调整亮度到85%
FE0037700DD 环境亮度
FD210000DD 打开门锁
FC310000DD 预留
表1中,网关处理的终端信息由窗帘、照明、门锁以及预留信息构成,但扫地机器人等终端设备也必不可少。如果在协议转换格式中预留新终端设备所需数据位置,那么在现有的系统增加新的终端设备将很便捷,只需终端设备通过无线通信模块将设备状态信息上传到网关,即可完成新终端设备的增加。

2.3 微信小程序

小程序远程平台可查看家居设备状态和控制家居设备。如图3所示,智能家居小程序由“云连接”和“我的”两个页面组成,“云连接”页面包含连接状态、控制开关、设备状态三部分。连接状态用于显示与云服务器的连接状态,控制开关一栏方便用户调节灯光的亮度、窗帘的开合等;设备状态一栏查看门锁、窗帘位置等状态信息;刷新按钮可重新获取设备状态信息。“我的”页面用于用户授权登录,填写个人信息以及绑定智能家居设备[8]
图3 小程序界面

Fig. 3 Mini program interface

Full size|PPT slide

第2.2节中提到,经过网关协议转换后的数据包FF10 8500 3770 8800 00DD,此数据包将通过WiFi模块发布到云服务器,小程序将从云服务器订阅此数据包,接收到后将数据包分割为单个字符,判断收到的数据包是否完整。若检测到帧头‘F’ ‘F’、帧尾 ‘D’ ‘D’,则表示数据包完整,打印数据格式正确,否则此数据包作废,结束一个数据包的接收与分析。

2.4 MQTT数据通信

本设计中,云平台、网关以及小程序之间采用MQTT通信协议。MQTT是一个基于客户端和服务器的消息发布/订阅传输协议。这种传输方式的通信双方事先并不了解对方的地址信息,MQTT服务器作为中间枢纽负责将数据转发给订阅了同一消息的所有客户端。不仅如此,MQTT服务端还负责管理MQTT 客户端,以确保多客户端之间的通信顺畅,所以MQTT协议已成为IoT通信的标准协议。本系统可方便扩展用户、终端设备以及确保家居数据、个人生活习惯数据安全[9]
云平台、网关以及小程序主要实现设备连接、数据上传与下发。通过MQTT协议搭建云平台、网关以及小程序之间的双向通信,实现小程序端实时查看家居状态信息与控制家居设备[10]

2.4.1 设备连接

设备连接:①为保证网关以及小程序和云平台连接,网关和小程序未接入前首先需要在云服务器端新添加设备,以便获得MQTT协议连接参数,得到与云平台的通信权限。②为保证网关和小程序连接,在云平台开启云产品流转,建立网关和小程序之间消息的发布/订阅。③小程序和网关之间通过MQTT协议以及云产品流转进行通信[11]
如果需要增加新的小程序用户,只需添加设备到所属产品下,生成新的MQTT参数,即可成功添加新用户,充分利用MQTT协议的优点。

2.4.2 数据上传与下发

上传协议数据包:设备状态信息由网关通过MQTT协议上传到云服务器,云服务器再通过MQTT协议下发到小程序,数据帧结构如表2所列。
表2 数据帧结构

Table 2 Data frame structure

帧头 设备信息内容 帧尾
FF 门锁 灯光亮度 环境亮度 窗帘位置 预留 DD
1 085 377 088 0000
表2中,帧头FF、帧尾DD作为数据的标识位,当收到帧头后才对指令内容进行分析,一旦检测到帧尾DD,则表示此数据包分析完成。设备信息内容是所有终端设备状态信息,表2中门锁:1表示门为开启状态,反之0为关闭状态;灯光亮度:085表示将灯光亮度调节为85%;环境亮度:377表示目前环境亮度值;窗帘位置:088表示窗帘处于88%的关闭位置;预留:0000表示预留给新设备数据存放位置。
下发指令数据包:由小程序通过MQTT协议上传到云服务器,云服务器再通过MQTT协议下发到网关。指令数据包如表3所列,一个数据包中包含多个指令,分别控制门锁、窗帘、灯光、预留以及刷新指令[12]
表3 指令数据包

Table 3 Instruction data packets

指令内容 指令数据包 类型 指令数据包含义
01 FF0108800DD 控制指令 手动调整窗帘开合度为88%
11 FF1100000DD 控制指令 开灯(进入自动模式)
12 FF1200000DD 控制指令 关灯
13 FF1308500DD 控制指令 手动调节灯光亮度为85%
21 FF2100000DD 控制指令 打开门锁
31 FF3100000DD 控制指令 预留
AA FFAA0000DD 刷新指令 刷新设备信息

3 系统测试

3.1 增添新用户测试

wxxcx1为智能家居产品下原有小程序用户,wxxcx为智能家居产品下增加的新用户,新用户wxxcx拥有特定的MQTT参数,通过MQTT协议即可与网关设备通信,如图4所示。
图4 增添新用户wxxcx

Fig. 4 Adding new user wxxcx

Full size|PPT slide

3.2 新用户数据上传测试

新用户wxxcx成功连接到云平台后,上传控制指令,以一组数据为例,云平台日志服务界面可查看数据来源和数据内容,所发送的内容为 “data1”:“FF010880DD”,表示小程序下发手动调节窗帘到88%位置指令。

3.3 网关数据接收测试

网关成功连接到云平台后,云平台下发数据到网关,以一组数据为例,云平台日志服务界面可查看数据来源和数据内容,所发送的内容为 “data1”:“FF010880DD”,表示窗帘所处88%的位置[13]。智能家居实物俯视图如图5所示。
图5 网关设备及智能家居实物俯视图

Fig. 5 Top view of gateway devices and smart home physical objects

Full size|PPT slide

4 结语

本文基于MQTT协议设计并实现了一种基于MQTT协议的智能家居模块化拓展系统。主要完成以下工作内容:①提出了一种基于MQTT协议的小程序和家居设备数据交互技术,根据不同的空间位置将整个系统划分为设备层、网关层、云平台层、应用层。②充分利用MQTT发布/订阅优点,可方便地扩展用户和终端设备。③针对传统APP占用内存大、定期需要更新模型的问题,开发出小程序,便于用户在本地或远程控制家居。

参考文献

[1]
彭松. 基于MQTT的物联网安全技术研究与应用[D]. 北京: 北京邮电大学, 2019.
PENG S. Research and Application of Internet of Things Security Technology Based on MQTT[D]. Beijing: Beijing University of Posts and Telecommunications, 2019 (in Chinese).
[2]
陈文艺, 梁宁宁, 杨辉. 基于MQTT的物联网网关双向通信系统设计[J]. 传感器与微系统, 2022, 41(8):100-103.
CHEN W Y, LIANG N N, YANG H. Design of a bidirectional communication system for the Internet of Things gateway based on MQTT[J]. Transducer and Microsystem Technologier, 2022, 41(8):100-103 (in Chinese).
[3]
曹小华, 李泊桓, 徐上尉. 基于MQTT协议的物联网岸电监控系统[J]. 计算机应用与软件, 2023, 40(3):11-16,27.
CAO X H, LI B H, XU SH W. IoT shore power monitoring system based on MQTT protocol[J]. Computer Application and Software, 2023, 40(3):11-16,27 (in Chinese).
[4]
Neil D, Ursula O. A systematic literature review of Smart Home Technology acceptance[J]. Journal of Ambient Intelligence and Smart Environments, 2023, 15(2):115-142.
Research on automated domestic appliances, categorized as Smart Home Technology (SHT), has increased exponentially over the last decade and has taken various guises, from qualitative descriptive investigation to empirically based analysis. Given the unresolved uncertainties surrounding the SHT acceptance literature and concern regarding the relatively low smart home device uptake, there is a need to reappraise the existing literature to delve deeper and search for solutions. Based on the research method PRISMA, a systematic literature review on SHT acceptance was undertaken to evaluate its different models and develop a hypothetical model. Twenty-three papers were selected in the review, and the results indicate that the Technological Acceptance Model was the most applied model when investigating SHT acceptance. Moreover, the most significant variables used to measure SHT acceptance were compatibility and perceived usefulness. The systematic literature review also revealed some significant patterns including the uptake of non-Western research and the use of sales and market share as a metric of SHT acceptance. Future directions on how researchers, smart home developers and governmental agencies can utilize the findings conclude the systematic review.
[5]
何鑫宇. 基于ARM的智能家居监控系统的设计与实现[D]. 南京: 南京邮电大学, 2022.
HE X Y. Design and Implementation of an ARM Based Intelligent Home Monitoring System[D]. Nanjing: Nanjing University of Posts and Telecommunications, 2022 (in Chinese).
[6]
程学农, 李学明. 基于阿里云平台的智能门锁系统[J]. 单片机与嵌入式系统应用, 2020, 20(9):75-78.
CHENG X N, LI X M. Intelligent Door Lock System Based on Alibaba Cloud Platform[J]. Microcontrollers and Embedded Systems, 2020, 20(9):75-78 (in Chinese).
[7]
M K, V P, E S. An Agricultural Irrigation Management System Based on the Internet of Things With MQTT Protocol[J]. IOP Conference Series:Materials Science and Engineering, 2021(1):012118.
[8]
顾新萍. 基于微信小程序的智能家居控制系统设计与实现[D]. 青岛: 青岛大学, 2020.
GU X P. Design and Implementation of a Smart Home Control System Based on WeChat Mini Programs[D]. Qingdao: Qingdao University, 2020 (in Chinese).
[9]
葛天雄. 基于MQTT的通用物联网安全系统框架[D]. 杭州: 浙江大学, 2021.
GE T X. A General Internet of Things Security System Framework Based on MQTT[D]. Hangzhou: Zhejiang University, 2021 (in Chinese).
[10]
郭翠娟, 暴宁, 荣锋. 基于MQTT的物联网平台研究与设计[J]. 计算机工程与设计, 2022, 43(8):2378-2384.
GUO C J, BAO N, RONG F. Research and Design of the Internet of Things Platform Based on MQTT[J]. Computer Engineering and Design, 2022, 43(8):2378-2384 (in Chinese).
[11]
赵星泽. 基于MQTT的物联网云平台设计与实现[D]. 唐山: 华北理工大学, 2019.
ZHAO X Z. Design and Implementation of the Internet of Things Cloud Platform Based on MQTT[D]. Tangshan: North China University of Science and Technology, 2019 (in Chinese).
[12]
孙磊. 基于MQTT协议的物联网消息系统的设计与实现[D]. 南京: 东南大学, 2021.
SUN L. Design and Implementation of an Internet of Things Message System Based on MQTT Protocol[D]. Nanjing: Southeast University, 2021 (in Chinese).
[13]
荣锋, 孟环环. 基于MQTT协议的智能网关设计[J]. 现代电子技术, 2023, 46(2):75-79.
RONG F, MENG H H. Design of Intelligent Gateway Based on MQTT Protocol[J]. Modern Electronic Technology, 2023, 46(2):75-79 (in Chinese).
PDF(1198 KB)

288

Accesses

0

Citation

Detail

段落导航
相关文章

/