ESP8266-Arduino库中有两个库用于控制ESP8266与网络服务器进行通讯。他们是WiFiClient
库和ESP8266HTTPClient
库。
【注意】
-
WiFiClient
被声明在<ESP8266WiFi.h>
中(这种方式实现Client更复杂,但灵活) -
而
ESP8266HTTPClient
被单独声明在<ESP8266HTTPClient.h>
(这种方式实现Client更简单,但很多功能不能根据自己意愿来定制实现)
1、ESP8266HTTPClient 实现
-
连接WiFi,具体实现看第一篇文章
-
连接WiFi后,写一个函数来访问服务器
-
函数设计,五个步骤:
- 创建客户端对象
- 配置访问地址url
- 发送get(post)请求
- 请求成功:处理返回信息
- 请求失败:(任意)
- 结束请求
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24// 发送HTTP请求并且将服务器响应通过串口输出
void httpClientRequest(){
//1 创建 HTTPClient 对象
HTTPClient httpClient;
//2 通过begin函数配置请求地址
httpClient.begin(URL);
//3 通过GET函数启动连接并发送HTTP请求
int httpCode = httpClient.GET();
//4 处理服务器返回信息
if (httpCode == HTTP_CODE_OK) {
// 使用getString函数获取服务器响应体内容
String responsePayload = httpClient.getString();
//...
} else {
//...
}
//5 关闭ESP8266与服务器连接
httpClient.end();
}
完整code:
1 |
|
【注意】
转义字符
\r
表示将光标移动到本行开头(继续输出会覆盖本行内容)
\r\n
表示将光标移到开头再换行(不会覆盖本行内容),一般与\n
效果相同
2、WiFiClient 实现
- 创建对象
- 连接服务器
- 连接成功:(1)发送请求(2)获取并处理服务器响应的数据(3)断开与服务器的连接
- 连接失败:断开连接
1 | void wifiClientRequest(String url){ |