基于arduino的ESP32 学习笔记(三)通过心知天气获取天气数据

本文档介绍了如何利用ESP32开发板、ArduinoJson库和心知天气API获取并解析天气预报数据。首先,需要注册心知天气账号并获取API密钥,然后配置ESP32的WiFi连接。通过编写Arduino代码,连接到心知天气服务器,发送GET请求获取JSON格式的天气信息,并使用ArduinoJson库解析JSON数据,展示城市、天气状况、最高温度、最低温度和湿度等关键信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文的目的是为了给将要制作的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(
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值