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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6155|回復: 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.jpg 調試.png

單片機源程序如下:
  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 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經被刪除
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文件內容哦
回復

使用道具 舉報

6#
無效樓層,該帖已經被刪除
7#
無效樓層,該帖已經被刪除
8#
無效樓層,該帖已經被刪除
9#
無效樓層,該帖已經被刪除
ID:493069 發表于 2021-4-30 22:35 | 顯示全部樓層
數據上傳不了
回復

使用道具 舉報

ID:915096 發表于 2021-5-2 21:53 | 顯示全部樓層
數據上傳沒問題,但數據下載(指令)解析可能會有問題,51的資源太少了
回復

使用道具 舉報

ID:293363 發表于 2021-5-3 22:33 | 顯示全部樓層
zbx5 發表于 2021-5-2 21:53
數據上傳沒問題,但數據下載(指令)解析可能會有問題,51的資源太少了

數據解析得自己寫
回復

使用道具 舉報

13#
無效樓層,該帖已經被刪除
14#
無效樓層,該帖已經被刪除
15#
無效樓層,該帖已經被刪除
ID:293363 發表于 2022-11-28 11:17 | 顯示全部樓層
有問題的朋友可以私信我
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本精品视频在线观看 | 欧美亚州综合 | av毛片| 国产亚洲黄色片 | 国产精彩视频 | 精品久久精品 | 国产美女特级嫩嫩嫩bbb片 | 性一爱一乱一交一视频 | 日韩在线电影 | 在线看91| 成人免费影院 | www.操.com| 久久99这里只有精品 | 国产欧美精品区一区二区三区 | 日韩欧美在线播放 | 亚洲精品久久久久久久久久久久久 | 日韩在线播放视频 | 亚洲人在线 | www.久久 | 99久久久国产精品免费消防器 | 国产成人综合在线 | 日韩一区不卡 | 国产中的精品av涩差av | 国产一级淫片a直接免费看 免费a网站 | 午夜视频大全 | 99精品国自产在线观看 | 精品二| 成年人在线观看视频 | 青青久久 | 午夜影视大全 | 久久伊人一区 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 国产精品区二区三区日本 | 亚洲高清成人在线 | 国产精品久久久久久久模特 | 精品国产乱码久久久久久闺蜜 | 日韩一区二区在线视频 | 在线播放亚洲 | 一区二区日本 | 免费观看色| 久久久久国产精品一区二区 |