一.前言
上节我们完成了网络功能的添加,现在我们要添加一些网络实用的小功能。
- 添加RTC时钟,并添加NTP自动校时
- 添加ftp功能,通过网络对flash及sd卡内容进行读取写入操作
这两个功能是非常实用的,我们的设备记录一些报警信息的时候,时间是必不可少的,为了时间的准确性,我们需要添加NTP网络校时功能。
同时我们的报警文件,只要设备连网,通过ftp服务就可以实时导出设备内的文件,那岂不是非常的方便,炫酷。
二.添加RTC时钟,并添加NTP自动校时
1.确保板卡网络连接:
2.添加RTC时钟,并添加NTP自动校时
3.添加netutils组件包
进行配置,打开NTP服务
使能NTP自动同步RTC
当前我们没有硬件RTC芯片,使用软件模拟的方式,同时没有电池,通过NTP自动同步时间,在项目应用中RTC用来进行一些报警信息提供时间,一般是要加电池的,方式设备断电后时间丢失。
4.下载到板卡中,查看一下时间:
此时的时间可以看到是正常的。
三.添加FTP文件传输功能
在linux中我们经常使用FTP进行文件的传输,很是方便,假如现在我们有很多报警文件存储在flash中,此时通过网络ftp功能直接操作flash中的文件,想想是不是很爽。
在RT-thread中可以轻松实现这个功能。
特别感谢lib库的提供者:https://github.com/loogg/ftp 可以看下他的git。
1.添加FTP库
2.然后还需要添加个初始化函数
这里从main.c添加
#include <ftp.h>
int ftp_server()
{
ftp_init(2048,27,100);
return 0;
}
MSH_CMD_EXPORT(ftp_server,start ftp server);
3.编译下载:
1》查看下我们板卡的IP地址
2》开启ftp服务器
3》打开FileZila软件,进行连接测试
这里我使用了其他软件测试,但是并没有尝试成功,直接使用这个软件一下就成功了,可能是配置的问题吧,同时我们还要注意电脑和板卡的连接状态,检查防火墙,杀毒软件及公司是否禁用了IP等。
主机:192.168.40.113(板卡IP)用户名:loogg(默认)密码:loogg 端口:21(默认)
4.我们进入git上具体看下这个lib的关键内容:
虽然大佬没有提供源码,目前lib库已经够用了。