ESP8266--学习笔记--AT指令下进行HTTP连接网址

来源:互联网 发布:plc模拟编程手机版 编辑:程序博客网 时间:2024/06/01 09:27

 纠结了很久,如何让ESP8266在AT指令下连接URL地址。终于搞好,现在写下过程:

直接使用AT指令集上的“单连接Client”方法流程即可:
1) 设置 wifi 模式:
  AT+CWMODE=3 //设置为 softAP+station 共存模式
  响应:OK
2) 重启生效
  AT+RST
  响应:OK
3) 连接路由
  AT+CWJAP="ssid","password" // 传入路由的ssid 和 password
  响应:OK
4) 查询设备IP
  AT+CIFSR
  响应:192.168.3.106 //返回设备的 IP 地址
5) 设备连接服务器
  AT+CIPSTART="TCP","101.200.46.138",80 //传入协议、服务器 IP、端口号
  响应:OK
6) 发送数据
 这里需要一点点HTTP的知识,我们将ESP8266伪装成一个浏览器,所以要加入“请求头”一定要安装我的请求头写,搞了很久才搞出来的。
7) 接收数据
  +IPD,n:xxxxxxxxxx //接收到的数据长度为 n 个字节,xxxxx为数据内容

GET /api/44 HTTP/1.1Content-Type: application/json;charset=utf-8Host: www.liefyuan.topConnection: Keep Alive

测试:
在浏览器上面访问,www.liefyuan.top/api/44,得到了 get ok,这里用的是GET方法,如果将请求头中的“GET ”改成“POST”,就会得到“post ok”
这里写图片描述
当然这里是,经过浏览器渲染的了

ESP8266测试
这里也得到了包含响应头的“get ok”消息;ESP8266AT指令中,接收到网络信息的格式看步骤 7)接收数据
这里写图片描述

这里写图片描述

通过修改请求头中的数据达到上传数据的功能:
比如想上传数据“dgnjd8954”
那么请求头就变成了这样
在浏览器上的方式就变成了这样:www.liefyuan.top/api/dgnjd8954
效果是一样的。

GET /api/dgnjd8954 HTTP/1.1Content-Type: application/json;charset=utf-8Host: www.liefyuan.topConnection: Keep Alive

连接之后的细节:
这里写图片描述

原创粉丝点击