基于STM32设计的物联网环境监测系统(华为云IOT)

1. 前言随着物联网技术的快速发展,越来越多的家庭开始关注环境监测和远程控制的需求。为了满足这一需求,设计了一款基于华为云iot的物联网环境监测系统。
该系统实现对家庭环境中的光照强度、温湿度等信息的实时监测,并通过云端实现远程查看和控制家里的电器设备。通过使用esp8266 wi-fi模块,能够将传感器获取的数据通过无线网络传输到云端,实现远程数据传输和控制。
华为云iot物联网云平台作为基础设施,提供了丰富的功能和接口,能够帮助我们轻松构建物联网应用。使用mqtt传输协议与华为云iot平台进行通信,通过调用其提供的接口,能够实时获取传感器数据,并将其显示在上位机界面上。
在该系统中,主要目标是实时监测家庭环境的光照强度、温湿度等信息,并将相关信息和设备状态实时显示在上位机界面上。通过远程控制功能,用户可以在任何地方使用手机或电脑远程控制家里的电器设备,例如灯光、空调等,从而实现智能化的家居控制。
通过该物联网环境监测系统,用户可以随时随地监测家庭环境的状态,了解光照强度、温湿度等信息,从而做出相应的调整。同时,用户可以通过远程控制功能,实现对家里电器设备的远程控制,提高家居的舒适度和便利性。
2. 具体需求该项目设计一个基于华为云iot的物联网环境监测系统,实现对光照强度、温湿度等信息的实时监测,并将相关信息、设备状态信息等实时显示。通过esp8266 wi-fi模块进行联网,实现远程数据传输和远程控制显示。
硬件选项要求如下:
esp8266串口wifi模块:用于与华为云iot平台进行远程通信,将传感器数据上传到云端,并接收云端的控制指令。dht11温度传感器:用于检测本地环境的温度和湿度信息,通过esp8266模块将数据上传到云端。继电器:用于模拟控制家里的电器设备,通过esp8266模块接收云端的控制指令,实现远程控制家用电器的开关。bh1750光敏传感器:用于检测环境的光强度,通过esp8266模块将光照强度数据上传到云端。mq135空气质量传感器:用于检测可燃气体、烟雾浓度等环境参数,实现火警预警功能。oled显示屏:用于本地显示传感器的参数情况,实时展示温度、湿度、光照强度等信息。软件要求如下:
使用华为云iot物联网云平台:通过mqtt传输协议,实现与esp8266模块的通信,接收传感器数据并将其存储在云端。设计上位机界面:通过调用华为云iot平台提供的接口,实时显示光照强度、温湿度等信息,以及设备状态信息。远程控制功能:在上位机界面上实现远程控制家里电器设备的开关,通过华为云iot平台向esp8266模块发送控制指令。
项目要求设计一个物联网环境监测系统,通过esp8266 wi-fi模块实现传感器数据的采集和联网传输,利用华为云iot物联网云平台实现数据存储和远程控制功能。通过上位机界面实时显示光照强度、温湿度等信息,并实现远程控制家用电器设备的开关。同时,使用dht11温度传感器、bh1750光敏传感器、mq135空气质量传感器和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、可以检测周围环境的温度
3、湿度测量范围: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口、5个串口、2个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 创建设备这是我的设备信息:
设备id 61a580fad28ce3028832c2d8_esp8266_iot ​ 设备密钥 1126626497 { device_id: 61a580fad28ce3028832c2d8_esp8266_iot, secret: 1126626497 }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/
下面就得到了mqtt协议设备登录的参数。
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}}]}下面采用mqtt软件上报数据:
到此,设备数据已经上报成功,如果需要增加更多的属性,按照流程继续增加即可。
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 接pc10 dc 接pb7 cs 接pb8 bl 接pb11 ​ 3. dht11 温湿度 vcc--vcc gnd---gnd dat---pa5 ​ 4. led灯-模拟房间的照明灯 vcc--- >5v dat--- >pb12 gnd--- >gnd ​ 5. 智能窗帘-模拟家里的窗帘 vcc--- >5v dat--- >pb13 gnd--- >gnd ​ 6. mq135空气质量检测传感器 vcc--- >5v gnd--- >gnd dat--- >pa1 ​ 7. bh1750环境光检测模块: sda-----pb5 scl-----pb6 gnd---gnd 地 vcc---vcc 电源(3.3v~5.0v) ​ 8. 板载led灯接线 led1---pa8 led2---pd2 ​ 9. 板载按键接线 k0---pa0 k1---pc5 k2---pa155.2 keil工程布局工程get地址: https://download.csdn.net/download/xiaolong1126626497/81993720
5.3 main.c代码mqtt协议连接华为云iot源码工程参考: https://download.csdn.net/download/xiaolong1126626497/81993720


魅族MX7和魅族Pro7或将是全面屏手机,如果真的是这样,那就秒杀小米华为啦!
怎样通过CPLD技术设计CCD相机图像信号模拟器
小米6最新消息:雷军发微博吃火锅排队三小时,遭网友吐槽:雷总,我买小米6可是排了几个月,说好的现货呢
为什么流水线ADC是超高速转换应用的绝佳选择
上上签电子签约迎来7周年,网络效应催生超千万客户网络
基于STM32设计的物联网环境监测系统(华为云IOT)
5G时代:选择Hisan激光大屏,选择先进生产力工具
CMOS传感器有何优势?
Clock Skew , Clock uncertainly 和 Period
KUKA机器人镇流电阻温度传感器导线断线说明
滤波器分类及其特点 滤波器电路的作用
小米6拍照性能如何?索尼大法和三星大法加持双摄手机
快手成2019央视春晚内容分发平台,发挥短视频+直播的优势传播正能量
热电阻测温电路框图和原理图
航智2022年终总结暨2023年目标大会圆满举行
开局2024:碳酸锂库存重回7万吨“背后” 节后反弹,希望几何?
汽车芯片厂商向先进工艺迈进,国内厂商机会来临
当iphone7遇上水钻,当保时捷遇到华为mate9各自走向不同人生
昱辉阳光宣布将出售加拿大一系列运营项目 拟将工作重心转向其他有利可图的市场
foc电机控制需要几个pwm foc控制算法介绍