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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 28109|回復: 63
收起左側

單片機通過ESP8266將溫度數據上傳到OneNET平臺

  [復制鏈接]
ID:545795 發表于 2019-8-8 17:06 | 顯示全部樓層 |閱讀模式
本帖內容為82C52單片機通過wifi模塊(ESP8266)溫度傳感器(DS18B20)的溫度數據通過HTTP協議上傳到OneNET云平臺。
所需的硬件設備:
單片機一塊;
ESP8266模塊一個;
DS18B20一個。
軟件:
需要在OneNET平臺注冊一個賬號,并建立相關產品設備
如圖所示:
51hei截圖20190808165552.png

51hei圖片20190808165734.png

51hei截圖20190808165914.png

部分代碼如下:
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit DQ=P2^4;
sbit k1=P1^0;
uchar aa[1]="";
uint i,temp;
void delay(uint i)                //延時5us
{
        do
        {
                _nop_();             
                _nop_();
                _nop_();
                i--;
        }
        while(i);       
}
void delay1(uint z)                 //延時1ms
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=110;y>0;y--);
}

void sendChar(uchar a)                                 //單片機發送一個字節
{
        SBUF = a;
        while(TI==0);
        TI=0;       
}

void sendString(uchar *s)                        //發送一個字符串
{
        while(*s!='\0')
        {
                sendChar(*s);
                s++;
        }
               
}
void init()
{
        /*串口中斷定時器初始化*/
        TMOD=0x20;                                                        //定時器1工作在方式2  
        TH1=0xfd;                                                        //波特率為9600,精振為11.0592MHz
        TL1=0xfd;
        REN=1;                                                                //啟動串行口接收數據
        SM0=0;                                                                //串口工作在方式1
        SM1=1;                                                                //串行口工作方式選擇
        EA=1;                                                                //打開總中斷
        TR1=1;                                                                //打開定時器中斷
        /*esp8266初始化*/
        delay1(1000);
           sendString("AT+CWMODE=3\r\n");                //設置WIFI應用模式
        delay1(1000);                                                //設置WIFI應用模式
        sendString("AT+RST\r\n");                        //重置WIFI模塊
        delay1(1000);
        sendString("AT+CIFSR\r\n");                        //查詢本地IP
        delay1(1000);
        sendString("AT+CWJAP=\"123456\",\"wds123456\"\r\n");//連接無線路由器   //需要修改成你的熱點名稱和密碼
        delay1(5000);
}
void chuansu()                                                         //單片機通過8266給OneNET傳送數據
{
        sendString("AT+CIPSTART=\"TCP\",\"183.230.40.33\",80\r\n");//和服務器建立TCP連接
        delay1(1000);
        sendString("AT+CIPMODE=1\r\n");          //進入透明傳輸模式
        delay1(1000);
        sendString("AT+CIPSEND\r\n");                 //開始傳輸
        delay1(1000);
        sendString("POST /devices/527602572/datapoints?type=3 HTTP/1.1\r\n");  //需要修改成你自己的id
        delay1(1000);
        sendString("api-key:sggrqbMr4YanhJ2YyjP6E=EwWd4=\r\n");                 //需要修改成你的api-key
        delay1(1000);
        sendString("Host:api.heclouds.com\r\n");  
        delay1(1000);
        sendString("Content-Length:11\r\n");
        delay1(1000);
        sendString("\r\n");
        delay1(5000);
        sendString("{\"temp\":");                          
        delay1(1000);
        sendString(aa);                            //aa為溫度數據
        delay1(1000);
        sendString("}");
        delay1(1000);
        sendString("\r\n");
        delay1(1000);               
        ES=1;                                          //開串口中斷
} 將溫度上傳到OneNET.zip (29.01 KB, 下載次數: 743)

(有不懂或者不完善的地方歡迎大家評論)

評分

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

查看全部評分

回復

使用道具 舉報

