利用单片机实现天气服务器获取指定位置天气数据

大家好,今天主要和大家聊一聊,如何利用单片机从心知天气服务器上获取到指定位置的天气数据,咱们先来了解一下心知天气吧!?

目录

第一:天气数据API

第二、通信原理图以及数据解析

第三、天气数据返回结果示例

1.天气现象代码说明

2.天气现象优先级

3.多语言支持说明

四、软件代码实现


第一:天气数据API

其中用户使用免费版可以调用哪些数据/p>

  1. 天气实况,包括天气现象文字、代码和气温三项重点数据

  2. 未来3天天气预 ,包括白天天气现象文字及代码、晚间天气现象文字及代码、当天最高温度和最低温度、风向风速

  3. 六项基本类生活指标,包括穿衣、紫外线强度、洗车、旅游、感冒、运动指数

第二、通信原理图以及数据解析

如何获取这些数据们可以通过一个原理框架图来看一看

天气实况接口参数及数据返回

心知天气TCP地址:api.seniverse.com

端口 (PORT):80

数据返回:获取指定城市的天气实况。付费用户可获取全部数据,免费用户只返回天气现象文字、代码和气温 3 项数据。

接口地址格式:https://api.seniverse.com/v3/weather/now.jsoney=your_api_key&location= beijing&language=zh-Hans&unit=c

参数说明:

参数名称 类型 默认值 必填 备注
key String 你的API密钥
location Location 所查询的位置
language Languae zh-Hans 语言
unit Unit c 单位

补充:

两种API安全验证方式:

1.”私钥“直接请求方式

将API密钥中的”私钥“作为API请求中的key参数值。

说明:此方式较为方便,但注意请不要泄露你的”私钥“。

2.”公钥+私钥“签名验证方式

“公钥 + 私钥” 验证方式更加安全。请求地址中只包含你的“公钥”以及用你的“私钥”制作的签名,因此 不会在请求地址中泄露你的私钥。方法见链接:

第三、天气数据返回结果示例

补充:

1.天气现象代码说明

每一种天气现象(例如:晴、小雨、多云等)都对应一个天气现象代码,即 API 返回结果中的 code字段。下表列出了心知天气 API 所有可能返回的天气现象代码。注:部分天气现象提供白天和夜间两种代码。

代码 中文 英文 图标

0

晴(国内城市白天晴)

Sunny

1

晴(国内城市夜晚晴)

Clear

2

晴(国外城市白天晴)

Fair

3

晴(国外城市夜晚晴)

Fair

表格尾注:这里仅放一种情况说明

2.天气现象优先级

  • 第一优先级:冰雹、雷暴、冰粒、冰针、龙卷风、热带风暴

  • 第二优先级:雪

  • 第三优先级:雨

  • 第四优先级:风和沙尘类(浮尘、扬沙、沙尘暴、风、大风、飓风)

  • 第五优先级:雾霾

  • 第六优先级:其他天气现象

3.多语言支持说明

    心知天气 API 支持 13 种语言,分别为:中文(简体、繁体),英语,日语,德语,法语,俄语,西班牙语,葡萄牙语,泰语,阿拉伯语,印尼语,印地语。多语言支持向心知天气的所有注册用户开放,无论免费用户还是付费用户,都可以通过接口的language参数改变返回数据的语言。

可选

说明
zh-Hans 简体中文
zh-Hant 繁体中文
en 英文
ja 日语
de 德语
fr 法语
es 西班牙语
pt 葡萄牙语
hi 印地语
id 印度尼西亚语
ru 俄语
th 泰语
ar 阿拉伯语

        注意:language 为可选参数。如果忽略,返回数据的默认语言为简体中文(默认值为zh-Hans)。气象灾害预警、农历、节气、生肖接口无多语言支持。生活指数的 details 无多语言支持。

四、软件代码实现

  • 串口收发配置

  • ESP8266基本功能配置

  • 数据解析函数

  • OLED显示

工程代码过于冗长,在此将实验功能视频以及工程代码都放于链接中,读者过后可以去尝试实现它!特别棒!?

总结:本次实验并不复杂,却拓展了我们的单片机领域,是我们向 络通信领域迈入的重要一步!

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月26日
下一篇 2022年9月26日

相关推荐