本帖最后由 topdog 于 2019-9-23 23:32 编辑
openweather是一家开源的气象网站,可以免费申请气象信息,数据详实更新及时。https://openweathermap.org/ 注册一下。
登录以后,https://home.openweathermap.org/api_keys 网站会给你一个密钥。
在网站 https://openweathermap.org/api 里面有各种的官方介绍,大家可以仔细阅读一下。网站 https://openweathermap.org/current 里面有通用的API,目前免费的网站协议是2.5版本的。
我在这里列举两种:
(1)使用城市的ID查询当地的气象数据 api.openweathermap.org/data/2.5/weather?id=1798524&APPID=*****密钥***** ,其中id=1798524 是上海浦东的ID,具体列表见附件文件,
(2)使用经纬度定位查询当地的气象数据 api.openweathermap.org/data/2.5/weather? lat=31.14&lon=121.52&APPID=*****密钥***** ,其中 lat=31.14&lon=121.52 是上海浦东三林公园的东经北纬定位信息,大家可以使用google地图获得,系统会自动寻找到距离最近的气象信息点康桥。 本例子我们使用第一个API,复制黏贴到谷歌浏览器的地址栏,openweather会反馈铺满整个屏幕的典型的json数据。microduino虽然很强大,但是内部存储空间也有限。因此,我们只能截取其中的一段来解析。根据原先的设计,本例子的是结合U8g2lib自带的图标来表达天气状况。所以从dt一直截取到icon。其中有"[" 和"]"会影响到解析,那么必须做相应的处理。解析json数据本列使用Arduinojson,我们升级到最新的6.12.0版本。
|