ID:512761 發表于 2020-1-4 18:28 | 顯示全部樓層
謝謝分享
回復

使用道具 舉報

ID:314651 發表于 2020-1-6 17:11 | 顯示全部樓層
sendString("AT+CIPSTART=\"TCP\",\"183.230.40.33\",80\r\n");//和服務器建立TCP連接
這段代碼怎么修改?還是所有的都一樣?
回復

使用道具 舉報

ID:521432 發表于 2020-3-18 12:44 | 顯示全部樓層
花少廣 發表于 2020-1-6 17:11
sendString("AT+CIPSTART=\"TCP\",\"183.230.40.33\",80\r\n");//和服務器建立TCP連接
這段代碼怎么修改 ...

不需要改,183.230.40.33是中移onenet重慶總部地址
回復

使用道具 舉報

ID:582615 發表于 2020-3-19 11:34 來自手機 | 顯示全部樓層
謝大佬分享
回復

使用道具 舉報

ID:58925 發表于 2020-3-19 16:25 | 顯示全部樓層
很好,支持樓主
回復

使用道具 舉報

ID:704752 發表于 2020-3-21 14:58 | 顯示全部樓層
樓主你好!想請問一下可以用oneNET來顯示單片機發送的報警信號嗎?程序也是和這個差不多嗎
回復

使用道具 舉報

ID:582615 發表于 2020-3-22 07:47 來自手機 | 顯示全部樓層
大佬,我把我手機熱點改成了123456,密碼wds123456。key和設備id改成了自己的onenet,然后發現連接不上WiFi模塊連接不上熱點
回復

使用道具 舉報

ID:582615 發表于 2020-3-22 08:18 來自手機 | 顯示全部樓層
大佬,硬件部分怎么連的呢?
回復

使用道具 舉報

ID:540642 發表于 2020-3-26 15:00 | 顯示全部樓層
大佬,有問題請教你,可以留個郵箱嗎
回復

使用道具 舉報

ID:326528 發表于 2020-3-26 17:46 | 顯示全部樓層
收藏了 感謝大佬
回復

使用道具 舉報

ID:563347 發表于 2020-3-27 21:13 | 顯示全部樓層
sendString("POST /devices/527602572/datapoints?type=3 HTTP/1.1\r\n");  //需要修改成你自己的id         delay1(1000);          sendString("api-key:sggrqbMr4YanhJ2YyjP6E=EwWd4=\r\n");                 //需要修改成你的api-key
回復

使用道具 舉報

ID:563347 發表于 2020-3-27 21:13 | 顯示全部樓層
這里只需要改數字跟IDkey?還是要改黑色字體的?
回復

使用道具 舉報

ID:563347 發表于 2020-3-27 21:14 | 顯示全部樓層
cbay 發表于 2020-3-22 08:18
大佬,硬件部分怎么連的呢?

P2.4連接溫感器的io口,k1是按鍵,按鍵另一端接地
回復

使用道具 舉報

ID:347588 發表于 2020-3-31 20:14 | 顯示全部樓層
您好,為什么conect-length要分成幾段發送呢
回復

使用道具 舉報

ID:680535 發表于 2020-4-13 10:26 | 顯示全部樓層
LBJ9999 發表于 2020-3-27 21:13
這里只需要改數字跟IDkey?還是要改黑色字體的?

產品名稱改成你自己的產品名稱
回復

使用道具 舉報

ID:445280 發表于 2020-4-13 14:06 | 顯示全部樓層
樓主 52是單純接了8266的兩個txd和人rxd嗎 再接上高低電平
回復

使用道具 舉報

ID:730979 發表于 2020-4-16 22:46 | 顯示全部樓層
WIFI CONNECTED
WIFI GOT IP
AT+CIPMUX=0busy p...

OK
AT+CIPSTART="TCP","183.230.40.33",80AT+CIPMODE=1busy p...
AT+CIPSENDbusy p...

