Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ESP8266
RT-Thread
瑞萨_RA6M4
【基于RT-Thread+RA6M4的新冠疫情监视器】--使用finsh实现
发布于 2022-07-25 01:38:10 浏览:816
订阅该版
首先非常荣幸能参与此次活动,在此得到了RT-Thread官方以及群里各位大牛的鼎力支持,感谢感谢。 1.打开RT-Thread Studio的SDK管理器,通过厂商过滤选择Renesas,添加我们此次的开发板到系统里。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/330a6003143b682079c80b7cb64fe4fc.png) 2.按照群里给出的git地址,获取FSP配置包https://github.com/renesas/fsp/releases/tag/v3.5.0 将setup_fsp_v3_5_0_rasc_v2021-10.exe安装,释放到合适位置(后续的Studio中会用到该路径)。 3.选择文件/新建/RT-Thread项目,选择基于开发板,找到刚刚下载好的CPK-RA6M4新建项目工程 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/cc1cbfb75d0e1e5492bb87788bab4a5d.png.webp) 4.新建好工程以后,就可以给开发板添加各类软件包了,因为我没有官方推荐的RW007无线模块,所以这里我选择使用ESP8266来负责网络通讯,使用Studio配置起来非常简单,双击打开RT-Thread Settings项进入到软件包配置工具,点击添加软件包,搜索at_device,即可添加进来 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/7e144c2c33871e9e4169fdfd4370e782.png) 5.右键选择配置项,进入具体配置页 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/e84d1cff8f2d705272b06c2a8b63e6e7.png) 如图勾选乐鑫ESP8266来添加ESP8266模块的驱动,下面按需求配置好WiFi名以及密码,我这里使用的串口0,设备端选择uart0,因为接收的数据会比较大,这里配置下缓存的数据长度为1024字节。 6.选择硬件标签页,找到芯片设备驱动,使能我们需要使用的串口0,RX的Buffer也适当调大一些。这里uart7默认是打开了的,这是给RTT的串口控制台使用的。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/c2314b00db145b8c6469bb74018c2180.png) 7.双击RA Smart Configurator ,第一次使用会提示你选择FSP所在的目录,打开并选择第2步里的路径即可。再次双击该项,即可打开DDSC Smart Configurator,可以看到uart7默认已经是配置好的了这里我们只需要新增NewStack增加一个串口即可,默认使用uart0, ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/0c76eb4a54c914cf8e42b176e5b2f3c5.png.webp) 在下面的具体配置参数里,有个callback的中断函数名,一定要和你选择的串口保持一样,否则编译的时候会报错 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/73c5f0cd164d7109d38dcb4bcd0f6048.png.webp) 配置好以后,选择生成代码就可以把IO功能配置完成了。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/49ad5ce31d2fbcbb1c39afbf63314116.png) 8.我们这里使用的是P101和P100两个口做为串口通讯,按要求插上ESP8266模块 ![screenshot_6873a5132db806b029248fac1703c62.jpg](https://oss-club.rt-thread.org/uploads/20220725/cf6674bb44fada329e6afe14bd8a7c93.jpg.webp) 9.点击保存按钮,Studio会保存相关配置信息,并下载对应的软件包信息,点击编译 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/15eb1c3ca62e0a95e32b63d8711ad4be.png) 确认没有错误信息以后,点击下载把程序下载到板子上 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/efcdba01d343748ac1c216533856fc9f.png) 10.因为Renesas的这块板载Jlink调试器并没有集成串口,所以这里我们需要单独找一个串口模块来连接单片机(注意单片机IO是3.3V,要注意你使用的串口模块IO电平是否合适),默认uart7的IO口使用的是P613和P614,我们连接上以后,打开一个串口终端,推荐使用Xshell,插上以后系统可能以及跑起来了,这时候按一下板上复位按钮,系统重启以后会重新打印上电信息。我们熟悉的RTlogo就出现了,并紧接着很快AT客户端(ESP8266模块)初始化和配置上网的信息就可以看到了。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/6916a84c7e240b017f88338a4bf92fec.png.webp) 红色的警告是说我使用的模块可能比较老,不支持这条指令,不过这里不影响我们使用,暂时可以不用理会。 测试下ifconfig和ping命令,都可以正常使用 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/f333249c3b6ddb6f1a0f264db88239a4.png) 这里我们就配置好了开发板的网络连接功能。 11.我们要获取网络平台上的信息,就需要像浏览器那样去使用http get方法或者是发送post请求,现在比较流行的方式是采用json格式的数据流传输,在嵌入式平台上恰好就有这么一个ujson的json格式解析实现。于是回到软件添加包的界面,我们陆续添加cJSON,WebClient两个软件包,在其各自的配置页面配置对应的功能实现即可,但是现在大多数的网站都已经采用HTTPS的方式进行访问,如果仅使用WebClient包是无法实现https格式的数据访问的,这里我们还需要添加mbedtls软件包以实现HTTPS访问,然后编译下试试看,嗯,还是报错,找找看原因,还缺少一个RTC组件,补上,时钟需要校准,于是找到一个 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/993769fd7fe588726795a6fa3d24e3f9.png) netutils的工具包,实现NTP自动对时功能,至此我们配置好了从web上获取网页数据的所有软件包,保存并下载一下测试OK。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/3a2e339aecdd8c7b148bf71148c7927d.png) 12.这里有一些疑惑,RTT里面的latest和版本最新的那个版本号(带数字那种)似乎并不是同一个版本,选择这里带数字的V2.2.0或者V2.1.2编译起来都会报错。选择lasest就不会出现这样的情况,TLS模式那里选择MbedTLS support。 要获取疫情数据,首先得选择一个数据平台,原本我是打算找支付宝的接口来使用的,后来在解决这里的MbedTLS通讯问题的时候,意外发现已经有前辈造好轮子了😂 ,在这里向前辈致谢(https://cloud.tencent.com/developer/article/1681087)。 ,既然已经有人把轮子造好了,那果断还是要薅一下代码的。最起码接口省的我去找了呀😂,前辈使用的是STM32实现的,这里正好,我把它移植到RA6M4平台上来好了。 下面的事情就比较简单粗暴了,直接copy过来,稍微修改下,编译通过后下载到开发板,使用Web Client自带的web_get_test函数可以正常获取到数据: ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/31041b8c6d6b5d15b3789e5a440283d9.png) 但是使用获取疫情数据的函数get_NCOE_Data就会卡死机,经过排查,发现是串口缓存设置的有点小,把它改大一点就好了 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20220725/c5ce87d3d118c090db105e3b1dd69060.png) 13.数据终于是获取到了,后面打算弄一个TFT的彩屏,移植一下LVGL驱动,把数据展示在屏幕上,这样看起来更直观而且不需要像现在这样手动刷新获取,驱动移植一直还没有弄好,晚点有时间再更。
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
CubeLine
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
RT-THREAD在STM32H747平台上移植lwip
2
正点原子miniSTM32开发板读写sdcard
3
反馈rtt串口驱动对低功耗串口lpuart1不兼容的问题
4
Keil MDK 移植 RT-Thread Nano
5
RT1061/1052 带 RTT + LWIP和LPSPI,有什么坑要注意吗?
6
RT thread HID 如何收发数据
7
求一份基于RTT系统封装好的STM32F1系列的FLASH操作程序
8
RT-Thread修改项目名称之后不能下载
9
rt-studio编译c++
10
有木有移植rt-thread(nano)到riscv 32位MCU上
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
a1012112796
10
个答案
1
次被采纳
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
YZRD
2
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部