找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5740|回复: 3
收起左侧

51单片机通过ESP8266向服务器连线

  [复制链接]
ID:250869 发表于 2020-2-3 17:23 | 显示全部楼层 |阅读模式
最近在搞云服务器,入手了一块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 Screenshot_2020-02-03-17-06-46-482.png
值得注意的是  设备标识号、传感器标识和个人秘钥一定要分清楚
还有就是乐联网发送数据频率是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

bin文件下载地址:
ESP8266.zip (4.98 MB, 下载次数: 81)
回复

使用道具 举报

ID:731520 发表于 2020-5-19 21:38 | 显示全部楼层
楼主,有详细的程序代码吗,求一份完整的程序
回复

使用道具 举报

ID:65956 发表于 2020-5-21 08:49 | 显示全部楼层
下载下来试试看,谢谢分享
回复

使用道具 举报

ID:250869 发表于 2020-6-3 16:22 | 显示全部楼层
樊特西 发表于 2020-5-19 21:38
楼主,有详细的程序代码吗,求一份完整的程序

帖子里有完整的代码的,你只需要添加你的设备标识等相关信息就可以在后台查看信息了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表