心知天气天气状况获取,ESP32获取天气信息(含源码)
恶心我!总说我是广告!这辈子吃不上四个菜!
用心知天气获取天气信息都是老生常谈的事情了吧。基本上能看到的开源项目都是用心知的API获取的天气信息。
心知天气网站:
https://www.seniverse.com/
又不需要访问那么多次,使用免费版就好了。
访问频次:20次/分钟 对我来说足够了
直接点申请,会申请到API密钥
API 秘钥 就是所需要的 (注意:' - ' 不能去掉)
选择文档→产品文档查看调用API
下面以天气实况为例子:
由API接口说明可以知道
//心知天气提供APIhttps://api.seniverse.com/v3/weather/now.json?key=your_api_key&location=beijing&language=zh-Hans&unit=c//修改后加入aip_key和城市名称即可构成可用APIhttps://api.seniverse.com/v3/weather/now.json?key=SKmg2uxKdER08RUk-&location=北京&language=zh-Hans&unit=c
直接将修改好的API复制到浏览器网址,可获得天气信息
此时,可直接使用GET请求数据。
源码可参考获取B站粉丝数项目来修改代码
ESP32超详细学习记录:获取B站粉丝数_喜暖知寒的博客-CSDN博客
串口输出
可见显示多云,和JSON显示的相同。
代码
代码已经验证成功!
函数介绍可参考获取B站粉丝数,基本一样!
ESP32超详细学习记录:获取B站粉丝数_喜暖知寒的博客-CSDN博客
各位不要用我的API-KEY,自己申请哈~
我把API-KEY一改就不能获取天气了!
(已验证,可直接复制编译)
#include <WiFi.h>#include <ArduinoJson.h>
#include <HTTPClient.h>const char * ID = "NATCAP_0E35";
const char * PASSWORD = "88888888";//天气相关参数
String API = "SKmg2uxKdER08RUk-";
String WeatherURL = "";
String CITY = "北京";
String url_xinzhi = "";
String Weather = "0";long sum = 0;/* 创建实例 */HTTPClient http;String GitURL(String api,String city)
{url_xinzhi = "https://api.seniverse.com/v3/weather/now.json?key=";url_xinzhi += api;url_xinzhi += "&location=";url_xinzhi += city;url_xinzhi += "&language=zh-Hans&unit=c";return url_xinzhi;
}void ParseWeather(String url)
{ DynamicJsonDocument doc(1024); //分配内存,动态http.begin(url);int httpGet = http.GET();if(httpGet > 0){Serial.printf("HTTPGET is %d",httpGet);if(httpGet == HTTP_CODE_OK){String json = http.getString();Serial.println(json);deserializeJson(doc, json);Weather = doc["results"][0]["now"]["text"].as<String>(); }else{Serial.printf("ERROR1!!");}}else{Serial.printf("ERROR2!!");}http.end();
}void setup()
{Serial.begin(115200);//==================wifi连接==================Serial.println("WiFi:");Serial.println(ID);Serial.println("PASSWORLD:");Serial.println(PASSWORD);WiFi.begin(ID,PASSWORD);while(WiFi.status()!=WL_CONNECTED){delay(500);Serial.println("正在连接...");}Serial.println("连接成功!");//==================wifi连接==================WeatherURL = GitURL(API,CITY); }void loop()
{Serial.println("连接成功!");ParseWeather(WeatherURL);Serial.println(Weather);Serial.print("执行次数: ");Serial.println(sum);sum ++;delay(50000);
}
心知天气天气状况获取,ESP32获取天气信息(含源码)相关推荐
- webbrowser抓取php网页源码,获取webbrowser控件 网页的源码(收藏)
获取webbrowser控件 网页的源码(收藏) 翻译|其它|编辑:郝浩|2005-04-28 09:45:00.000|阅读 3152 次 概述: 我在网上找到使用rft控件保存webbrowse文 ...
- php蓝奏云解析源码,PHP获取蓝奏云直链解析源码
PHP获取蓝奏云直链的源码案例 可以用来做api调用到网站做下载 调用方法: 无密码:http://www.yyob.com/lanzou/?url=https://www.lanzous.com/i ...
- 获取PC端微信小程序源码
获取PC端微信小程序源码 参考文章链接 链接1 链接2 准备工具 解密工具 UnpackMiniApp.exe 下载链接 逆向工具 wxappUnpacker 下载链接1 下载链接2 整体流程 第 1 ...
- 企业微信推送天气、课表、纪念日、每日一句等(含源码和详细步骤)
目录 一.引言与源码 二.企业微信的注册与配置 1.注册 2.配置 (1)加入企业 (2)开启微信插件 (3)测试是否能在微信接收消息 3.创建机器人 三.推送天气模块 (1)注册 (2)创建项目 ( ...
- 线上问题:stream获取值抛出空指针及源码分析
1 场景复现 实体列表,通过stream获取数据,findFirst后,直接使用get获取数据,抛出空指针异常,复现代码如下: @Testpublic void streamGetUnsafeTest ...
- php 框架获取服务器,Thinkphp 框架基础之源码获取、环境要求与目录结构分析
本文实例讲述了Thinkphp 框架基础之源码获取.环境要求与目录结构.分享给大家供大家参考,具体如下: 获取ThinkPHP 获取ThinkPHP的方式很多,官方网站(http://thinkphp ...
- python源码提取_Python|第一个python程序(获取音乐下载地址,附源码)
至少我们曾经在一起过. 来自:一言 软件截图 软件说明: 刚刚开始接触python,做出一个这样的软件,很low.附上源码, 希望大佬可以指点指点,正在琢磨怎么把音乐下载下来... 软件源码 impo ...
- android添加购物车动画、天气应用、渐变状态栏、文件选择器等源码
Android精选源码 支持无限轮播的广告控件,提供gif动图支持. android使用SVGAPlayer播放动画源码 Android添加购物车动画 Android 仿酷欧天气应用源码 一个Andr ...
- 商品详情页html代码获取,直播带货小程序源码中,商品详情页是如何获取html图片的...
在搭建直播带货小程序源码过程中,需要为商品构建详情页,而商品页中的图片是要通过html获取并展示到本地的,那么这个过程是如何实现的?接下来小编将通过代码演示一下: 1.配置webView mWebVi ...
- php获取QQ音乐直链,~~~获取qq音乐外链方法+源码~~~
本帖最后由 流风T回雪 于 2015-6-17 12:36 编辑 超链接不会去,只能把http后面的//用空格分开了,大家注意一下吧... 都有源码啦!!{:1_931:}求热心求评分 MP3接口 h ...
最新文章
- RecylerView为item添加点击事件
- 密码学摘要算法之MD5
- Windows Phone 7新开发工具发布
- 要注意页面中加载的第三方脚本
- Java Web整合开发(26) -- Spring概述
- LeetCode53:最大子序和(分治思想,Python3实现)
- 在 Java 中初始化 List 的五种方法
- 再问数据中台 - 企业数据中台的团队如何构建?绩效如何评价?
- ivy java_Ivy 在eclipse里的配置
- get请求是否 csrf认证流程_CORS和CSRF修炼宝典
- tcp发送方的发送速度由接收方给出的接收窗口决定_TCP协议的详解
- instanceof constructor Object.prototype.tostring.call ( [] )区别 数组和 对象的3中方法
- Netty权威指南(第2版)
- 【DIY小记】踏平Win10升级之坑——我们无法更新系统保留的分区
- ws office excel 基础公式
- vant/vue获取商品筛选分类接口以及替换原有的键名
- 隔离变压器不触电原因
- PIPIOJ1166PIPI的棋盘
- 搭建一个socks5代理 解决狗东对ip限制nolanjdc无法获取短信问题(搬运工unke原创)
- 【Java编程练习】司机肇事后逃跑,现场三人半瞎系列
热门文章
- arm mali 天梯图_2018最新CPU天梯图 2018年2月CPU性能天梯图最新版
- 溢出的文字用省略号表示。
- 【信息学奥赛】2070:【例2.13】数字对调C++)
- 感谢所有的幸运与不幸 --- 致我的2016
- android原生组件,RN原生的安卓UI组件
- java浪漫之心代码_浪漫桃心的Android表白程序
- 日志分析ELK安装日志分析系统
- Pull Request 的概述
- 亲水性小分子PEG DBCO-PEG4-酸,1416711-60-8可以进行点击化学反应
- 如何发布百度离线地图及二次开发API