思想:让ESP8266在AT指令下连接URL地址。
过程:
1) 设置 wifi 模式:
网上搜集资料得知,ESP8266有三种工作模式:
1.Station (客户端模式)
2.AP (接入点模式)
设置连接点:AT+CWSAP="H_ESP8266","1350397606",1,3
AT+CIPMUX=1 //启动多连接
AT+CIPSERVER=1,8080 //建立SERVER,端口8080
3.Station+AP (两种模式共存)
AT+CWMODE=3 //设置为 softAP+station 共存模式
响应:OK
2) 重启生效
AT+RST
响应:OK
3) 连接路由
AT+CWJAP="ssid","password" // 传入路由的ssid 和 password
比如:AT+CWJAP="00H Studio","1350397606"
响应:OK
4) 与网络助手通讯
AT+CIPMUX?//查看当前连接模式
AT+CIPMUX=0
AT+CIPMUX=1
如果为0,请使用AT+CIPSTART="TCP","192.168.31.198",8080连接服务器,
如果为1,则使用AT+CIPSTART=2,"TCP","192.168.31.198",8080连接服务器。
连接成功后,串口数据接收会显示“Linked”字样,
下面我们使用命令AT+CIPSEND=2,10向客户端发送字符,命令输入后会显示>符号,
这时我们输入要发送的内容,可看到服务器端会显示接收到的内容
AT+CIPSTART="TCP","101.200.46.138",80
AT+CIPSEND=131
GET /api/44 HTTP/1.1
Content-Type: application/json;charset=utf-8
Host: 101.200.46.138
Connection: Keep Alive
AT+CIPSEND=105
GET /api/44 HTTP/1.1Content-Type= application/json;charset=utf-8Host= 101.200.46.138Connection= Keep Alive
第三步,设置透传模式,命令AT+CIPMODE=1;
第四步,使用发送数据的命令,AT+CIPSEND,发送后串口出现一个>符号;
第五步,发送http请求头,以最简单的头为例,获取百度的主页
AT+CIPSTART="TCP","www.baidu.com",80
AT+CIPMODE=1
AT+CIPSEND
POST /H_design/login.do HTTP/1.1
Host: 192.168.9.120:8080
Connection: keep-alive
Content-Length: 20
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.8
sno=001&password=123
发送+++退出透传模式 ,这个指令不用要回车
AT+SAVETRANSLINK=0取消透传模式
5) 查询设备IP
AT+CIFSR
响应:192.168.3.106 //返回设备的 IP 地址
6) 设备连接服务器
AT+CIPSTART="TCP","101.200.46.138",80 //传入协议、服务器 IP、端口号
响应:OK