Arduino ESP32 获取网络数据(HTTP GET方式)
- 相关篇《Arduino ESP32 获取网络数据(HTTP POST方式)》
- 《Arduino ESP32 获取网络数据(HTTP PATCH方式)》
- 《Arduino ESP32 获取网络数据(HTTP PUT方式)》
本实例介绍,ESP32通过联网,访问指定服务器网站,获取数据。
- 不需要要额外库,全部使用自带固件的库
- 访问对象:http://quan.suning.com/getSysTime.do
实例代码
/*** ESP32 HTTP GET方式获取网络数据**/#include <Arduino.h>#include <WiFi.h>
#include <HTTPClient.h>//填写WIFI入网信息
const char* ssid = "MERCURY_D268G"; // WIFI账户
const char* password = "pba5ayzk"; // WIFI密码void setup() {Serial.begin(115200);Serial.println();Serial.print("Attempting to connect to SSID: ");Serial.println(ssid);WiFi.begin(ssid, password);for(uint8_t t = 4; t > 0; t--) {Serial.printf("[SETUP] WAIT %d...\n", t);Serial.flush();delay(1000);}while (WiFi.status() != WL_CONNECTED) {Serial.print(".");// wait 1 second for re-tryingdelay(1000);}
/* 开始访问指定服务器地址,获取数据 */Serial.print("Connected to ");Serial.println(ssid);HTTPClient http;Serial.print("[HTTP] begin...\n");http.begin("http://quan.suning.com/getSysTime.do"); //访问服务器地址Serial.print("[HTTP] GET...\n");// start connection and send HTTP headerint httpCode = http.GET();// httpCode will be negative on errorif(httpCode > 0) {// HTTP header has been send and Server response header has been handledSerial.printf("[HTTP] GET... code: %d\n", httpCode);// file found at serverif(httpCode == HTTP_CODE_OK) {String payload = http.getString();Serial.println(payload);}} else {Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str());}http.end();
}void loop() {delay(5000);
}
- 串口打印获取信息