基于云平台的环境远程监测预警系统

发布时间:2025-01-12 11:25

科技环保:远程监测系统监控环境污染,及时预警和处理 #生活知识# #科技生活# #科技改变生活# #科技环保#

一、系统介绍

1、采用STM32F103C8T6单片机作为主控

2、数据采集:DHT11温湿度、噪音、PM2.5

3、数据可通过WiFi模块传输到有人云平台显示

4、可采用云端的小程序可以实查看数据、历史数据查询。

5、可在云平台设置超阈值短信报警,如PM2.5、噪音超阈值进行短信报警

二、传感器模块实物图

STM32F103C8T6单片机
在这里插入图片描述
DHT11温湿度模块
在这里插入图片描述
噪音模块
在这里插入图片描述
PM2.5模块
在这里插入图片描述

三、部分源程序

DHT11温湿度程序
dht11.h

#ifndef __DHT11_H #define __DHT11_H #include "sys.h" #define DHT11_IO GPIOB #define DHT11_PIN GPIO_Pin_14 //IO方向设置 #define DHT11_IO_IN() {DHT11_IO->CRH&=0XF0FFFFFF;DHT11_IO->CRH|=8<<24;} #define DHT11_IO_OUT() {DHT11_IO->CRH&=0XF0FFFFFF;DHT11_IO->CRH|=3<<24;} #defineDHT11_DQ_OUT PBout(14) //数据端口PA0 #defineDHT11_DQ_IN PBin(14) //数据端口PA0 u8 DHT11_Init(void);//初始化DHT11 u8 DHT11_Read_Data(u8 *temp,u8 *humi);//读取温湿度 u8 DHT11_Read_Byte(void);//读出一个字节 u8 DHT11_Read_Bit(void);//读出一个位 u8 DHT11_Check(void);//检测是否存在DHT11 void DHT11_Rst(void);//复位DHT11 #endif

123456789101112131415161718192021

dht11.c

#include "dht11.h" // #include "delay.h" // //复位DHT11 void DHT11_Rst(void) {DHT11_IO_OUT();//SET OUTPUT DHT11_DQ_OUT=0;//拉低DQ delay_ms(20);//拉低至少18ms DHT11_DQ_OUT=1;//DQ=1delay_us(30);//主机拉高20~40us } //等待DHT11的回应 //返回1:未检测到DHT11的存在 //返回0:存在 u8 DHT11_Check(void) {u8 retry=0;DHT11_IO_IN();//SET INPUT while (DHT11_DQ_IN&&retry<100)//DHT11会拉低40~80us{retry++;delay_us(1);};if(retry>=100)return 1;else retry=0; while (!DHT11_DQ_IN&&retry<100)//DHT11拉低后会再次拉高40~80us{retry++;delay_us(1);};if(retry>=100)return 1;return 0; } //从DHT11读取一个位 //返回值:1/0 u8 DHT11_Read_Bit(void) {u8 retry=0;while(DHT11_DQ_IN&&retry<100)//等待变为低电平{retry++;delay_us(1);}retry=0;while(!DHT11_DQ_IN&&retry<100)//等待变高电平{retry++;delay_us(1);}delay_us(40);//等待40usif(DHT11_DQ_IN)return 1;else return 0; } //从DHT11读取一个字节 //返回值:读到的数据 u8 DHT11_Read_Byte(void) { u8 i,dat; dat=0;for (i=0;i<8;i++){dat<<=1; dat|=DHT11_Read_Bit(); } return dat; } //从DHT11读取一次数据 //temp:温度值(范围:0~50°) //humi:湿度值(范围:20%~90%) //返回值:0,正常;1,读取失败 u8 DHT11_Read_Data(u8 *temp,u8 *humi) {u8 buf[5];u8 i;DHT11_Rst();if(DHT11_Check()==0){for(i=0;i<5;i++)//读取40位数据{buf[i]=DHT11_Read_Byte();}if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4]){*humi=buf[0];*temp=buf[2];}}else return 1;return 0; } //初始化DHT11的IO口 DQ 同时检测DHT11的存在 //返回1:不存在 //返回0:存在 u8 DHT11_Init(void) {GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能PB端口时钟GPIO_InitStructure.GPIO_Pin = DHT11_PIN; //PG11端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(DHT11_IO, &GPIO_InitStructure); //初始化IO口GPIO_SetBits(DHT11_IO,DHT11_PIN); //PG11 输出高DHT11_Rst(); //复位DHT11return DHT11_Check();//等待DHT11的回应 }

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110

四、效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如有侵权,请联系删除,喜欢的读者欢迎加V:19976304079交流学习,补充:有人云平台还提供了短信报警、微信报警推送的功能,对于一些物联网项目的预警有很大的帮助。系统还可增加其余传感器进行数据的采集和显示。

网址:基于云平台的环境远程监测预警系统 https://www.yuejiaxmz.com/news/view/697813

相关内容

环境远程监测系统
环保监测预警系统平台
基于AIOT平台的智能环境监测系统研究
环境监测预警系统专业交流论坛
基于STM32的宠物远程投喂和监测系统设计
语境驱动的健康监测和预警系统
宿舍烟雾预警系统(一种基于安消一体化管理平台的无线智能预警系统)
全面解析环境监测管理系统功能:实时监测、预警与数据分析!
基于STM32F103的环境监测系统
监控易环境自动监测监控系统

随便看看