本站改版新增arduino频道
arduino 获取网络请求
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
const char* ssid = "GeeksMan";
const char* password = "123456qq.";
// 定义
String url = "http://apis.juhe.cn/simpleWeather/query";
String city = "城市名";
String key = "你的请求Key";
void setup() {
Serial.begin(9600);
// 连接 WiFi
WiFi.begin(ssid, password);
Serial.print("正在连接 Wi-Fi");
// 检测是否连接成功
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("连接成功");
Serial.print("IP 地址:");
Serial.println(WiFi.localIP());
// 创建 HTTPClient 对象
HTTPClient http;
// 发送GET请求
http.begin(url+"?city="+city+"&key="+key);
int httpCode = http.GET();
// 获取响应状态码
Serial.printf("HTTP 状态码: %d", httpCode);
// 获取响应正文
String response = http.getString();
Serial.println("响应数据");
Serial.println(response);
http.end();
// 创建 DynamicJsonDocument 对象
DynamicJsonDocument doc(1024);
// 解析 JSON 数据
deserializeJson(doc, response);
// 从解析后的 JSON 文档中获取值
unsigned int temp = doc["result"]["realtime"]["temperature"].as<unsigned int>();
String info = doc["result"]["realtime"]["info"].as<String>();
int aqi = doc["result"]["realtime"]["aqi"].as<int>();
Serial.printf("温度: %d\n", temp);
Serial.printf("天气: %s\n", info);
Serial.printf("空气指数: %d\n", aqi);
}
void loop() {
}
Copyright © 2014 ESP56.com All Rights Reserved
晋ICP备14006235号-22 晋公网安备14108102001165号
执行时间: 0.0092220306396484 seconds