文章目录
- 0 简介
- 1 项目简介
- 2 开发环境
- 3 火焰传感器
- 4 连接OneNET云平台
- 5 演示效果
- 6 最后
0 简介
Hi,大家好,这里是丹成学长,今天向大家介绍一个 单片机项目
基于云平台的火灾报警器 – stm32 物联网 单片机 OneNET云平台
大家可用于 课程设计 或 毕业设计
单片机-嵌入式毕设选题大全及项目分享:
https://blog.csdn.net/m0_71572576/article/details/125409052
1 项目简介
这个项目项目借用Keil uVision5单片机C语言开发系统编写,通过J-Link驱动下载HEX程序,烧录到STM32F407开发板中运行。
实现火焰监测、将获取的数据在OLED屏上显示、再利用WIFI模块连接热点将数据传输到onenet云平台,通过串口中断实现云平台或手机无线控制功能。
2 开发环境
开发环境
- 软件环境:window
- 硬件环境:STM32F407
开发工具
- Keil uVision5、字模PCtoLCD2002、串口调试stc-isp-15xx
使用模块
- 火焰传感器
- wifi模块ESP8266
- OLED屏
3 火焰传感器
传感器模块在环境火焰光谱或者光源达不到设定阈值时,DO 口输出低电平,当外界环境火焰光谱或者光源超过设定阈值时,模块 DO口输出高电平
引脚说明(这个传感器有三个引脚的也有两个引脚的)我这里介绍三个引脚的
stm32接收火焰传感器数据,代码实现
#include "stm32f10x.h"
#define GPIO_FIRE_RCC RCC_APB2Periph_GPIOA
#define GPIO_FIRE_PORT GPIOA//选择GPIOA寄存器
#define GPIO_FIRE_PIN GPIO_Pin_1 //引脚1
void FIRE_CONFIG(void );
fire.h
#include "fire.h"
#include "stm32f10x.h"
void FIRE_CONFIG(void)
{
GPIO_InitTypeDef GPIO_FIRE;
/*配置时钟*/
//RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
RCC_APB2PeriphClockCmd(GPIO_FIRE_RCC,ENABLE);
GPIO_FIRE.GPIO_Pin = GPIO_FIRE_PIN;
GPIO_FIRE.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入模式
/*配置GPIO 输入*/
//void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);
GPIO_Init(GPIO_FIRE_PORT,&GPIO_FIRE);
}
main.c
#include "stm32f10x.h"
#include "fire.h"
#include "beep.h"
//毫秒级的延时
void delay_ms(u16 time){
u16 i=0;
while(time--){
i=12000; //自己定义
while(i--) ;
}
}
int main(void)
{
/*初始化火焰传感器*/
FIRE_CONFIG();
/*初始化蜂鸣器感器*/
BEEP_CONFIG();
GPIO_ResetBits(GPIO_BEEP_PORT,GPIO_BEEP_PIN);//一上电蜂鸣器不响
//delay_ms(2000);
while(1){
/*如果检测到低电平则蜂鸣器报警*/
//uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
if(GPIO_ReadInputDataBit(GPIO_FIRE_PORT,GPIO_FIRE_PIN)){
//void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
GPIO_ResetBits(GPIO_BEEP_PORT,GPIO_BEEP_PIN);//否则就报警
}else{
//void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
GPIO_SetBits(GPIO_BEEP_PORT,GPIO_BEEP_PIN);//没有检测到低电平蜂鸣器不响
}
}
return 0;
}
4 连接OneNET云平台
软件使用基于OneNET_Demo_M6311_EDP_SHT20的官方Demo进行修改。
禁用M6311模块而使用ESP8266模块。
上传数据时添加报警数据流。
添加触发器设置邮件通知功能。
添加在线APP,该APP可以查看当前的温湿度和最近的温湿度曲线,还有最近的报警曲线。
5 演示效果
当我们模拟火苗时,该IO口的电平会发生变化,进而提交到云平台的数据会有变化。
此时邮件会收到报警信息
同样手机也会收到报警信息。
单片机-嵌入式毕设选题大全及项目分享:
https://blog.csdn.net/m0_71572576/article/details/125409052
6 最后
建设背景 目前全国有监管场所5500多个,监狱及监狱医院680多个。以现代信息技术为支撑,以监管场所信息化促进监管场所管理的现代化,促进监管场所整体工作的改革发展,建立健全的监管场所管理信息数据库,加快推进监管场所业务应用系统的全方位建设,构建结构完整、功能齐…