前言
本文的目的是为了给将要制作的ESP32手环做技术储备
记录通过心知天气API获取天气数据
硬件准备
- ESP-WROOM-32E开发板
软件准备
- VSCODE+PlatformIO
相关链接
https://blog.youkuaiyun.com/weixin_42487906/article/details/113767644
在我之前的文章里,实现了用art-pi rtt的websocket软件包调用心知天气的API获取到天气信息
在进行本文内容前,需要根据上文,先注册一个心知天气的账户,申请免费的产品,调用免费的API
上图是通过调用这个API,获得的天气信息,是Json格式的,所以在ESP32上,采用ArduinoJson来处理Json格式的信息
代码编写
代码比较简单,很容易看懂,重要的是要把下面的privatekey换成你自己注册的心知天气的私钥,然后ssid和password换成你自己wifi的wifi名和密码
#include <Arduino.h>
#include <ArduinoJson.h>
#include <WiFi.h>
const char *ssid = "XXXXX";
const char *password = "XXXXXXX";
const char *host = "api.seniverse.com";
const char *privateKey = "XXXXXXXXXX";
const char *city = "wuhan";
const char *language = "en";
struct WetherData
{
char city[32];
char weather[64];
char high[32];
char low[32];
char humi[32];
};
void setup()
{
// put your setup code here, to run once:
Serial.begin(115200);
Serial.print(