RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气

前言

ART-PI自带的AP6212 WIFI模块,在RT-Thread Studio中来配置网络功能非常方便。本文主要配置ART-PI的网络功能,并且使能websocket软件包获取心知天气的数据。

ART-PI的网络功能是基于RT-Thread的WLAN设备框架,详细内容可参考以下链接:

参考资料

  • RT-Thread WLAN文档
  • 参考博客1
  • 参考博客2
  • 参考博客3(重要)

前期准备

软件准备

  • RT-Thread Studio:一站式的 RT-Thread 开发工具,通过简单易用的图形化配置系统以及丰富的软件包和组件资源,让物联网开发变得简单和高效。官网链接

硬件准备

  • RT-Thread 推出的ART-PI STM32H750开发板

添加网络功能

直接在自己的工程中使能AP6212库即可,编译下载后使用WLAN设备驱动的命令即可观察到现象。
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第1张图片
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第2张图片

通过官方提供的例程直接使能网络功能

官方的示例工程不仅完成了网络功能,还通过配置easyflash实现了wifi自动重连功能,值得借鉴,自动重连功能的实现流程见参考博客3.记得新建工程时要使用wifi的示例!
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第3张图片

编译下载观察现象

RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第4张图片
由于有自动重连功能,我烧写进板子后,自动搜索easyflash区域是否有相应数据,如果有,就用这个数据重连WiFi。

配置RTC和NTP软件包

RTC设备驱动文档

因为webclient软件包中若开启支持HTTPS加密的网络协议,就必须使板子上的时间和网络时间同步,否则无法使用HTTPS获取网络上的数据。需要配置软件模拟RTC,并且使能netutils软件包中的ntp协议,使RTC自动同步网络时间。

使能软件模拟RTC
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第5张图片
使能netutils软件包,并且使能ntp协议
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第6张图片
这时候会发现RTC设备已经自动配置了自动同步网络时间的功能。
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第7张图片
编译下载观察现象,会发现网络时间同步成功
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第8张图片

配置webclient软件包

TLS模式中选择MbedTLS,并且使能获取发布示例
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第9张图片

RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第10张图片
保存配置并编译

心知天气配置

https://www.seniverse.com/ 心知天气网址
注册并购买一个免费版的就可以了,在控制台上可以看到这样的信息
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第11张图片

找到文档中逐日天气预报和昨日天气
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第12张图片
点击链接就可以看到效果。location改成ip,就可以看到当地的天气。
在这里插入图片描述
复制这个链接,在开发板上实验即可观察到现象

获取天气实验

因为链接比较长,需要把finsh长度设置的长一点。串口助手的长度也要相应设长。
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第13张图片

编译烧写,并将刚才的网址输入终端,即可看到现象,https还有点问题,但是已经不影响使用了。
RT-Thread ART-PI 学习笔记:网络功能使用和websocket软件包获取心知天气_第14张图片
改成http就没问题了
在这里插入图片描述

返回的数据是json格式的,使用cjson软件包就可以解析数据了。

你可能感兴趣的:(RT-Thread,物联网,rtt)