RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置

前言

在之前的学习中,初步掌握了对文件系统的使用和配置,并将AP6126作为WiFi网卡上网。SD卡和flash作为文件的存储载体,若想向其中置入文件,SD卡通常采用读卡器的方式向其中置入文件,而flash需要通过更为复杂些烧写算法才能向flash里置入文件。rtthread提供了FTP服务器功能的软件包,可以在嵌入式平台上开启一个FTP服务器,电脑端通过网络和FTP工具向板子上已经挂载到文件系统的SD卡和flash上烧写文件。

同时本文还将记录RT-Thread Git工具的使用

在实验过程中也借鉴了不少大佬博客里的操作,在这里感谢他们的分享

参考链接

Art_Pi学习笔记3:学习驱动wifi模块AP6212

【STM32H750】玩转ART-Pi(六)——添加FTP服务器

代码下载

本文演示代码:https://download.csdn.net/download/weixin_42487906/21110783?spm=1001.2014.3001.5503

前期准备

软件准备

  • RT-Thread Studio 2.1.1:一站式的 RT-Thread 开发工具,通过简单易用的图形化配置系统以及丰富的软件包和组件资源,让物联网开发变得简单和高效。官网链接
  • Xshell或类似的串口调试工具
  • Xftp或teamView等电脑端ftp工具

硬件准备

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

实验步骤

创建项目

创建基于开发板的项目,BSP版本为1.2.1,基于art-pi-wifi示例创建项目,这样就不用手动配置wifi模块了,并且示例项目带自动重连功能

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第1张图片

编译进开发板后串口持续显示没有找到wifi,并且阻碍finsh的输入,下面分析原因

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第2张图片

这块开发板我再其他地方使用过,链接的是当时那个地方的wifi,wifi帐号和密码已经被记录在flash里面,为了重新链接我现在位置的wifi,我使用另外一个串口输入输出不冲突的串口终端链接新的wifi如下图

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第3张图片

新的wifi链接成功

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第4张图片

配置文件系统

使能sdcard和flash文件系统

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第5张图片

软件包中多出了littlefs这个文件系统,他是用来挂载板子上16MB的NOR Flash的其中一个分区的

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第6张图片

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V6XJ7qxn-1629124217841)(https://raw.githubusercontent.com/FranHawk/blogpic/main/image-20210815111054164.png)]

16MB的NOR FLASH分区如下图,其中easyflash也管理着其中的一个分区,可以用来保存wifi密码等一些参数

而fliesystem分区就是被littlefs文件系统管理,最后将这个分区挂载到\flash这个文件夹中

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第7张图片

编译并烧写程序

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第8张图片

mount to ‘/flash’ success,现在是没插sd卡,虽然ls发现根文件系统中有两个目录,但是只有flash实现了挂载,没有插sd卡所以sdcard是不能用的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RyUw90yZ-1629124217843)(https://raw.githubusercontent.com/FranHawk/blogpic/main/image-20210815112146462.png)]

若sd卡插上了串口终端会显示上面的信息

配置FTP服务器

使能FTP Library

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第9张图片

FTP库 github仓库

使用说明如下图

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第10张图片

根据使用说明,在mian.c中添加如下代码

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第11张图片
#include 
#ifdef ART_PI_USING_FTP_LIB

int ftp_server()
{
    ftp_init(2048,27,100);
    return 0;
}

MSH_CMD_EXPORT(ftp_server,start ftp server)
#endif

编译并烧写进板子

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第12张图片

命令行输入ftp_server启动FTP服务器,看到板子连上wifi,ip地址为192.168.1.103

电脑端连接FTP服务器

电脑和开发板连接同一个wifi

打开xftp或者类似的ftp工具,输入开发板的ip地址,输入用户名,密码,默认都是loogg

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第13张图片 RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第14张图片

记得不要勾选 使用被动模式,点击连接,就可以访问开发板上的文件系统了,可以相互传输文件

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第15张图片

RT-Thread Git工具的使用

参考博客

git工具可以便捷地向管理软件版本,这里记录git工具的使用过程

在工程右键打开小组,选择共享项目

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第16张图片

创建代码仓库

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第17张图片

然后点击完成,这时候小组下就出现了git的相关操作

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第18张图片

点击提交

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第19张图片

输入落实消息,点击commit提交到本地仓库,若配置了远程仓库如github,可以点击commit and push 提交到远端仓库

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第20张图片 RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第21张图片

在Show in history中可以看到提交记录

在github上创建一个代码仓库,clone这个仓库的git地址

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第22张图片

在rtt studio的git 存储库右键远程仓库,点击create remote

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第23张图片 RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第24张图片

将github仓库地址复制进去,要注意最近github不再允许采用邮箱和密码的方式访问,要申请一个token或ssl密钥,这个要各位再去查下该怎么操作

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第25张图片

设置完成后点击保存,完成与远程仓库的连接

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第26张图片

可以看到已经创建成功

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第27张图片

在小组中点击push,代码上传到github上

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第28张图片

点击Preview

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第29张图片

点击推送

RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第30张图片 RT-Thread ART-PI 学习笔记:FTP功能和RTTstudio Git插件使用和配置_第31张图片

完成后进入github可以看到已经上传成功

你可能感兴趣的:(RT-Thread)