功能介绍:采用stm32单片机作为控制MCU,采用MQ4传感器采集可燃气体浓度,采用DHT11传感器采集温湿度,采用蜂鸣器进行报警提醒,采用WiFi模块(esp8266)将数据上传onenet云平台,程序有中文注释,新手容易看懂,文末有资料分享:
下面是实物演示视频和相关实物图片
57-基于stm32单片机可燃气体浓度温湿度检测数据上传云平台(程序+原理图+元器件清单全套资料)


下面是程序部分展示(程序有中文注释,新手容易看懂)
程序部分展示://硬件初始化void Hardware_Init(void){NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级delay_init(); //延时函数初始化Usart1_Init(115200); //串口1初始化为115200Usart2_Init(115200); //串口2,驱动ESP8266用LED_Init(); //LED初始化}void Net_Init(){ESP8266_Init(); //初始化ESP8266while(OneNet_DevLink()) //接入OneNETdelay_ms(500);LED = 0; //入网成功}int main(void){unsigned char *dataPtr = NULL;unsigned short timeCount = 30; //发送间隔变量u32 sgp30_dat;LED_Init();BEEP_Init();Q1=BEEP=IN1=IN2=1;Hardware_Init(); //初始化外围硬件Net_Init(); //网络初始化delay_ms(100);OLED_Init();OLED_ColorTurn(0);OLED_DisplayTurn(0);OLED_ShowString(0,0," TEMP:",16); OLED_ShowString(70,0,"C",16);OLED_ShowString(110,0,"%",16);OLED_ShowString(0,32," MQ4:",16);OLED_ShowNum(50,32,000,3,16); OLED_ShowString(80,32,"PPM",16);OLED_Refresh();KEY_Init();DHT11_Init();Adc_Init();while(1){delay_ms(10);timeCount ++;// printf("\r\n***************************** 串口测试 *****************************\r\n");if(timeCount >= 30) //发送间隔{OneNet_SendData(); //发送数据timeCount = 0;ESP8266_Clear();}dataPtr = ESP8266_GetIPD(0);if(dataPtr != NULL){OneNet_RevPro(dataPtr);}
程序打开方法:采用keil5打开,文件中有软件安装包

下面是原理图,采用【AD】altium designer打开,文件中有安装包


下面是资料包里面包含的相关文件展示
本文介绍了使用STM32单片机配合MQ4和DHT11传感器进行可燃气体和温湿度检测,通过ESP8266WiFi模块将数据上传至OneNET云平台的项目。程序附带中文注释,适合新手学习,还提供了实物演示视频、原理图及全套资料下载链接。
3588

被折叠的 条评论
为什么被折叠?



