没时间做获取天气的实验 三分钟! 给您看清如何通过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原则 了解设计模式 实验步 ...
随机推荐
- SUM-ACM——VJ天梯训练赛
这次比赛我暴露了很多问题,一些模拟还有贪心思路错误. 补题如下: E - E 题解:一道模拟题,我的问题在于不知道怎么替换下一个,就从0开始遍历数组然后数组的值--,如果为零就continue下一个, ...
- ADB:移动端专项测试必备神器!!
01 Android调试桥 (adb) Android调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信. adb命令可用于执行各种设备操作(例如安装和调试应用),并提供对Unix ...
- 嵌入式开发SQLite 快速掌握
SQLite是什么 SQLite又称(RDBMS)它 是本地数据库,可以用在手机,嵌入式设备的精简数据库和大名的mysql 一样的数据库存,只是可以理解为它是精简版,事务处理.表连接.索引.触发器等都 ...
- SEO初学指南之关键词研究(3) - 关键词分析实战
经过之前的学习,这次我们开始实战.手把手教大家如何为网站筛选符合条件的关键词. 还不熟练的,建议再反复学习前两篇文章: SEO初学指南之关键词研究 (1) - 入门 SEO初学指南之关键词研究 (2) ...
- JDK安装教程(Windows)
Windows 端: 1. 安装 首先进入官网:https://www.oracle.com/java/technologies/javase-downloads.html 因为我已经安装了 JDK8 ...
- linux性能资源分析工具
linux性能资源分析工具 1,top 2,ps 3,uptime 4,mpstat 5,pidstat 6,vmstat 7,iostat 8,netstat 9,lsof 10,sar / nmo ...
- WPF【无限滚动图片浏览】自定义控件
自定义控件 自定义控件是我比较陌生的一个主题.我好久没练习过wpf了,需要巩固记忆.我想了一会儿,打开动漫之家,忽然觉得这个看漫画的图片浏览控件有意思.于是特地花了一天做了这个图片控件.我原本以为很容 ...
- 【转载】 Python格式化字符串f-string概览
版权声明:本文为CSDN博主「sunxb10」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/sunxb10/a ...
- 服务器上运行 xvbf 时报错 —— Unknown encoder 'libx264'
解决方法: 使用conda环境(不具体交代) conda install ffmpeg 成功运行:
- 利用 Amazon EMR Serverless、Amazon Athena、Apache Dolphinscheduler 以及本地 TiDB 和 HDFS 在混合部署环境中构建无服务器数据仓库(一)云上云下数据同步方案设计
引言 在数据驱动的世界中,企业正在寻求可靠且高性能的解决方案来管理其不断增长的数据需求.本系列博客从一个重视数据安全和合规性的 B2C 金融科技客户的角度来讨论云上云下混合部署的情况下如何利用亚马逊云 ...