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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機上傳溫濕度至Onenet服務器 源程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:293363 發表于 2020-5-18 16:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在論壇上找了這方面的內容,程序也是改了又改,始終上傳不了數據。
今天好不容易搞出來了,把他分享給有需要的朋友,希望能給正在學習這方面的同學一些參考。

調這玩意要細心,今天才發現是自己的上傳報文不對,參考了大神的帖子,讓我茅塞頓開。
https://open.iot.10086.cn/bbs/fo ... d=536&fromuid=23569

廢話不多說了直接上鏈接: 溫濕度上傳Onenet.rar (6.33 MB, 下載次數: 176)


單片機源程序如下:
  1. /************************************************************************************
  2. 名稱:溫濕度檢測
  3. 功能:上傳溫濕度至Onenet服務器
  4. 時間:2020年5月18日15:36:25
  5. 地點:內江職業技術學院
  6. 作者:陳潤源
  7. 申明:未經作者允許,禁止在其他論壇發布,此程序目前只在51黑論壇、電路城發布。
  8. 注明:此程序僅供參考
  9.          89C52RC        ESP8266           DHT11
  10.       P3.0(RX)========>TX
  11.           P3.1(TX)========>RX
  12.           P2.2====================> OUT
  13. ************************************************************************************/
  14. #include "reg52.h"
  15. #include "uart.h"
  16. #include "stdio.h"
  17. #include "lcd.h"
  18. #include "dht11.h"  
  19. #include "string.h"

  20. #define uchar unsigned char
  21. #define uint  unsigned int
  22. uchar Timer0_count,Timer0_miao,RsPoint;
  23. uchar Key_num,Flag_rec,Rec_stop;
  24. uchar xdata RsBuf[100];




  25. void main()
  26. {
  27.         char *str2="AT+CIPSEND=14\r\n";
  28.         uchar i;

  29.         memset(&RsBuf[1],' ',18);
  30.     Uart_init();                 //串口初始化
  31.     lcd_init();                         //1602初始化
  32.         delay(3000);
  33.          SendString("+++");
  34.         delay(500);
  35.         SendString("+++\r\n");         //串口測試
  36.         delay(500);
  37.         Rec_stop=0;
  38.         
  39.         memset(&RsBuf[1],' ',18);
  40.         SendString("AT+CWMODE=1\r\n");
  41.         write_1602com(0x01);
  42.         write_string(0x80,"AT+CWMODE=1     ",0);  //發送AT指令至ESP8826
  43.         while(Rec_stop==0) ;             //未發送成功則等待
  44.         Rec_stop=0;
  45.         delay(2000);

  46.         memset(&RsBuf[1],' ',18);
  47.         SendString("AT+RST\r\n");
  48.         write_1602com(0x01);
  49.     write_string(0x80,"AT+RST          ",0);
  50.         while(Rec_stop==0&&RsBuf[0]!='W');
  51.         Rec_stop=0;
  52.            delay(3000);

  53.         memset(&RsBuf[1],' ',18);
  54.     SendString("ATE0\r\n");
  55.         write_string(0x80,"ATE0            ",0);
  56.         write_string(0xc0,"                ",0);
  57.         while(Rec_stop==0) ;
  58.         Rec_stop=0;
  59.         write_1602dat(RsBuf[i+2]);
  60.          delay(2000);

  61.         memset(&RsBuf[1],' ',18);
  62.         SendString("ATE0\r\n");
  63.         write_1602com(0x01);
  64.         write_string(0x80,"ATE0            ",0);
  65.         while(Rec_stop==0) ;
  66.         Rec_stop=0;
  67.     delay(2000);

  68.         memset(&RsBuf[1],' ',18);
  69.     SendString("AT+CIPMUX=0\r\n");
  70.         write_1602com(0x01);
  71.     write_string(0x80,"AT+CIPMUX=0      ",0);
  72.         while(Rec_stop==0);
  73.         Rec_stop=0;
  74.            delay(100);

  75.         memset(&RsBuf[1],' ',18);
  76.         SendString("AT+CIPSTART=\"TCP\",\"183.xx.40.33\",80\r\n");
  77.         write_1602com(0x01);
  78.     write_string(0x80,"AT+CISTART=TCP   ",0);
  79.         while(Rec_stop==0&&RsBuf[2]=='O');
  80.         Rec_stop=0;
  81.          delay(2000);


  82.         memset(&RsBuf[1],' ',18);
  83.         SendString("AT+CIPMODE=1\r\n");
  84.         write_1602com(0x01);
  85.     write_string(0x80,"AT+CIPMODE=1     ",0);
  86.         while(Rec_stop==0);
  87.         Rec_stop=0;
  88.          delay(2000);

  89.         RsPoint=0;
  90.         memset(&RsBuf[1],' ',18);
  91.     SendString("AT+CIPSEND\r\n");
  92.         write_1602com(0x01);
  93.     write_string(0x80,"AT+CIPSEND       ",0);
  94.         while(RsPoint==0);
  95.            delay(2000);
  96.         SendString("AT+CWJAP=\"SSID\",\"Password\"\r\n");                        
  97.         //在這里填入你的路由器名稱和密碼 分別替代 SSID 和 Password 雙引號和斜杠不能刪除
  98.         delay(5000);        
  99.          write_string(0x80,"Te:   C   Hu:  %",0);
  100.         write_string(0xc0,"QQ:101742xxxx   ",0);
  101.         write_1602com(0x85);
  102.         write_1602dat(0xdf);

  103.         while(1)
  104.         {
  105.                   if(FlagStart==1)                //2秒發送一次數據
  106.                 {
  107.                      TR0=0;
  108.              RH();                           //獲取溫濕度
  109.                           FlagStart = 0;
  110.                          write_1602com(0x83);
  111.                          write_1602dat(temperature%100/10+0x30);  //1602屏幕顯示溫濕度
  112.                          write_1602dat(temperature%100%10+0x30);
  113.                          write_1602com(0x8d);
  114.                          write_1602dat(humidity%100/10+0x30);
  115.                          write_1602dat(humidity%100%10+0x30);
  116.                          SendString( "POST /devices/設備ID/datapoints?type=3 HTTP/1.1\r\napi-key:你的秘鑰\r\nHost:api.heclouds點com\r\n"
  117.                                         "Content-Length:59\r\n\r\n");
  118.                          //設備ID 改成你自己的設備ID   你的秘鑰 改成你的APIkey  
  119.                          SendString("{\"\WD\":\"");   
  120.                  SendASC(temperature%100/10+0x30);          //1
  121.                  SendASC(temperature%10+0x30);                //1
  122.                          SendString("\",\"SD\":\"");
  123.                  SendASC(humidity%100/10+0x30);          //1
  124.                  SendASC(humidity%10+0x30);                //1
  125.                  SendString("\",\"RET\":\"OK\"}\r\n");         
  126.                          TR0=1;
  127.                          Timer0_count=0;
  128.                          Timer0_miao=0;
  129.                 }
  130.          
  131.         }

  132.    
  133. }

  134. //  通訊中斷接收程序   中斷函數無返回值
  135.   void uart_rx(void)  interrupt 4   //放在這里 和放在main()里面是一樣的
  136. {
  137.    
  138.         unsigned char dat;
  139.     if(RI)                         //是否接收中斷
  140.     {
  141.      RI=0;
  142.          dat = SBUF;
  143.          if(SBUF=='\r')                   //檢測指令是否發送并被接收成功
  144.          {
  145.            RsPoint=0;
  146.            Rec_stop=1;
  147.           }
  148.           RsBuf[RsPoint]=SBUF;
  149.           RsPoint++;
  150.         }

  151. }

  152. void Timer0_ISR (void) interrupt 1 using 0
  153. {
  154.   TH0=0x4c;
  155.   TL0=0x00;
  156.   Timer0_count++;
  157.   if(Timer0_count>=20)                                //Timer0_count=20 表示1秒時間到
  158.   {
  159.    Timer0_count=0;
  160.    Timer0_miao++;

  161.    if(Timer0_miao>=2)
  162.    {
  163.     Timer0_miao=0;
  164.         FlagStart=1;
  165.    }
  166.   }
  167. }  
