在分析代码之前,首先介绍 ArduinoJson 库的安装及“心知天气”的ID申请
一、安装 ArduinoJson 库
进入 Arduino 开发环境后,选择菜单栏-->工具-->管理库,搜索“arduinojson”。尽量使用 ArduinoJson 5.x 版本,因为 6.x 版本有很大的改动。
二、申请“心知天气”的个人APIKEY
首先进入“心知天气”主页,点击此处访问
注册并登陆后,点击“立即免费试用”
申请免费版
获取自己的API密钥
三、“心知天气”API简介
本部分内容参考自:https://www.jianshu.com/p/fd8c84e40994
1. API 请求参数
本实验中,language 的参数值选用“zh-Hans”简体中文,unit 的参数选用“c”。(想了解更多参数范围请看参考链接)
2. API 响应参数
参考一个请求的 Json 数据的实例,应该能较直观地理解 Json 数据包的格式:
引用数据时,用类似数组的引用方式。
例如,若想引用地区名 “杭州”,则使用:
四、代码分析
本次实验代码已上传至本人 github 账号:点击此处查看完整代码
1.变量设置
2.初始化
在这一步中 设置串口的波特率,连接WiFi,设置客户端超时时间
3.循环体
首先判断 tcp client 是否处于连接状态,若不是,则尝试建立连接。连接成功后,发送 http 请求,并且跳过响应头,直接获取响应 body。
4.自定义函数详解
(1) 连接到WiFi
(2) 发送 http 请求
(3) 跳过响应头
(4) 读取响应的正文信息
(5) 分析 Json 数据包
(6) 打印数据
(7) 停止客户端访问
(8) 清除缓存
五、串口输出样例
六、总结
在本次实践中,我初步理解了 Json 数据包的格式及用法。希望以后可以做出更为复杂的应用。
到此这篇arduino esp8266天气(esp8266显示天气)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/50441.html