轻松攻克低功耗4G模组软件的FTP示例!

电子说

1.3w人已加入

描述

今天是以Air724UG模组为例,轻松攻克低功耗4G模组软件的FTP示例。

一、简介

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。

FTP 协议包括两个组成部分,其一为 FTP 服务器,其二为 FTP 客户端。其中 FTP 服务器用来存储文件,用户可以使用 FTP 客户端通过 FTP 协议访问位于 FTP 服务器上的资源。在开发网站的时候,通常利用 FTP 协议把网页或程序传到 Web 服务器上。此外,由于 FTP 传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下 FTP 协议使用 TCP 端口中的 20 和 21 这两个端口,其中 20 用于传输数据,21 用于传输控制信息。但是,是否使用 20 作为传输数据的端口与 FTP 使用的传输模式有关,如果采用主动模式,那么数据传输端口就是 20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

二、演示功能概述

本教程教你如何使用开发板登录 FTP 服务器访问服务器资源。

功能定义:

1、登录 FTP 服务器

2、读取服务器上的文件资源 

3、在 FTP 服务器上创建目录

三、准备硬件环境

3.1 开发板准备

使用 EVB_Air724 开发板,如下图所示:

FTP

此开发板的详细使用说明参考:
https://docs.openluat.com/air724ug/product/

Air724UG 产品手册 中的《EVB_Air724UG_AXX 开发板使用说明》,写这篇文章时最新版本的使用说明为:《EVB_Air724UG_A14 开发板使用说明》;开发板使用过程中遇到任何问题,可以直接参考这份使用说明文档。

api文档:
https://doc.openluat.com/wiki/21?wiki_page_id=2068

3.2 数据通信线

USB 数据线一根(micro USB)

3.3 PC 电脑

WIN7 以及以上版本的 WINDOWS 系统。

3.4 SIM 卡

中国大陆环境下,可以上网的 SIM 卡。一般来说,使用移动,电信,联通的物联网卡或者手机卡都行。

3.5 组装硬件环境

USB 数据线插入 USB 口,另一端与电脑相连,拨码开关全部拨到 ON,串口切换开关选择 UART1,USB 供电的 4V 对应开关拨至 ON 档,SIM 卡放到 SIM 卡槽中锁紧,如下图所示。

FTP

四、准备软件环境

4.1 下载调试工具

使用说明参考:
Luatools下载和详细使用:
https://docs.openluat.com/Luatools/

4.2 源码及固件

1)底层 core 下载

下载底层固件,并解压

链接:
https://docs.openluat.com/air724ug/luatos/firmware/

如下图所示,红框的是我们要使用到的

FTP

本教程使用的 demo 见附件:

https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/ftp

4.3 下载固件和脚本到开发板中

打开 Luatools,开发板上电开机,如开机成功 Luatools 会打印如下信息。

FTP

点击项目管理测试选项。

FTP

进入管理界面,如下图所示。

FTP

点击选择文件,选择底层固件,我的文件放在 D:luatOSAir724 路径中

FTP

点击增加脚本或资源文件,选择之前下载的程序源码,如下图所示。

FTP

点击下载底层和脚本,下载完成如下图所示。

FTP

4.4 FTP 服务器

本文测试用的服务器的地址,端口号,用户名,密码为:
 "121.43.224.154",21,"ftp_user","3QujbiMG"。

如果使用其他服务器请自行修改。

五、代码示例介绍

5.1 API 说明

ftp 的 API 在 LuatOS lib 有做封装,建议直接用 lib 的 API 接口。

FTP

5.2 ftp_test.lua 代码

系统启动后演示 5 秒,登录 FTP 服务器,等待登录成功后,查看服务器信息、显示目录下文件、显示文件详细信息、显示工作目录、创建目录等操作。

下载 ftp 服务器的文件至 sd 卡目录,/1040K.jpg", "/sdcard0/1040K.jpg"

从 sd 卡目录上传文件至服务器,/sdcard0/ftp_lib_test_up.txt"

在 ftp_test.lua 这个文件中将登录中的地址,端口号,用户名,密码等必要信息修改为自己服务器的。

FTP

 

FTP

 

FTP

 

FTP



 

5.3 main.lua 代码

本代码为主程序脚本,系统启动后首先会对 4G 网络进行配置,然后加载 FTP 测试模块。

六、开机调试

6.1 开发板开机

连接好硬件并下载固件后,启动 Luatools 软件,系统运行信息将显示在界面中。红框中为开发板连接到 PC 机后正常打印的信息,如下图所示。

FTP

6.2 FTP 调试

FTP 登录服务器,并且获取信息。

FTP

显示目录下的文件

FTP

 

FTP

创建目录/ftp_test

FTP

下载 ftp 服务器的文件

下载成功返回 200。

下载前 FTP 服务器的数据如下:

FTP

 

FTP

下载文件的打印日志信息:

FTP

上传文件至服务器

上传成功返回 200。

上传成功后 FTP 服务器的数据如下:

FTP

 

FTP

上传文件打印日志信息:

FTP

七、常见问题

7.1 关于不支持主动模式:

模块 ftp 默认是被动模式,不支持主动模式,无法设置主动模式,公网下要想模块正常连接服务器,服务器肯定不能设置为主动模式,否则哪家模块都不能用。

7.2 发送带 0x0d 0x0a 这些数据会丢失

需要通过 ftp.checktype(“I”,0)设置为二进制方式传输文件,否则传输过程中会丢弃换行符。

分享完毕,欢迎关注

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分