文章目錄
- 0 簡介
- 1 專案簡介
- 2 開發環境
- 3 火焰傳感器
- 4 連接OneNET云平臺
- 5 演示效果
- 6 最后
0 簡介
Hi,大家好,這里是丹成學長,今天向大家介紹一個 單片機專案
基于云平臺的火災報警器 - stm32 物聯網 單片機 OneNET云平臺
大家可用于 課程設計 或 畢業設計
技術解答、畢設幫助、開題指導
print("Q 746876041")
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口的電平會發生變化,進而提交到云平臺的資料會有變化,

此時郵件會收到報警資訊

同樣手機也會收到報警資訊,

6 最后
技術解答、畢設幫助、開題指導
print("Q 746876041")
獲取更多畢設資料,關注公眾號
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/400373.html
標籤:其他
