0
点赞
收藏
分享

微信扫一扫

基于STM32的卧室智慧监测系统

90哦吼 2022-02-24 阅读 81

项目下载传送门
一、前言
利用物联网的传感器技术实时采集卧室内环境的空气温湿度、烟雾浓度以及光照强度,传感层将数据进行采集,结合连接阿里云平台通过MQTT协议以数据包的形式发送到阿里云平台物模型数据台,,并可以将数据通过MQTT发布订阅的方式发送到手机端(微信小程序)上。如室内温度异常,立即通过手机对卧室风扇以及门窗进行开关,再通过数据发送到微信小程序提醒使用者。该课程设计是基于物联网传感技术、MQTT通信协议的智能家居系统,采用了 simpleAPI 架构,ESP32的MQTT通信连接手机,阿里云平台以及LinuxQT编程作为数据信息中转,微信小程序作为应用层进行信息交换。

二、系统运行环境
Win 10、Keil uVison 5、Micropython、串口调试助手、技小新工具、Linux ubuntu、QT编程、微信小程序、阿里云。

三、系统相关技术
MQTT是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于受限环境。例如,但不仅限于此:
网络代价昂贵,带宽低、不可靠。
在嵌入设备中运行,处理器和内存资源有限。
该协议的特点有:
使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
对负载内容屏蔽的消息传输。
使用 TCP/IP 提供网络连接。
有三种消息发布服务质量:
小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。
使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

四、云平台通信
阿里云平台相应物联网平台提供设备端SDK、产品ID、设备ID、设备密钥,设备使用所提供的信息与平台建立通信;创建云流转进行互相通信并实现控制:
A设备订阅/ p r o d u c t K e y / a N a m e / u s e r / g e t 主 题 B 设 备 订 阅 / {productKey}/aName/user/get主题 B设备订阅/ productKey/aName/user/getB/{productKey}/bName/user/get主题
A设备如果想要给B设备发消息,只要往/ p r o d u c t K e y / a N a m e / u s e r / u p d a t e 发 送 消 息 消 息 格 式 是 J S O N , 里 面 必 须 包 含 t a r g e t 这 个 字 段 , t a r g e t : b N a m e 云 产 品 流 转 就 将 一 条 消 息 转 发 到 / {productKey}/aName/user/update 发送消息 消息格式是JSON,里面必须包含target这个字段,target:bName 云产品流转就将一条消息转发到/ productKey/aName/user/updateJSONtargettarget:bName/{productKey}/bName/user/get
B设备就可以接收到A设备发送的消息,而且还可以从target这个字段知道是谁发消息给它
系统框架图
阿里云数据
微信小程序展示
历史数据展示
阿里云历史数据库
五、底层硬件STM32代码
Keil 5 代码
六、MQTT通信代码
ESP32(python)代码
七、网关模块软件实现
虚拟机Ubuntu进行QT编程
八、总结
该系统由于需要使用到三类传感器以及蜂鸣器和RC522器件,所以实物连接比较繁琐,需要合理运用MB102面包板以减小实物装卸难度;该系统通过对于所使用的室内的温湿度、烟雾浓度以及火源距离的数据交替检测,系统应安装在较高处,减少人为损坏因素,且较为方便测量高温等危险隐患。
通过实践,我也发现我的很多不足之处,把所学习到的知识融合到一块还不是想象中的那么简单,要学好这门课程还需要更多的努力。 通过实践的学习,使我对整体的电路设计有了一个更全面的了解,锻炼了重全局考虑局部的能力。深刻体会了理论联系实际的重要性,从老师提出设计要求到完成设计报告,不断的完善自己的设计和运用。

举报

相关推荐

0 条评论