本站改版新增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.0095350742340088 seconds