微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

8266获取天气json解析

8266获取天气json解析

8266获取天气json解析

在这个数字化时代,人们越来越依赖于科技帮助我们处理日常事务。其中,获取天气情况也成为了不可或缺的一部分。那么,如何使用8266获取天气json并解析呢?

#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#include <ArduinoJson.h>

const char* ssid = "你的WiFi名称";
const char* password = "你的wifi密码";

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid,password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("连接中...");
  }

  Serial.println("连接成功");

  HTTPClient http;
  http.begin("https://api.openweathermap.org/data/2.5/weather?q=上海&appid=你的API Key&lang=zh_cn&units=metric");

  int httpCode = http.GET();
  String payload = http.getString();

  Serial.println(httpCode);

  DynamicJsonDocument doc(2048);
  deserializeJson(doc,payload);

  float temp = doc["main"]["temp"];
  Serial.println(temp);
  
  http.end();
}

void loop() {

}

首先,我们需要加载所需库,包括ESP8266WiFi、ESP8266HTTPClient和ArduinoJson。然后,我们需要把 WiFi 名称密码放入代码中。在 setup() 函数中,我们要连接 WiFi 并打印连接状态。接着,我们使用 HTTPClient 库,开始使用以城市名为参数的 OpenWeatherMap API 获取天气数据,同时也可以更改为通过经度和纬度或城市 ID 获取天气数据。最后,使用 DynamicJsonDocument 库解析获取到的 JSON 数据,并将温度打印在串口监视器中。

最重要的是,别忘了替换文中的 API Key 为你自己的 OpenWeatherMap API key。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