ERROR
CLOSED
用了樓主的程序,不知為何接不上服務器,大四狗答辯在即,著實著急,謝謝&#128591;
回復

使用道具 舉報

ID:730979 發表于 2020-4-16 23:36 | 顯示全部樓層
將tcp連接延時改為5000之后,串口返回這樣子了&#128552;
WIFI CONNECTED
WIFI GOT IP
AT+CIPMUX=0busy p...

OK
AT+CIPSTART="TCP","183.230.40.33",80
ERROR
CLOSED
AT+CIPMODE=1
OK
AT+CIPSEND
ERROR
回復

使用道具 舉報

ID:715360 發表于 2020-4-17 12:24 | 顯示全部樓層
cbay 發表于 2020-3-22 07:47
大佬,我把我手機熱點改成了123456,密碼wds123456。key和設備id改成了自己的onenet,然后發現連接不上WiFi ...

你的現在可以了嗎
回復

使用道具 舉報

ID:715360 發表于 2020-4-17 12:24 | 顯示全部樓層
連不上熱點的原因是什么呢
回復

使用道具 舉報

ID:582615 發表于 2020-4-21 10:19 來自手機 | 顯示全部樓層
wanwancui 發表于 2020-4-17 12:24
連不上熱點的原因是什么呢

可能是WiFi模塊的波特率與單片機不一樣
回復

使用道具 舉報

ID:582615 發表于 2020-4-21 10:20 來自手機 | 顯示全部樓層
wanwancui 發表于 2020-4-17 12:24
你的現在可以了嗎

可以了,是因為WiFi模塊的波特率與單片機的波特率不一樣導致的
回復

使用道具 舉報

ID:582615 發表于 2020-4-21 10:21 來自手機 | 顯示全部樓層
大佬,如果是上傳三個數據,怎么寫呢
回復

使用道具 舉報

ID:734207 發表于 2020-4-21 11:10 來自手機 | 顯示全部樓層
718 發表于 2020-4-16 23:36
將tcp連接延時改為5000之后,串口返回這樣子了&#128552;
WIFI CONNECTED
WIFI GOT IP

我覺得你這個延時函數有點問題
回復

使用道具 舉報

ID:734207 發表于 2020-4-21 11:37 來自手機 | 顯示全部樓層
你這很有創意啊
回復

使用道具 舉報

ID:680535 發表于 2020-4-23 12:07 | 顯示全部樓層
ESP8266默認的波特率為115200,如果直接接入單片機,esp是接收不到單片機發送的指令的,要先把esp8266接入電腦用串口調試助手發送指令AT+URAT=9600,8,1,0,0把波特率設置為9600,這時下次esp8266下次上電還能保持9600的波特率才能接收到單片機的指令
回復

使用道具 舉報

ID:450211 發表于 2020-4-24 02:34 | 顯示全部樓層
可以用onenet做一個手機app顯示這些數據嗎
回復

使用道具 舉報

ID:314651 發表于 2020-4-24 20:50 | 顯示全部樓層
有沒有對應的硬件連接原理圖?ESP8266就只連VCC  GND  RX  TX 嗎?
回復

使用道具 舉報

ID:79874 發表于 2020-4-28 07:35 來自手機 | 顯示全部樓層
ESP8266需要燒寫什么嘛
回復

使用道具 舉報

ID:691498 發表于 2020-4-28 12:50 | 顯示全部樓層
大佬,有沒有8266連接阿里云的代碼呀??
回復

使用道具 舉報

ID:739177 發表于 2020-4-29 21:00 | 顯示全部樓層
你好,請問mqtt協議怎么寫?你這個是http協議的
回復

使用道具 舉報

ID:665326 發表于 2020-5-1 16:00 | 顯示全部樓層
AT+CIPSEND


ERROR

