最近在搞云服務器,入手了一塊8266,這玩意網上應該還是有很多資料的 但是最近我查的有點暴躁,還是把具體經驗說一下吧。搞這個應該算是蠻簡單的 網上有部分教程,我就不嫌丑了 連接也順便發一下 ,因為用的是樂聯網的服務器,所以就事說事
鏈接:https://blog.csdn.net/csdnhuaong/article/details/71052872
簡單分幾步:一、通過AT指令寫死在8266內存里面(具體指令文件里有哈)PS:最好先修改一下8266的波特率
二是設置服務器啦 em。。。。上鏈接吧 www點lewei50點com/dev/doc/126 樂聯網里面有詳細的教程
三就是測試了 。。。樂聯網有模擬測試 API的和HTTP的 很方便 然后就是通過PC串口模擬調試 最后進行單片機測試
鏈接同樣在CSDN的那個帖子
廢話了那么多 看看做的怎么樣吧,手機端關注公眾就可以 PC端在個人后臺看
){8(11WXM]PM{2]8RC_L9`6.png (18.97 KB, 下載次數: 66)
下載附件
2020-2-3 17:21 上傳
Screenshot_2020-02-03-17-06-46-482.png (182.05 KB, 下載次數: 53)
下載附件
2020-2-3 17:21 上傳
值得注意的是 設備標識號、傳感器標識和個人秘鑰一定要分清楚
還有就是樂聯網發送數據頻率是20秒 我也不懂這個為啥。。沒深究還有很多功能,希望各位多多探索
最后附上部分代碼,還有8266AT固件包
AT+RST //復位
AT+CIOBAUD=9600 //設置波特率
AT+CIPMODE=1 //STA模式
AT+CIPMUX=0 //單連接模式
AT+CWMODE=1 //透傳模式
AT+CWJAP="WIFI名稱","WIFI密碼" //連接WiFi 這里是WiFi和密碼
AT+CIPSTART="TCP","api.lewei50.com",80 //與樂聯網建立TCP連接
AT+SAVETRANSLINK=1,"api.lewei50.com",80,"TCP"//開機自動進入透傳
AT+CIPSEND //進入透傳開始發送數據
PSOT的數據發送格式一定要清楚 建議在單片機程序里面直接用數組保存
//POST數據格式
POST /api/V1/gateway/Updatesensors/(設備標識) HTTP/1.1
userkey:(個人秘鑰)
Host: open.lewei50.com
Content-Length: 26
Connection: close
[{"Name":"(傳感器標識)","Value":15}]
///////////////////////////////////////////////////////////////////////////////////////////////////////////////#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
typedef unsigned int u16; //對數據類型進行聲明定義
typedef unsigned char u8;
u8 receiveData,i;
u8 code POST[]={"POST /api/V1/gateway/Updatesensors/(設備標識) HTTP/1.1\r\n"};
u8 code userkey[]={"userkey:(個人秘鑰)\r\n"};
u8 code Host[]={"Host: open.lewei50.com\r\n"};
u8 code Length[]={"Content-Length: 26\r\n"};
u8 code Connection[]={"Connection: close\r\n\r\n"};
u8 _data[]={"[{\"Name\":\"(傳感器標識)\",\"Value\":(數據)}]"};
void sendChar(u8 a) //單片機發送一個字節
{
SBUF = a;
while(TI==0);
TI=0;
}
void sendString(u8 *s) //發送一個字符串
{
while(*s!='\0')
{
sendChar(*s);
s++;
}
}
void delay(u16 xms)//延時函數,有參函數
{
u16 x,y;
for(x=xms;x>0;x--)
for(y=110;y>0;y--);
}
void UsartInit()
{
TMOD = 0x20;
SCON = 0x50;
TH1 = 0xFA;
TL1 = TH1;
PCON = 0x80;
EA = 1;
ES = 1;
TR1 = 1;
}
void main()
{
UsartInit(); // 串口初始化
while(1)
{
sendString(POST);
sendString(userkey);
sendString(Host);
sendString(Length);
sendString(Connection);
sendString(_data);
}
}
void UARTInterrupt(void) interrupt 4
{
EA=0;
receiveData=SBUF;//出去接收到的數據
RI = 0;//清除接收中斷標志位
EA=1;
}
51hei.png (9.52 KB, 下載次數: 47)
下載附件
2020-2-3 21:24 上傳
bin文件下載地址:
ESP8266.zip
(4.98 MB, 下載次數: 81)
2020-2-3 17:30 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|