没时间做获取天气的实验 三分钟! 给您看清如何通过HTTP GET请求 获取天气预报
1. 注册心知天气账号,获取私钥
下面这篇文章是图示讲解的,好东西,何不转载为快?
http://www.taichi-maker.com/homepage/iot-development/iot-platform/seniverse/preparation/
"GET https://api.seniverse.com/v3/weather/now.json?key=这里加上你的私钥&location=你要查询的城市中文拼音&language=zh-Hans&unit=c\r\n\r\n"
这串字符就是你的HTTP的GET请求。
GET请求的详细使用去新知天气的官网,这里面可以玩的花样也多的,支持最近几天的天气预报、湿度、风向风力等等,所以GET请求的复杂度也不一样。
但是如果只查询一个城市的温度值,那么上面这个GET请求一般就够用了。这里为什么说一般够用?因为也有特例,例如全国内肯定有两个城市的名字的中文拼音是一样的,那么前面还可以加上省份的拼音的,所以,具体详情还是参考心知天气的官网( https://www.seniverse.com )最权威了。
2.那么在不写代码的情况下,我们怎么来快速获取天气预报体验一下呢?
方法1,笨方法 使用通信软件发送GET请求
打开通信猫软件
按图示1处输入和我一样的IP地址和端口号, 2处勾选好, 3处填入上述GET请求,注意,最后要空两行(敲两个回车键)! 4处点击发送, 然后就可以收到5处所示的信息了。
我查询了杭州温度(location=hangzhou),可以看到返回的温度(temperature)是8度。 GET请求内,unit=c表示返回的单位是摄氏度。
方法2,使用浏览器发送GET请求
打开浏览器,以我当前实验为例,输入 https://api.seniverse.com/v3/weather/now.json?key=SwwwfskBjB6fHVRon&location=hangzhou&language=zh-Hans&unit=c
就可以收到返回的天气数据了。注意,这里就不需要前缀GET 和 后缀俩空行了, 就是普通的访问网站而已,相比使用通信猫软件就方便多了。
PS:或者,你只要鼠标左键点击上述网址就可以实时查看到杭州现在的温度了。
3.写代码来获取天气预报
我当前的实验基于ESP32,只需要简单修改ESP32的IDF内的一个Http的Demo就可以了。
为什么只需要简单修改就可以了?因为这个功能本来就很简陋,我们刚才用浏览器获取天气预报的实验,其实就是输入了一个网址而已,然后就成事了,核心步骤就这么一步。
所以说,基本上只要调通网络,不管是什么平台,实现这个功能都是不复杂的。
继续正题,环境准备可以看这篇:
ESP32的Linux开发环境搭建,将示例程序编译、下载、运行
https://www.cnblogs.com/happybirthdaytoyou/p/13996072.html
打开该虚拟机, 将上图的http_request文件夹拷贝到下图路径内:
代码修改三处,见下图:
ESP32板子经过USB转TTL接入到ubuntu虚拟机内,
然后执行make flash monitor , 即执行程序烧录,打开串口
程序运行效果:
PS:心知天气返回的数据是UTF-8编码的
现在就收到了这串表示天气的字符串了,这是JSON格式的,需要解析,常见的有cJSON库。

.
没时间做获取天气的实验 三分钟! 给您看清如何通过HTTP GET请求 获取天气预报的更多相关文章
- 并发Bug之源有三,请睁大眼睛看清它们
写在前面 生活中你一定听说过--能者多劳 作为 Java 程序员,你一定听过--这个功能请求慢,能加一层缓存或优化一下 SQL 吗? 看过中国古代神话故事的也一定听过--天上一天,地上一年 一切设计来 ...
- 高德地图API获取天气
1.建立行政区规划清单表 use edw; drop table if exists dim_prov_city_adcode; create table if not exists dim_prov ...
- 想做长期的 AB 实验?快来看看这些坑你踩了没
作者:江颢 1.什么是长期的 AB 实验 大部分情况下,我们做的 AB 实验都是短期的,一到两周或者一个月之内的,通过分析这段时期内测得的实验效应得出实验结论,并最终进行推广. 长期实验即运行时间达数 ...
- ESA2GJK1DH1K升级篇: 升级STM32 预热: 单片机每隔一定时间 使用 http 获取天气
前言: 实现功能概要: STM32使用AT指令控制Wi-Fi以TCP方式连接服务器(YY天气Web服务器),然后使用http的get协议获取今天的天气数据 单片机提取今天的温度和湿度数据,把温湿度数据 ...
- Java实验报告(实验三)
课程:Java程序设计 班级: 1351 姓名:王玮怡 学号:20135116 成绩: 指导教师:娄嘉鹏 实验日期: ...
- 实验三:敏捷开发与XP实践
Java实验三报告 一. 实验内容 (一)敏捷开发与XP 内容:1.敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法. 2.极限编程(eXtreme Pro ...
- 2016-2017-2 20155339 《Java面向对象程序设计》实验三敏捷开发与XP实践实验报告
2016-2017-2 20155339 <Java面向对象程序设计>实验三敏捷开发与XP实践实验报告 实验内容 XP基础 XP核心实践 相关工具 实验内容 一.在IDEA中使用工具(Co ...
- 20175308 实验三《敏捷开发与XP实践》
20175308 实验三<敏捷开发与XP实践> 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 完成实验.撰写实验 ...
- 20145213《Java程序设计》实验三敏捷开发与XP实践
20145213<Java程序设计>实验三敏捷开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 1.敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法 ...
- 20145208 实验三 Java面向对象程序设计
20145208 实验三 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...
随机推荐
- 整段 html实现其中的每一个 a 标签跨域下载操作 window.URL.createObjectURL(blob)
window.URL.createObjectURL(blob) a 标签下载问题,通常在 a 标签中加上download属性,就可完成对href属性链接文件的下载,但仅仅是限于同源文件,如果是非同源 ...
- OkHttp 快速掌握
OkHttp是一个高效的HTTP库,它提供了许多优化和便利功能,使得我们能够更高效地使用HTTP协议进行通信. 一些主要特性包括: 支持SPDY协议:SPDY协议是Google开发的一种HTTP传输协 ...
- RHCA rh442 004 加载模块 ulimit cgroup
模块调优 lsmod 可以看到内核加载的模块 [root@servera ~]# lsmod | grep usb [root@servera ~]# modprobe usb_storage [ro ...
- 【Java-GUI】10 Swing04
面板容器: package cn.dzz.swing; import javax.swing.*; import javax.swing.event.ChangeEvent; import javax ...
- 【Spring Data JPA】04 JPQL和原生SQL
@Transactional注解 让Spring处理事务 不需要自己每次都手动开启提交回滚 FINDONE & GETONE的区别? findone是立即加载 getone是延迟加载,配合事务 ...
- HPA* (Near Optimal hierarchical Path-finding) —— 外网的讲解blog
原地址: https://alexene.dev/2019/06/02/Hierarchical-pathfinding.html 讲解视频: https://www.youtube.com/watc ...
- C# 导出表格时表头优化思路
众所周知 众所周知,如果使用DataTable.一般的思路是这么写的 var exprotData = new DataTable("Datas"); exprotData.Col ...
- [工具分享]ClipX超级粘贴板,超级好用
1.背景 话说粘贴.复制是码农们的必备核心技能, 普通码农们当然已经熟练的掌握了普通的粘贴复制.... 但是,你不知道的是,牛逼的架构师已经会使用超级粘贴板了,功能非常强大 ............. ...
- AI阅读助手ChatDOC:基于 AI 与文档对话、重新定义阅读方式的AI文献阅读和文档处理工具
让 AI 真正成为你的生产力超级助手 AI 时代降临,我们需要积极拥抱 AI 工具 在过去的 2 个多月里,以 ChatGPT 为代表的 AI 风靡全球.随着 GPT 模型的不断优化,ChatGPT ...
- jenkins集成findBugs并生成报告
转
公司使用jenkins来作为持续构建工具,由于要进行自动化构建.编译.代码走查.打包.今天介绍下 jenkins集成findbugs的经验. 1.首先进入jenkins插件管理页面,下载途中的find ...