STM32用ESP8266WiFi模块实现Http协议交互云服务器关键代码

STM32用ESP8266WiFi模块实现Http协议交互云服务器关键代码

首先,要知道http是基于tcp的。所以要想实现http协议交互云服务器,例如,模拟浏览器向网站发送请求并接收返回数据。
我们要先连接一个可以连上互联网的路由器。这里我们设置ESP8266为 AP+STA模式并连接目标路由器

atk_8266_send_cmd("AT+CWMODE=3","OK",50);		//设置WIFI AP+STA模式
sprintf((char*)p,"AT+CWJAP=\"%s\",\"%s\"",wifista_ssid,wifista_password);//设置无线参数:ssid,密码
atk_8266_send_cmd(p,"WIFI GOT IP",300);					//连接目标路由器,并且获得IP       

下一步连接目标TCP服务器

sprintf((char*)p,"AT+CIPSTART=\"TCP\",\"%s\",%s",(u8*)ipbuf,(u8*)ipport);    //配置目标TCP服务器
while(atk_8266_send_cmd(p,"OK",200));

成功连接目标TCP服务器后开启与TCP服务器的透传模式

atk_8266_send_cmd("AT+CIPMODE=1","OK",200);      //传输模式为:透传
atk_8266_send_cmd("AT+CIPSEND","OK",20);

接下来只需要按照如下正确的请求头格式发送数据就能实现http协议与云服务器交互了

atk_8266_send_data(“POST /网址名 HTTP/1.1\r\nHost: 服务器IP:服务器端口号\r\nContent-Type: application/json(数据格式)\r\nContent-Length: 数据长度\r\nConnection: Keep Alive\r\n\r\n传输的数据内容\r\n”,“OK”,100);

例:

atk_8266_send_data("POST /admin.html HTTP/1.1\r\nHost:168.42.135.47:8080\r\nContent-Type: application/json\r\nContent-Length: 17\r\nConnection: Keep Alive\r\n\r\n{\"name\":\"dianzu\"}\r\n","OK",100);
  • 4
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值