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. 彻底理解Linux的DISPLAY变量的作用

    背景 最近遇到个两年前遇到的问题,使用virt-manager提示(virt-manager:873): Gtk-WARNING **: 14:53:28.147: cannot open displ ...

  2. 第六节 JMeter基础-中级登录【用户自定义变量】

    1.认识JMeter (1)配置元件:配置对应的一些数据 (例如:HTTP请求默认值.用户定义的变量) (2)[HTTP请求默认值]:HTTP请求默认值是设置的Web服务器部分信息,可以贯穿多个接口. ...

  3. 题解:CF1984B Large Addition

    题解:CF1984B Large Addition 题意 判断 \(n\) 是否是两个位数相同的 \(large\) 数的和. 思路 有以下三种证明方法: 最高位为 \(1\),因为两个 \(larg ...

  4. Zabbix 5.0 LTS 配置企业微信(Webhook)自动发送告警信息

    依据前面文章<Zabbix 5.0 LTS URL 健康监测>环境,实现企业微信(Webhook)自动发送告警信息. 一.创建企业微信机器人 先在自己的企业微信群里创建一个机器人,并获取其 ...

  5. hadoop 查看日志

    告警和日志信息监控 hadoop集群启动 su - hadoop #切换到hadoop用户 [hadoop@master ~]$ start-all.sh #启动 zookeeper集群启动 zkSe ...

  6. Known框架实战演练——进销存财务管理

    本文介绍如何实现进销存管理系统的财务对账模块,财务对账模块包括供应商对账和客户对账2个菜单页面.供应商和客户对账字段相同,因此可共用一个页面组件类. 项目代码:JxcLite 开源地址: https: ...

  7. sql语句排序无效的问题

    数据可视化时因为数据类型排序无效的问题:这是由于你要排序的类型是String类型的而ORDER BY 方法排序要求整数型. 这就需要在ORDER BY 后加 CAST(需要排序的字段 AS UNSIG ...

  8. 【Maxwell】03 定向监听&全量输出

    一.定向监听 定向监听,即只监听某一个特定的表,或者库 1.创建样本案例 -- 创建监听的库(演示样本) CREATE DATABASE `test-db-2` CHARACTER SET 'utf8 ...

  9. jmeter 使用非 GUI 模式运行测试脚本

    使用非 GUI 模式运行测试脚本时可以使用的一些命令:-h 帮助 -> 打印出有用的信息并退出-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter-t 测试文件 -> ...

  10. Electronics投稿指南

    原地址: https://m.peipusci.com/news/10593.html Electronics的自引率先增后减,2023年度为10.3%.