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库。

江湖很大,你我相遇在此有一定缘分,可以考虑加个QQ群聊聊人生,技术离不开生活,生活离不开聊聊。
 
 

.

没时间做获取天气的实验 三分钟! 给您看清如何通过HTTP GET请求 获取天气预报的更多相关文章

  1. 并发Bug之源有三,请睁大眼睛看清它们

    写在前面 生活中你一定听说过--能者多劳 作为 Java 程序员,你一定听过--这个功能请求慢,能加一层缓存或优化一下 SQL 吗? 看过中国古代神话故事的也一定听过--天上一天,地上一年 一切设计来 ...

  2. 高德地图API获取天气

    1.建立行政区规划清单表 use edw; drop table if exists dim_prov_city_adcode; create table if not exists dim_prov ...

  3. 想做长期的 AB 实验?快来看看这些坑你踩了没

    作者:江颢 1.什么是长期的 AB 实验 大部分情况下,我们做的 AB 实验都是短期的,一到两周或者一个月之内的,通过分析这段时期内测得的实验效应得出实验结论,并最终进行推广. 长期实验即运行时间达数 ...

  4. ESA2GJK1DH1K升级篇: 升级STM32 预热: 单片机每隔一定时间 使用 http 获取天气

    前言: 实现功能概要: STM32使用AT指令控制Wi-Fi以TCP方式连接服务器(YY天气Web服务器),然后使用http的get协议获取今天的天气数据 单片机提取今天的温度和湿度数据,把温湿度数据 ...

  5. Java实验报告(实验三)

    课程:Java程序设计          班级: 1351 姓名:王玮怡                学号:20135116 成绩:             指导教师:娄嘉鹏       实验日期: ...

  6. 实验三:敏捷开发与XP实践

    Java实验三报告 一.   实验内容 (一)敏捷开发与XP 内容:1.敏捷开发(Agile Development)是一种以人为核心.迭代.循序渐进的开发方法. 2.极限编程(eXtreme Pro ...

  7. 2016-2017-2 20155339 《Java面向对象程序设计》实验三敏捷开发与XP实践实验报告

    2016-2017-2 20155339 <Java面向对象程序设计>实验三敏捷开发与XP实践实验报告 实验内容 XP基础 XP核心实践 相关工具 实验内容 一.在IDEA中使用工具(Co ...

  8. 20175308 实验三《敏捷开发与XP实践》

    20175308 实验三<敏捷开发与XP实践> 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 完成实验.撰写实验 ...

  9. 20145213《Java程序设计》实验三敏捷开发与XP实践

    20145213<Java程序设计>实验三敏捷开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 1.敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法 ...

  10. 20145208 实验三 Java面向对象程序设计

    20145208 实验三 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...

随机推荐

  1. PowerShell 使用 Azure

    PowerShell 使用 Azure Azure 提供了三种管理工具: Azure 门户:Azure 门户是一个网站,可在其中创建.配置和更改 Azure 订阅中的资源,该门户是一个图形用户界面 ( ...

  2. GUN/Linux 基础教程

    GUN/Linux 基础教程 控制台 shell 超级用户 root 辅助管理 CLI 软件 文件基础 目录 链接 设备文件 控制台 shell 在启动 Linux 系统后,如果没有安装 GUI 的话 ...

  3. 关于failed to load resource 问题的处理

    问题: c++做插件,写了一个native class,继承于ue的类ActorComponent,而蓝图里也继承了这个c++ class,都在插件里,每次打开的时候就有这个错误: 之前的解决办法,复 ...

  4. 逆向动态加载Dex(内存加载class)

    逆向一个app, 其核心算法是通过反射调用的, 反编译软件中无法找到该类, 并且也无法hook. Java.perform(function(){ Java.enumerateClassLoaders ...

  5. 【Spring】03 XML配置

    Alias别名设置 可以为一个Bean的ID再设置一个ID 多一个可用标识,大概... 在获取实例注入参数时,两个标识都可以使用 除了Alias可以设置别名之外,Bean的标签本身也可以设置第二别名 ...

  6. 【Android】构建Android12项目报错

    报错信息: Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Man ...

  7. 【C3】03 如何构建

    既然你已经了解了什么是CSS,以及使用CSS的基础知识,是时候更深入的了解该语言本身的结构了. 我们已经见过了本页讨论的很多概念:如果在之后对某些概念感到困惑的话,可以返回至此进行回顾. 前置知识 在 ...

  8. 【TypeScript】02 面向对象

    [联合类型] 联合类型(Union Types)可以通过管道(|)将变量设置多种类型,赋值时可以根据设置的类型来赋值. 注意:只能赋值指定的类型,如果赋值其它类型就会报错. var val:strin ...

  9. "观察者" 网站上不错的对社会问题进行思考的文章--------------- 分享

    原文地址:      https://www.guancha.cn/weichengling 在网上无意中到了下面的文章,对社会热点问题有较为全面的思考,感觉不错,分享一下. ------------ ...

  10. WarpDrive 教程 第一部分修改版

    本文参考: https://www.cnblogs.com/devilmaycry812839668/p/15327509.html warpDrive是一个python库,目的是使用GPU并行运行多 ...