当前位置: 首页 > news >正文

如何将 ESP32 快速接入高德、心知、和风天气API 获取天气信息

ESP32 Weather 组件:打造属于你的智能天气站

这里推荐大家使用 ESP32 Weather 组件快速接入高德、心知、和风三种天气 API,获取丰富的天气数据。

项目简介

ESP32 Weather 是一个基于 ESP32 IDF 的第三方组件,它支持高德、心知、和风三种天气 API,能够自动识别位置并获取包括温度、湿度、风向风速等在内的丰富天气数据。项目还提供了美观的终端输出和 HTTPS 加密传输,确保数据安全。用户可以轻松地将其集成到 ESP32 项目中,快速实现天气信息的获取和展示。

项目地址:GitHub - NingZiXi/weather

功能亮点

  • 三合一 API 支持:可以选择高德、心知、和风天气中的任意一种 API,这为用户提供了更多的选择和灵活性。
  • 智能定位:组件能够自动识别你的位置,无需手动配置,大大简化了使用过程。
  • 数据丰富:涵盖了温度、湿度、风速、降水等多种天气数据,满足了不同用户的需求。
  • 终端美化:控制台输出美观大方,堪比艺术品,提升了用户体验。
  • 安全可靠:采用 HTTPS 加密传输和 CRT 证书验证,确保数据的安全性。

免费数据支持对比

功能特性高德天气心知天气和风天气
实时天气
温度
湿度
风向风速
风力
气压
能见度
体感温度
降水量
云量
露点温度
免费调用次数30 万/日无次数限制1000/日
是否需要付费可选可选可选

从上表可以看出,和风天气虽然免费调用次数较少,但免费版的服务与付费版相同,数据也较为丰富,因此推荐使用和风天气。

快速开始

1. 克隆项目

要将组件添加到项目中,可以在 IDF 终端执行以下命令:

idf.py add-dependency "ningzixi/weather^1.1.0"

或者直接克隆本仓库到项目的 components 目录下:

git clone https://github.com/NingZiXi/weather

2. 获取 API 密钥

  • 高德 API:访问 高德地图开放平台 获取密钥。
  • 心知天气 API:访问 心知天气 获取密钥。
  • 和风天气 API:除了获取密钥外,还需要配置 host。密钥获取地址为 和风天气控制台,host 配置地址为 和风天气设置。

3. 基本用法

以下是一个简单的示例代码,展示如何使用该组件获取天气信息并打印到终端:

#include "weather.h"void app_main() {// 省略联网部分weather_config_t config = {.api_key = WEATHER_HEFENG_KEY,.api_host = WEATHER_HEFENG_HOSE,    // 和风天气需要配置host.city = NULL, // city为NULL自动根据IP地址获取位置,也可以指定城市// .city = "北京",.type = WEATHER_HEFENG  //可更改为api配置WEATHER_AMAP或WEATHER_XINZHI};weather_info_t *info = weather_get(&config);if (info) {weather_print_info(info); // 打印天气信息weather_info_free(info);}
}

更多 API 接口可以查看 weather.h 文件。

串口输出示例

以下是串口输出的天气信息示例:

请添加图片描述

总结

如果你觉得这个项目不错,别忘了给它一个 Star 支持哦!

相关文章:

  • void MainWindow::on_btnOutput_clicked()为什么我在QT里面没有connect,也能触发点击效果
  • 【正点原子STM32MP257连载】第四章 ATK-DLMP257B功能测试——RTC时钟测试 #内部RTC时钟 #外部时钟模块AT8563
  • 运维面试题(十四)
  • 常见编码面试问题
  • 命令模式 (Command Pattern)
  • 问题记录(四)——拦截器“失效”?null 还是“null“?
  • 【iOS】OC高级编程 iOS多线程与内存管理阅读笔记——自动引用计数(一)
  • C++ 核心进阶
  • 探秘串口服务器厂家:背后的故事与应用
  • 深入理解Java缓冲输入输出流:性能优化的核心武器
  • 03(总)-docker篇 Dockerfile镜像制作(jdk,jar)与jar包制作成docker容器方式
  • 区块链如何为农业供应链赋能?用 Python 打造透明高效的农产品流通体系
  • Spring Boot 项目的启动流程,图片+文字详细解答(附相关面试题)
  • 进程与线程
  • 如何让Windows开机时自动运行LabVIEW程序
  • 驱动开发硬核特训 · Day 13:从 device_create 到 sysfs,设备文件是如何生成的?
  • OpenCV 图形API(38)图像滤波-----Sobel 算子操作函数Sobel()
  • OpenCv高阶(五)——SIFT特征提取
  • git的上传流程
  • C 语言中的 volatile 关键字
  • 冀州网站建设/免费建站哪个最好
  • 怎么查网站制作空间有效期/提升seo搜索排名
  • html 网站源码 卖手机/网站服务器ip查询
  • 适合企业员工培训的课程/深圳市企业网站seo营销工具
  • 拼车平台网站开发/wordpress外贸独立站
  • 苏州安岭网站建设公司/公司关键词seo