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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于stm32的空氣檢測儀器同時通過wifi將數(shù)據(jù)傳輸?shù)給nenet上面 完整代碼與PCB

[復制鏈接]
跳轉到指定樓層
樓主
ID:256683 發(fā)表于 2018-8-17 22:21 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
Altium Designer畫的空氣檢測儀電路原理圖和PCB圖如下:(51hei附件中可下載工程文件)


單片機源程序如下:
  1. #include "stm32f10x.h"
  2. #include "Delay.h"
  3. #include "SYS.h"
  4. #include "USART_1.h"
  5. #include "USART_2.h"
  6. #include "USART_3.h"
  7. #include "BMP280.h"
  8. #include "R8025AC.h"
  9. #include "AM2320.h"
  10. #include "BH1750.h"
  11. #include "ff.h"
  12. #include "IIC.h"
  13. #include "LED.h"
  14. #include "ESP8266.h"
  15. //#include "usb_lib.h"
  16. //#include "hw_config.h"
  17. //#include "usb_pwr.h"         
  18. #include "Timer.h"
  19. #include "KEY.h"
  20. #include "SPI.h"
  21. #include "string.h"
  22. #include "extra_fun.h"

  23. extern u16 PM1_0,PM2_5,PM10;

  24. float Temperature,Humi;
  25. u16 Lux;
  26. s32 Pressure;

  27. void BSP_Init()
  28. {        
  29.         delay_init();
  30.         IIC_Init();
  31.         //uart_init(115200);
  32.         USART2_Init();
  33.         USART3_Init();
  34.         SPI1_Init();
  35.         KEY_Init();
  36.         LED_Init();
  37.         SD_Record_Init();
  38.         R8025AC_Init();
  39.         BMP280_Init();
  40.                
  41.         delay_ms(1000);//等待ESP8266初始化完成
  42.         delay_ms(1000);//等待ESP8266初始化完成
  43.         delay_ms(1000);//等待ESP8266初始化完成
  44.         delay_ms(1000);//等待ESP8266初始化完成
  45.         delay_ms(1000);//等待ESP8266初始化完成
  46.         
  47.         if(ESP8266_Init())
  48.         {
  49.             Set_LED2(1);
  50.                 USART3_BUF_Clear();//清除緩存
  51.                 while(!strstr((const char *)USART3_BUF, "WIFI GOT IP")){}//等待wifi配置
  52.         Set_LED2(0);
  53.         }
  54.         USART3_Write("AT+CIPMODE=1\r\n", 14);//透傳模式
  55.         delay_ms(1000);
  56.     USART3_Write("AT+CIPMUX=0\r\n", 13);//單連接
  57.         delay_ms(1000);
  58.         
  59.         R8025AC_Get_NTPtime();//獲取NTP時間
  60.         
  61.         TIM3_Int_Init(9,7199);
  62.         Set_LED3(1);
  63. }

  64. int main(void)
  65. {
  66.         u8 Flag_BH1750;
  67.         
  68.         BSP_Init();
  69.         
  70.         while(1)
  71.         {
  72.                 if(Time_200ms>200)
  73.                 {
  74.                         Time_200ms=0;
  75.                         
  76.                         if(Flag_BH1750==0)
  77.                         {
  78.                                 Flag_BH1750=1;
  79.                                 
  80.                                 BH1750_Wake();//啟動BH1750
  81.                         }else
  82.                         {
  83.                                 Flag_BH1750=0;
  84.                                 
  85.                                 BH1750_Get(&Lux);//讀取BH1750
  86.                         }
  87.                         
  88.                         BMP280_Get(&Temperature, &Pressure);//讀取BMP280
  89.                 }
  90.                
  91.                 if(Time_1000ms>60000)//SD卡1分鐘記錄一次
  92.                 {
  93.                         Time_1000ms=0;
  94.                         
  95.                         SD_Record(PM1_0, PM2_5, PM10, Temperature, Humi, Pressure, Lux);
  96.                 }
  97.                
  98.                 if(Time_3000ms>3000)//3秒鐘一次
  99.                 {
  100.                         Time_3000ms=0;
  101.                         
  102.                         AM2320_Get(&Humi);//讀取AM2320
  103.                 }
  104.                
  105.                 if(Time_20000ms>20000)
  106.                 {
  107.                         Time_20000ms=0;
  108.                         
  109.                         Set_LED2(1);
  110.                         ESP8266_SendDate(PM1_0, PM2_5, PM10, Temperature, Humi, Pressure, Lux);//上傳數(shù)據(jù)
  111.                         Set_LED2(0);        
  112.                 }
  113.                
  114.                 if(key_flag)//是否有按鍵按下
  115.                 {
  116.                         if(key_flag==1)
  117.                         {
  118.                                 key_flag=0;
  119.                                 R8025AC_Get_NTPtime();//獲取NTP時間
  120.                         }else if(key_flag==2)
  121.                         {
  122.                                 key_flag=0;
  123.                                 USART3_Write("AT+RESTORE\r\n", 12);//恢復出廠設置
  124.                                 while(1)
  125.                                 {
  126.                                         Set_LED1(0);
  127.                                         Set_LED2(0);
  128.                                         Set_LED3(0);
  129. ……………………

  130. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
數(shù)據(jù)手冊.rar (4.56 MB, 下載次數(shù): 51)
電路圖.rar (602.38 KB, 下載次數(shù): 61)
程序.rar (1.06 MB, 下載次數(shù): 71)






評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:256683 發(fā)表于 2018-8-17 22:21 | 只看該作者
STM32F1
回復

使用道具 舉報

板凳
ID:144366 發(fā)表于 2018-10-11 20:11 | 只看該作者
好資料,收藏,謝謝
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品av麻豆的观看方式 | 久久69精品久久久久久国产越南 | 在线āv视频 | 四虎最新视频 | 国产激情精品 | 午夜天堂精品久久久久 | 欧美亚洲另类丝袜综合网动图 | 久久久精品黄色 | 国产精品伦一区二区三级视频 | 久久综合久久综合久久综合 | 国产免费视频 | 中文在线一区二区 | 看亚洲a级一级毛片 | 日韩在线91 | 国产一区精品 | 成人伊人网 | 福利网址| 成人久久网 | 亚洲一区二区三区在线视频 | 久久精品国产99国产精品 | 久久大| 国产精品中文字幕在线 | 亚洲www | 国产一级特黄视频 | 天堂在线中文 | 欧美久久久久久 | 欧美精品在线观看 | 免费福利视频一区二区三区 | 久久精品手机视频 | 国产成人免费视频网站高清观看视频 | 自拍 亚洲 欧美 老师 丝袜 | 亚洲精品片 | 欧美成年人网站 | 一级在线 | 国产黄色小视频在线观看 | 中文字幕日韩欧美一区二区三区 | 亚洲网站在线观看 | 国产精品久久精品 | 日韩精品一区二区在线 | 欧美一区视频在线 | 国产一区二区三区 |