欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
STM32遠(yuǎn)程倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)系統(tǒng)的安卓APP與單片機(jī)源碼
[打印本頁(yè)]
作者:
a644057189
時(shí)間:
2018-5-29 15:44
標(biāo)題:
STM32遠(yuǎn)程倉(cāng)儲(chǔ)環(huán)境監(jiān)測(cè)系統(tǒng)的安卓APP與單片機(jī)源碼
使用STM32F103開(kāi)發(fā)板,采集溫濕度,光照,空氣質(zhì)量,火焰,將數(shù)據(jù)通過(guò)USART3發(fā)到ESP8266,ESP8266用STA模式連接路由器將數(shù)據(jù)發(fā)到OneNET云服務(wù)器,手機(jī)APP用HTTP協(xié)議獲取環(huán)境參數(shù)信息。
內(nèi)含安卓app的源碼
0.png
(44.07 KB, 下載次數(shù): 82)
下載附件
2018-5-29 18:47 上傳
stm32單片機(jī)源程序如下:
//單片機(jī)頭文件
#include "stm32f10x.h"
//網(wǎng)絡(luò)協(xié)議層
#include "onenet.h"
//網(wǎng)絡(luò)設(shè)備
#include "esp8266.h"
//硬件驅(qū)動(dòng)
#include "delay.h"
#include "led.h"
#include "beep.h"
#include "dht11.h"
#include "key.h"
#include "flame.h"
#include "adc.h"
#include "light.h"
#include "usart.h"
#include "warning.h"
#include "st_timer3.h"
//C庫(kù)
#include <string.h>
// ADC1 轉(zhuǎn)換的電壓值通過(guò)DMA方式傳到SRAM
extern __IO uint32_t ADC_ConvertedValue[NOFCHANEL];
int16_t temp_max = 40;
int16_t temp_min = 0;
uint16_t humi_max = 90;
uint16_t humi_min = 0;
uint16_t timeCount = 0; //發(fā)送間隔變量
//硬件初始化
void Hardware_Init(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3); //中斷控制器分組設(shè)置
SysTick_Init(); //系統(tǒng)滴答定時(shí)器初始化
TIM3_Config(); //時(shí)鐘TIM3初始化
Usart1_Init(115200); //串口1,打印信息用
Usart3_Init(115200); //串口3,驅(qū)動(dòng)ESP8266用
Led_Init(); //LED初始化
Beep_Init(); //蜂鳴器初始化
Key_Init(); //按鍵初始化
DHT11_Init(); //溫濕度傳感器初始化
ADCx_Init(); //ADC1和ADC2初始化
LIGHT_GPIO_Config(); //光敏電阻GPIO配置
Fire_Init(); //火焰?zhèn)鞲衅鞒跏蓟?br />
UsartPrintf(USART_DEBUG, " Hardware init OK\r\n");
}
int main(void)
{
uint16_t ADC1_Value = 0; //ADC1的轉(zhuǎn)換數(shù)據(jù)
uint16_t ADC2_Value = 0; //ADC2的轉(zhuǎn)換數(shù)據(jù)
float Illuminance; //光照度
float airquality; //空氣質(zhì)量
uint16_t fire = 1; //火焰狀態(tài),1 - 代表無(wú)火焰, 0 - 代表有火焰
unsigned char *dataPtr = NULL;
DHT11_Data_TypeDef DHT11_Data; //結(jié)構(gòu)體:用于存放溫濕度數(shù)據(jù)
Hardware_Init(); //初始化外圍硬件
ESP8266_Init(); //初始化WIFI模塊
while(OneNet_DevLink()) //接入OneNET云平臺(tái)
{
Delay_ms(500);
}
Beep_Set(BEEP_ON); //鳴叫提示接入云平臺(tái)成功
Delay_ms(250);
Beep_Set(BEEP_OFF);
ESP8266_Clear();
while(1)
{
Fire_Check(&fire); //火焰狀態(tài)檢測(cè)
LightStatus_Check(); //光照亮暗檢測(cè)
DHT11_Check(&DHT11_Data, temp_max, temp_min, humi_max, humi_min);//溫濕度越限檢測(cè)
if(timeCount >= 300) //發(fā)送間隔3s
{
ESP8266_Clear();
DHT11_Read_TempAndHumidity(&DHT11_Data);//讀取溫濕度數(shù)據(jù)
UsartPrintf(USART_DEBUG, "--------------監(jiān)測(cè)數(shù)據(jù)--------------\r\n");
UsartPrintf(USART_DEBUG, "溫度:%d ℃\r\n", DHT11_Data.temp_int);
UsartPrintf(USART_DEBUG, "濕度:%d %RH\r\n", DHT11_Data.humi_int);
UsartPrintf(USART_DEBUG, "最高溫度:%d\r\n", temp_max);
UsartPrintf(USART_DEBUG, "最低溫度:%d\r\n", temp_min);
UsartPrintf(USART_DEBUG, "最大濕度:%d\r\n", humi_max);
UsartPrintf(USART_DEBUG, "最小濕度:%d\r\n", humi_min);
//取出ADC1數(shù)據(jù)寄存器的高16位,這個(gè)是ADC2(光敏電阻傳感器)的轉(zhuǎn)換數(shù)據(jù)
ADC2_Value = (ADC_ConvertedValue[0]&0XFFFF0000) >> 16;
//取出ADC1數(shù)據(jù)寄存器的低16位,這個(gè)是ADC1(空氣質(zhì)量傳感器)的轉(zhuǎn)換數(shù)據(jù)
ADC1_Value = (ADC_ConvertedValue[0]&0XFFFF);
UsartPrintf(USART_DEBUG, "Light轉(zhuǎn)換數(shù)值:%d \r\n", ADC2_Value);
UsartPrintf(USART_DEBUG, "MQ135轉(zhuǎn)換數(shù)值:%d \r\n", ADC1_Value);
Light_Check(ADC2_Value, &Illuminance); //光照度檢測(cè)
MQ135_Check(ADC1_Value, &airquality); //空氣質(zhì)量檢測(cè)
//上傳數(shù)據(jù)到云平臺(tái)
OneNet_SendData(&DHT11_Data,light_arr,air_arr,fire,Illuminance,airquality,temp_max,temp_min,humi_max,humi_min);
timeCount = 0;
ESP8266_Clear();
}
dataPtr = ESP8266_GetIPD(0);
if(dataPtr != NULL)
{
OneNet_RevPro(dataPtr); //平臺(tái)返回?cái)?shù)據(jù)檢測(cè)
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
Code.7z
(15.87 MB, 下載次數(shù): 184)
2023-8-2 18:13 上傳
點(diǎn)擊文件名下載附件
STM32+Android
下載積分: 黑幣 -5
作者:
cnc2020
時(shí)間:
2018-5-30 22:02
good job
作者:
lzts88
時(shí)間:
2018-6-2 11:56
謝謝分享
作者:
qqwx.
時(shí)間:
2021-3-14 17:09
有沒(méi)有接線圖
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1