久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7211|回復: 3
打印 上一主題 下一主題
收起左側

STM32遠程倉儲環境監測系統的安卓APP與單片機源碼

  [復制鏈接]
跳轉到指定樓層
樓主
使用STM32F103開發板,采集溫濕度,光照,空氣質量,火焰,將數據通過USART3發到ESP8266,ESP8266用STA模式連接路由器將數據發到OneNET云服務器,手機APP用HTTP協議獲取環境參數信息。

內含安卓app的源碼


stm32單片機源程序如下:
  1. //單片機頭文件
  2. #include "stm32f10x.h"
  3. //網絡協議層
  4. #include "onenet.h"
  5. //網絡設備
  6. #include "esp8266.h"
  7. //硬件驅動
  8. #include "delay.h"
  9. #include "led.h"
  10. #include "beep.h"
  11. #include "dht11.h"
  12. #include "key.h"
  13. #include "flame.h"
  14. #include "adc.h"
  15. #include "light.h"
  16. #include "usart.h"
  17. #include "warning.h"
  18. #include "st_timer3.h"
  19. //C庫
  20. #include <string.h>


  21. // ADC1 轉換的電壓值通過DMA方式傳到SRAM
  22. extern __IO uint32_t ADC_ConvertedValue[NOFCHANEL];
  23. int16_t temp_max = 40;
  24. int16_t temp_min = 0;
  25. uint16_t humi_max = 90;
  26. uint16_t humi_min = 0;
  27. uint16_t timeCount = 0;                                                                //發送間隔變量


  28. //硬件初始化
  29. void Hardware_Init(void)
  30. {
  31.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);        //中斷控制器分組設置

  32.         SysTick_Init();                                                                        //系統滴答定時器初始化
  33.         TIM3_Config();                                                                        //時鐘TIM3初始化        
  34.         Usart1_Init(115200);                                                        //串口1,打印信息用                                                        
  35.         Usart3_Init(115200);                                                        //串口3,驅動ESP8266用                                       
  36.         
  37.         Led_Init();                                                                                //LED初始化                                                                                
  38.         Beep_Init();                                                                        //蜂鳴器初始化                                                                        
  39.         Key_Init();                                                                                //按鍵初始化                                                                                
  40.         
  41.         DHT11_Init();                                                                        //溫濕度傳感器初始化
  42.         ADCx_Init();                                                                        //ADC1和ADC2初始化
  43.         LIGHT_GPIO_Config();                                                        //光敏電阻GPIO配置
  44.         Fire_Init();                                                                        //火焰傳感器初始化

  45.         UsartPrintf(USART_DEBUG, " Hardware init OK\r\n");
  46. }


  47. int main(void)
  48. {
  49.         uint16_t ADC1_Value = 0;                                                //ADC1的轉換數據
  50.         uint16_t ADC2_Value = 0;                                                //ADC2的轉換數據
  51.         float Illuminance;                                                                //光照度
  52.         float airquality;                                                                //空氣質量   
  53.         uint16_t fire = 1;                                                                //火焰狀態,1 - 代表無火焰, 0 - 代表有火焰
  54.         
  55.         unsigned char *dataPtr = NULL;
  56.         
  57.         DHT11_Data_TypeDef DHT11_Data;                                        //結構體:用于存放溫濕度數據
  58.         
  59.         Hardware_Init();                                                                //初始化外圍硬件        
  60.         ESP8266_Init();                                                                        //初始化WIFI模塊                                
  61.         
  62.         while(OneNet_DevLink())                                                        //接入OneNET云平臺
  63.         {               
  64.                 Delay_ms(500);
  65.         }
  66.         
  67.         Beep_Set(BEEP_ON);                                                        //鳴叫提示接入云平臺成功
  68.         Delay_ms(250);
  69.         Beep_Set(BEEP_OFF);               
  70.         
  71.         ESP8266_Clear();
  72.                
  73.         while(1)
  74.         {
  75.                 Fire_Check(&fire);                                                        //火焰狀態檢測
  76.                 LightStatus_Check();                                                //光照亮暗檢測
  77.                 DHT11_Check(&DHT11_Data, temp_max, temp_min, humi_max, humi_min);//溫濕度越限檢測
  78.                         
  79.                 if(timeCount >= 300)                                                //發送間隔3s
  80.                 {
  81.                         ESP8266_Clear();
  82.                                        
  83.                         DHT11_Read_TempAndHumidity(&DHT11_Data);//讀取溫濕度數據
  84.                         
  85.                         UsartPrintf(USART_DEBUG, "--------------監測數據--------------\r\n");                        
  86.                         UsartPrintf(USART_DEBUG, "溫度:%d ℃\r\n", DHT11_Data.temp_int);
  87.                         UsartPrintf(USART_DEBUG, "濕度:%d %RH\r\n", DHT11_Data.humi_int);
  88.                         UsartPrintf(USART_DEBUG, "最高溫度:%d\r\n", temp_max);
  89.                         UsartPrintf(USART_DEBUG, "最低溫度:%d\r\n", temp_min);
  90.                         UsartPrintf(USART_DEBUG, "最大濕度:%d\r\n", humi_max);
  91.                         UsartPrintf(USART_DEBUG, "最小濕度:%d\r\n", humi_min);
  92.                                        
  93.                         //取出ADC1數據寄存器的高16位,這個是ADC2(光敏電阻傳感器)的轉換數據
  94.                         ADC2_Value = (ADC_ConvertedValue[0]&0XFFFF0000) >> 16;
  95.            
  96.                         //取出ADC1數據寄存器的低16位,這個是ADC1(空氣質量傳感器)的轉換數據
  97.                         ADC1_Value = (ADC_ConvertedValue[0]&0XFFFF);        
  98.                
  99.                         UsartPrintf(USART_DEBUG, "Light轉換數值:%d \r\n", ADC2_Value);
  100.                         UsartPrintf(USART_DEBUG, "MQ135轉換數值:%d \r\n", ADC1_Value);        
  101.             
  102.                         Light_Check(ADC2_Value, &Illuminance);        //光照度檢測        
  103.                         MQ135_Check(ADC1_Value, &airquality);        //空氣質量檢測
  104.                         
  105.                         //上傳數據到云平臺
  106.                         OneNet_SendData(&DHT11_Data,light_arr,air_arr,fire,Illuminance,airquality,temp_max,temp_min,humi_max,humi_min);
  107.                         
  108.                         timeCount = 0;
  109.                         ESP8266_Clear();
  110.                 }

  111.                 dataPtr = ESP8266_GetIPD(0);
  112.                 if(dataPtr != NULL)
  113.                 {
  114.                         OneNet_RevPro(dataPtr);                                        //平臺返回數據檢測
  115.                 }
  116.         }
  117. }
