基于STM32+华为云IOT设计的云平台监控系统
时间:2022-07-16 00:00:00
1. 前言
智能系统作为一个新兴产业,是国家重点发展产业之一。自1984年在美国建造真正的智能建筑以来,已有30多年的历史。由于智能家居的安全、高效、方便、智能等独特魅力,智能家居产业于2003年逐渐进入中国家居市场。然而,由于中国起步较晚,智能家居产业的标准在中国家居市场上并不统一。随着全球资源的减少和环境的破坏,节能环保已成为全球科技发展的首要要求,全球智能在节能环保方面的优势使智能家居成为主流,具有非常广阔的市场前景。同时,随着科学技术的进步,传统建筑不能满足现代人对生活舒适的需求,智能系统也不知不觉地渗透到我们的生活中。
智能家居(smart home)以住宅为平台,以嵌入式单片机为核心控制器,实现无 线通信、安全防范和自动控制技术的智能家居环境系统集成,实现智能家居 环境远程安全监控、环境监控和各子系统控制,建立高效智能住宅设施 和家庭安全管理系统、家居智能、安全、方便、舒适,有效提高人们的生活质量。
智能家居不仅提供舒适宜人、高品位的家庭生活空间,实现更智能的家庭安全系统;还将家庭环境从原来的被动静态结构转变为智能工具,提供全方位的信息交互功能。物联网中的无线传感器应用为家庭智能防灾、照明控制和家电网提供了良好的解决方案。并使用它GPRS通信模块可以通知户主家庭中的紧急情况,并进行智能报警。这大大减少了家庭意外灾害的损失。
本次设计结合现代生活的具体需求,设计出一套基于华为云IOT云平台监控系统设计,可远程实时检查家中的光强、温湿度等信息,支持家中的电气设备在云中控制,实现远程控制。
2. 具体需求
通过实时监控光强、温湿度等信息,实时显示相关信息和设备状态信息ESP8266wifi联网模块可实现远程数据传输,利用华为云IOT物联网云平台,MQTT调用华为云传输协议IOT平台提供的接口设计上位机实现远程控制显示。
硬件选项要求:
(1)ESP8266 串口WIFI,用来与OneNet远程通信。
(3)继电器,模拟控制家用电器。
(4)BH1750 光敏传感器检测环境光强度
(5)MQ135 空气质量传感器。可检测可燃气体和烟雾浓度,实现火灾预警。
(6)OLED本地传感器当地传感器的参数,实时显示
3. 硬件选型
3.1 继电器
3.2 ESP8266 WIFI
(1)模块采用串口(LVTTL)与MCU(或其他串口设备)通信,内置TCP/IP协议栈可以实现串口和WIFI之间的转换
(2)模块支持LVTTL串口,兼容3.3V和5V单片机系统
(3)模块支持串口转移WIFI STA、串口转AP和WIFI STA WIFIAP快速构建串口的模式-WIFI数据传输方案
3.3 MQ-135空气质量传感器
MQ135传感器对氨、硫化物、苯蒸汽敏感,对烟雾等有害监测也很理想。该传感器可以检测到各种有害气体,是一种适合各种应用的低成本传感器。
3.4 DHT11温湿度传感器
DHT11数字温湿度传感器是一种含有校准数字信号输出的温湿度复合传感器。采用特殊的数字模块采集技术和温湿度传感技术,确保产品的可靠性和优良的长期稳定性、低成本、相对湿度和温度测量、响应快、抗干扰能力强、信号传输距离长、数字信号输出、精确校准。传感器包括电容式湿度感应元件和NTC温度测量元件,并与高性能8位单片机连接。可用于暖通空调、除湿器、测试检测设备、消费品、汽车、自动控制、数据记录器、气象站、家电、湿度调节器、医疗等相关湿度检测控制。
特点如下:
1.可检测周围环境的湿度
2.可以检测周围环境的温度
湿度测量范围:20%-95%(0度-50度)湿度测量误差:±5%4.温度测量范围:o温度测量误差-50度:±2度
4、工作电压3.3V-5V
5.输出形式的数字输出
3.5 STM32系统板
主控CPU采用STM32F103RCT6,这颗芯片包括48 KB SRAM、256 KB Flash、2个基本定时器,4个通用定时器,2个高级定时器,51个通用定时器IO五串口,两串口DMA控制器、3个SPI、2个I2C、1个USB、1个CAN、3个12位ADC、1个12位DAC、1个SDIO接口,芯片属于大容量型,配置高,整体符合硬件选择设计。目前选择的开发板有一个1.4寸的TFT-LCD可显示当前传感器数据和一些运行状态信息的彩屏。
3.6 OLED显示屏
特点:
OLED是有机发光二极管又称为有机激光显示、OLED显示技术具有自发光的特性、采用非常薄的有机材料涂层、和玻璃基板、当有电流通过时、这些有机材料就会发光、而且OLED显示屏幕可视角大、功耗低、OLED由于同时具备自发光、不需背光源(只是供电不会亮的、驱动程序和接线正确才会点亮)对比度高、厚度薄视角广、反应速度快、可用于挠曲面板、使用温度范围广、结构及制程等优异之特性、先接触的1286屏都是LCD的、需要背光、功耗较高、而OLED的功耗低、更加适合小系统、由于两者发光材料的不同、在不同的环境中、OLED的显示效果好、模块供电可以是3.3v也可以是5V、不需要修改模块电路、OLED屏具有多个控制指令、可以控制oLED的亮度、对比度、
开关升压电路等指令、操作方便、功能丰富、可显示汉字、ASCH、图案等、同时为了方便应用在产品上、预留4个M3固定孔、方便用户固在机壳上。
3.7 母对母杜邦线
3.8 BH1750光敏传感器
4. 登录华为云创建云端产品与设备
4.1 创建产品
华为运官网: https://www.huaweicloud.com/
MQTT (1883) a161a58a78.iot-mqtts.cn-north-4.myhuaweicloud.com
我们设备接入的协议选择MQTT,端口对应是1883
接下来继续创建产品,点击产品页面,点击右上角创建产品:
4.2 创建设备
4.3 产品模型定义
这一步就是设置上报设备的属性,也就是设备的数据类型定义。
4.4 生成MQTT登录密匙
创建完产品、设备之后,接下来就需要知道如何通过MQTT协议登陆华为云服务器。
官方的详细介绍在这里: https://support.huaweicloud.com/devg-iothub/iot_01_2127.html#ZH-CN_TOPIC_0240834853__zh-cn_topic_0251997880_li365284516112
MQTT设备登陆密匙生成地址: https://iot-tool.obs-website.cn-north-4.myhuaweicloud.com/
4.5 使用MQTT客户端软件登录
所有的参数已经得到,接下来采用MQTT客户端登录华为云进行测试。
下面这个软件是自己开发的,为了方便测试MQTT协议登录。
华为云物联网平台的域名是: a161a58a78.iot-mqtts.cn-north-4.myhuaweicloud.com
华为云物联网平台的IP地址是: 121.36.42.100
4.6 上报数据
官方文档: https://support.huaweicloud.com/devg-iothub/iot_01_2127.html#ZH-CN_TOPIC_0240834853__zh-cn_topic_0251997880_li365284516112
在这个文档里介绍了MQTT上报数据的格式。
总结的格式:
//订阅主题: 平台下发消息给设备$oc/devices/61a580fad28ce3028832c2d8_esp8266_iot/sys/messages/down//设备上报数据$oc/devices/61a580fad28ce3028832c2d8_esp8266_iot/sys/properties/report//上报的属性消息 (一次可以上报多个属性,在json里增加就行了){
"services": [{
"service_id": "dht11","properties":{
"DHT11-C":50}}]}
5. STM32设备端代码
STM32连接华为云IOT的工程代码Get: https://download.csdn.net/download/xiaolong1126626497/81993720
串口上会输出当前程序运行的状态信息,可以打开串口调试助手查看。
5.1 LCD汉字取模
LCD上需要显示汉字,使用点阵字模取模软件进行取模。
5.2 硬件连线
1. ESP8266 WIFI接线ATK-ESP8266串口WIFI模块与STM32的串口2相连接。PA2(TX)--RXD 模块接收脚PA3(RX)--TXD 模块发送脚GND---GND 地VCC---VCC 电源(3.3V~5.0V)2. TFT 1.44 寸彩屏接线GND 电源地VCC 接5V或3.3v电源SCL 接PC8(SCL)SDA 接PC9(SDA)RST 接PC10DC 接PB7CS 接PB8BL 接PB113. DHT11 温湿度VCC--VCCGND---GNDDAT---PA5 4. LED灯-模拟房间的照明灯VCC--->5VDAT--->PB12 GND--->GND5. 智能窗帘-模拟家里的窗帘VCC--->5VDAT--->PB13 GND--->GND6. MQ135空气质量检测传感器VCC--->5VGND--->GNDDAT--->PA17. BH1750环境光检测模块:SDA-----PB5SCL-----PB6GND---GND 地VCC---VCC 电源(3.3V~5.0V)8. 板载LED灯接线LED1---PA8LED2---PD29. 板载按键接线K0---PA0 K1---PC5 K2---PA15
5.2 keil工程布局
工程Get地址: https://download.csdn.net/download/xiaolong1126626497/81993720
5.3 main.c代码
MQTT协议连接华为云IOT源码工程参考: https://download.csdn.net/download/xiaolong1126626497/81993720
#include "stm32f10x.h"#include "led.h"#include "delay.h"#include "key.h"#include "usart.h"#include #include "timer.h"#include "esp8266.h"#include "motor.h"#include "oled.h"#include "dht11.h"#include "adc.h"#include #include #include "font.h"#include "mqtt.h"#include "iic.h"#include "bh1750.h"/*(1)ESP8266 串口WIFI,用来与华为云IOT进行远程通信。(2)DHT11 温度传感器,检测本地环境的温度湿度信息。(3)继电器,来模拟控制家里的电器。(4)BH1750 光敏传感器,检测环境光强度(5)MQ135 空气质量传感器。可以检测可燃气体、烟雾浓度,实现火警预警。(6)OLED显示屏显示本