復制代碼

評分

參與人數 2黑幣 +105 收起 理由
gyc7253gyc + 15 贊一個!
admin + 90 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:222650 發表于 2020-5-18 21:31 | 只看該作者
好帖,學習、收藏了
回復

使用道具 舉報

板凳
ID:130231 發表于 2020-5-18 22:55 | 只看該作者
我看了一下 可是代碼不全呀
回復

使用道具 舉報

地板
ID:293363 發表于 2020-5-19 06:23 | 只看該作者
zqy181818 發表于 2020-5-18 22:55
我看了一下 可是代碼不全呀

完整代碼在附件里,這里顯示的只有main.c文件內容哦
回復

使用道具 舉報

5#
ID:493069 發表于 2021-4-30 22:35 | 只看該作者
數據上傳不了
回復

使用道具 舉報

6#
ID:915096 發表于 2021-5-2 21:53 | 只看該作者
數據上傳沒問題,但數據下載(指令)解析可能會有問題,51的資源太少了
回復

使用道具 舉報

7#
ID:293363 發表于 2021-5-3 22:33 | 只看該作者
zbx5 發表于 2021-5-2 21:53
數據上傳沒問題,但數據下載(指令)解析可能會有問題,51的資源太少了

數據解析得自己寫
回復

使用道具 舉報

8#
ID:293363 發表于 2022-11-28 11:17 | 只看該作者
有問題的朋友可以私信我
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜精品三区 | 国产专区视频 | 国产视频一区二区在线观看 | 伊人热久久 | 97视频在线观看免费 | 99久久精品免费看国产免费软件 | 精品亚洲永久免费精品 | av网站免费观看 | 激情久久网 | 亚洲成人av | 国产免费av网 | 视频一区二区中文字幕日韩 | 伊人久久大香线 | 欧美男人亚洲天堂 | 日本在线免费 | 天天爽天天操 | 日本一区二区视频 | 日韩久久久久 | 99视频在线 | 日韩中文在线 | 日韩在线中文字幕 | 欧美激情欧美激情在线五月 | 中文字幕乱码一区二区三区 | 亚洲欧美激情四射 | 精品久久久久一区二区国产 | 亚洲精品一区中文字幕乱码 | 午夜资源| 在线精品亚洲欧美日韩国产 | 狠狠操狠狠操 | 国产在线资源 | 久草新在线 | 久久久国产精品 | 精品国产乱码久久久久久蜜臀 | 亚洲韩国精品 | 一级中国毛片 | 精品国产乱码久久久久久牛牛 | 久久久激情| 精品二区| 久久久久久99| 一区二区视频 | 九色视频网站 |