最近在搞云服务器,入手了一块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端在个人后台看
值得注意的是 设备标识号、传感器标识和个人秘钥一定要分清楚
还有就是乐联网发送数据频率是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;
}
bin文件下载地址:
ESP8266.zip
(4.98 MB, 下载次数: 81)
|