復制代碼

所有資料51hei提供下載:
Code.7z (15.87 MB, 下載次數: 184)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏11 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發
ID:68875 發表于 2018-5-30 22:02 | 只看該作者
good job
回復

使用道具 舉報

板凳
ID:341045 發表于 2018-6-2 11:56 | 只看該作者
謝謝分享  
回復

使用道具 舉報

地板
ID:855481 發表于 2021-3-14 17:09 | 只看該作者
有沒有接線圖
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品国产精品国产偷麻豆 | 日韩精品av一区二区三区 | 国产精品美女久久久免费 | 亚洲国产精品视频一区 | 国产日韩欧美一区二区 | 精品久久久久久国产 | 国产成人久久精品一区二区三区 | 国产偷录叫床高潮录音 | 丁香六月伊人 | 91精品国产综合久久久久蜜臀 | 久久久久久国 | 成年人免费网站 | 日本视频一区二区 | 精品免费国产视频 | 欧美高清性xxxxhdvideosex | 欧美自拍第一页 | 国产精品免费一区二区 | 国产中文| 色综合网站| 91嫩草精品 | 国产日韩欧美在线观看 | 玖玖视频免费 | 国产三区精品 | 欧美888| 亚洲成人黄色 | 欧美精品在线免费观看 | 亚洲精品一区二区二区 | 四虎影院一区二区 | 欧美日韩在线播放 | 久久久久久网 | av一区二区在线观看 | 成人亚洲性情网站www在线观看 | 97av视频在线 | 亚洲天堂久久 | 久久精品无码一区二区三区 | 日韩福利片 | 岛国毛片在线观看 | 久草视频观看 | 亚洲最大成人综合 | 日韩中文字幕高清 | aa级毛片毛片免费观看久 |