ESP8266--学习笔记--AT指令下进行HTTP连接网址
纠结了很久,如何让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.1
Content-Type: application/json;charset=utf-8
Host: www.liefyuan.top
Connection: Keep Alive
- 1
- 2
- 3
- 4
测试:
在浏览器上面访问,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.1
Content-Type: application/json;charset=utf-8
Host: www.liefyuan.top
Connection: Keep Alive
- 1
- 2
- 3
- 4
连接之后的细节: