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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

通過ESP8266連接OneNET平臺遠程控制單片機

[復制鏈接]
跳轉到指定樓層
樓主
硬件:51單片機,ESP8266
云平臺:OneNet平臺
功能:51單片機通過ESP8266連接OneNet平臺,通過GET方法得到OneNet發送的數據,進而單片機讀取進行下一步操作。
這是2018年編寫的程序,由于年代久遠,可能不是很好用,但大體思路是這樣的。讀者該修改的地方修改,OneNET平臺該注冊的注冊,注意用的是HTTP協議。

代碼:
注意,我注釋了的地方也有用,讀者可根據實際情況修改。
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uint a,i,flag,temp;
sbit DQ=P2^4;
sbit k1=P1^0;      
char bb[1]="";
char aa[1]="";
sbit  b=P1^4;
uchar datalen = 0;
uchar value;
uchar cnt = 0;
uchar recbuffer[51]="";                                //接收緩沖
sbit  LED1=P0^0;
sbit  LED2=P0^1;
sbit  LED3=P0^2;
sbit  LED4=P0^3;
sbit  LED5=P0^4;
//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初始化*/
        sendString("AT\r\n");
         delay1(1000);
        sendString("AT+RST\r\n");
        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(1000);
}
//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");
//        delay1(1000);
//        sendString("api-key:sggrqbMr4YanhJ2YyjP6E=EwWd4=\r\n");
//        delay1(1000);
//        sendString("Host:api.heclouds.com\r\n");  
//        delay1(1000);
//        sendString("Content-Length:11\r\n");
//        delay1(1000);
//        sendString("\r\n");
//        delay1(1000);
//        sendString("{\"temp\":");                          
//        delay1(1000);
//        sendString("30");                            //aa為溫度數據
//        delay1(1000);
//        sendString("}");
//        delay1(1000);
//        sendString("\r\n");
//        delay1(1000);               
//        ES=1;                                          //開串口中斷
//}
void kg1()
{
        sendString("AT+CIPMUX=0\r\n");
        delay1(1000);
        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("GET /devices/527602572/datastreams/kg1 HTTP/1.1\r\n");
        delay1(800);
        sendString("api-key:BfVl=mcQuY7JB9BAnAEW=UZdIB8=\r\n");
        delay1(800);
        sendString("Host:api.heclouds.com\r\n");
        delay1(800);
        sendString("\r\n");
        ES=1;
}
void main()
{
        init();
        while(1)
        {
//                if(k1==0)                  //當k1按下時就給OneNET平臺發送一次溫度數據
//            {        
//                        delay1(10);
//                        if(k1==0)
//                        {
//                                chuansu();
//                        }
//                }
                kg1();
//                        if(value == '1')
//            LED1=0;
//                if(value == '0')
//                LED1=1;
//                if(value == '3')
//            LED2=0;
//                if(value == '2')
//                LED2=1;
//                if(value == '5')
//                LED3=0;
//                if(value == '4')
//                LED3=1;
//                if(value == '7')
//                LED4=0;
//                if(value == '6')
//                LED4=1;
//                if(value == '9')
//                LED5=0;
//                if(value == '8')
//                LED5=1;        
                        switch(value)
                {
                    case '1':
                        LED1=0;
                        break;
                        case '0':
                        LED1=1;
                        break;
                        case '3':
                        LED2=0;
                        break;
                        case '2':
                        LED2=1;
                        break;
                        case '5':
                        LED3=0;
                        break;
                        case '4':
                        LED3=1;
                        break;
                        case '7':
                        LED4=0;
                        break;
                        case '6':
                        LED4=1;
                        break;
                        case '9':
                        LED5=0;
                        break;
                        case '8':
                        LED5=1;
                        break;
                }                 
               
        }
}
void Usart() interrupt 4
{        
        uchar rec;
        if(RI != 0)
        {
                rec = SBUF;
                RI = 0;
        }
        if(rec == '{')
        cnt = 1;
        if(cnt == 1)
        {
                if(rec != '}')
                {
                    recbuffer[datalen++] = rec;
                }
                else
                {
                    cnt = 0;
                    value = recbuffer[datalen - 1];
                    datalen = 0;
        }
        

    }
}

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:545795 發表于 2021-6-23 08:01 | 只看該作者
這是界面圖片

W(CBE9~[]FIJBN{LZ}P)QL9.png (288.89 KB, 下載次數: 67)

W(CBE9~[]FIJBN{LZ}P)QL9.png
回復

使用道具 舉報

板凳
ID:1045066 發表于 2022-9-17 22:42 | 只看該作者
你好,請問你為什么我下載進51單片機卻連不上路由器呢
回復

使用道具 舉報

地板
ID:293363 發表于 2022-9-18 13:11 | 只看該作者
susubear 發表于 2022-9-17 22:42
你好,請問你為什么我下載進51單片機卻連不上路由器呢

注意檢查8266的波特率
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产女人与拘做视频免费 | 91一区二区三区 | 国际精品鲁一鲁一区二区小说 | 久久综合激情 | 久久99视频精品 | 911网站大全在线观看 | 久久一视频 | 成人免费在线播放 | 亚洲国产一区在线 | 久久久久亚洲 | 欧美一级二级在线观看 | 国产盗摄视频 | 三a毛片| 久久久91| 玖玖色在线视频 | 日韩视频一区在线观看 | 99精品欧美一区二区三区综合在线 | 午夜精品视频在线观看 | 久久久国产一区二区三区 | 成人污污视频 | 欧美日韩国产欧美 | 成人久久18免费网站图片 | 激情五月综合网 | 亚洲www. | 久久久久久久国产精品影院 | 日韩淫片免费看 | a免费观看 | 久久亚洲一区 | 男女视频在线观看免费 | 国产精品不卡一区 | 国产精品久久国产精品 | 亚洲精品中文字幕中文字幕 | 久久精品视频在线观看 | 粉嫩一区二区三区四区公司1 | 自拍视频网站 | 国产一区二区三区在线 | 中文字幕高清av | 国产成人精品一区二三区在线观看 | 亚洲欧美一区二区三区视频 | 亚洲一区在线播放 | 欧美日韩一区二区电影 |