【Arduino】【ESP】使用Arduino(ESP8266版本)获取雅虎天气信息,并使用点阵显示......进行中

来源:互联网 发布:诉苦大会 知乎 编辑:程序博客网 时间:2024/05/17 02:45

最近想用Arduino联网查询天气,用点阵显示。最开始使用2560配合网络模块,后来发现了Esp8266也能当做一个带有Wifi的arduino板(关键是便宜啊!有时间再鼓捣,目前就是刷了ESPEasy的固件,配合Domoticz在树莓上搭建一个智能家居的平台玩,后续再写相关的博客,将来家里就可以搭一套嘛~)。最后发现Arduino用点阵显示中文、网络接口、处理Json和处理的数据量还是有限,玩起来不太爽,将来工作的原因,也不想太写底层代码了,同时发现了树莓派可以使用Java来编写,就转去玩树莓了。这里贴上一些常用的资源,分享一下也做个备份。代码就不贴了,功能还没完成。

1、参考资源:

在线字符转换
雅虎天气woeid国内查询
   eg.枣庄26198084
雅虎天气官网
使用在线代码生成TemBoo查询天气
国外的类似Yeelink的平台,各种雅虎、youtube、推特等等api接口很丰富,可以直接生成直接运行的Arduino程序,当然还有其他平台的接口,功能很强大,推荐!缺点是不完全免费。日后有时间再玩。
解析雅虎天气API返回的XML数据
雅虎天气API使用笔记,雅虎天气api
雅虎天气开发者官网
2,、调试笔记

测试:
     在浏览器中输入https://query.yahooapis.com/v1/public/yql?q=select * from weather.forecast where woeid=26198084 and u="c"&format=json返回的Jason格式的数据图下图(树莓派查询天气也是用的这个接口):

  在JSON查看器中的数据为:


PS:<坑.....>写arduino中,url不能直接输入,使用浏览器中输入连接后,回车生成的格式适合放在代码中。当然也可以在线字符转换。
如链接 https://query.yahooapis.com/v1/public/yql?q=select * from weather.forecast where woeid=26198084 and u="c"&format=json 输入到浏览器中,
复制https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid=2502265%20and%20u=%22c%22&format=json到代码中。效果如下图:


新版的Arduino带有<ArduinoJson.h>文件,可以解析或者生成Json文件,功能很强大,Git项目地址





0 0
原创粉丝点击