發送AT+CIPSEND 出現錯誤是什么問題呢,我用單片機與esp8266通信到這一步出錯,后面都報錯,用usb轉ttl連esp8266用串口調試助手也是到這一步出錯,前面全是ok
回復

使用道具 舉報

ID:665326 發表于 2020-5-1 18:56 | 顯示全部樓層
加了延時就解決了AT+CIPSEND的問題 在后一步開始傳輸id和api——key又出問題了 一直解決不了
HTTP/1.1 200 OK
Date: Fri, 01 May 2020 10:52:47 GMT
Content-Type: application/json
Content-Length: 61
Connection: keep-alive
Server: Apache-Coyote/1.1
Pragma: no-cache

{"errno":6,"error":"invalid parameter: error parameter::錕?}HTTP/1.1 400 Bad Request
Server: nginx
Date: Fri, 01 May 2020 10:52:47 GMT
Content-Type: text/html
Content-Length: 166
Connection: close

<html>
<head><title>400 Bad Request</title></head>
<body bgcolor="white">
<center><h1>400 Bad Request</h1></center>
回復

使用道具 舉報

ID:746850 發表于 2020-5-8 13:41 | 顯示全部樓層
好的。。
回復

使用道具 舉報

ID:545795 發表于 2020-5-11 08:30 | 顯示全部樓層
l956597431 發表于 2020-4-24 02:34
可以用onenet做一個手機app顯示這些數據嗎

ONENET有自己的APP,可以將網頁的數據同步到APP上
回復

使用道具 舉報

ID:545795 發表于 2020-5-11 08:33 | 顯示全部樓層
pengyongnet 發表于 2020-4-28 07:35
ESP8266需要燒寫什么嘛

不需要,但需要重新配置一下ESP8266模塊,比如波特率(修改為和你的單片機波特率一樣就行),收發模式,名稱等等。
回復

使用道具 舉報

ID:545795 發表于 2020-5-11 08:34 | 顯示全部樓層
老大的哥 發表于 2020-3-21 14:58
樓主你好!想請問一下可以用oneNET來顯示單片機發送的報警信號嗎?程序也是和這個差不多嗎

應該差不多
回復

使用道具 舉報

ID:545795 發表于 2020-5-11 08:39 | 顯示全部樓層
17727219780 發表于 2020-4-13 14:06
樓主 52是單純接了8266的兩個txd和人rxd嗎 再接上高低電平

是的,電源最好加一個3.3V穩壓模塊
回復

使用道具 舉報

ID:545795 發表于 2020-5-11 08:40 | 顯示全部樓層
wanwancui 發表于 2020-4-17 12:24
連不上熱點的原因是什么呢

可能是沒有配置8266模塊,需要先修改收發模式,波特率等等
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人二区 | 免费观看www7722午夜电影 | 日本高清aⅴ毛片免费 | 在线精品一区二区 | 国产精品三级久久久久久电影 | 久草视频网站 | www天天操 | 在线激情视频 | 在线播放中文字幕 | 免费性视频 | 国产一区二区三区免费 | 黄色一级视频 | 国产乱码精品一区二区三区中文 | av在线免费播放 | 国产欧美精品在线观看 | 日韩高清一区二区 | 精品在线一区二区 | 久久久久久久成人 | 蜜桃视频在线观看免费视频网站www | 国产a区| 久久久91精品国产一区二区三区 | 美女国内精品自产拍在线播放 | 一区日韩| 伊人久麻豆社区 | 日韩在线播放中文字幕 | 国内毛片毛片毛片毛片 | 天堂在线网 | 国产成人高清视频 | 国产va| 秋霞av国产精品一区 | 欧美日韩一区二区电影 | 欧美精品成人一区二区三区四区 | 久久精品超碰 | 一区二区视频 | 夜夜爽99久久国产综合精品女不卡 | 视频一区二区在线观看 | 欧洲亚洲精品久久久久 | 一级无毛片| 成人日韩 | 色一级| 中文字幕日韩在线观看 |