首页 > 其他分享 >零基础学习Air724UG低功耗模组软件的FTP示例 | 演示篇

零基础学习Air724UG低功耗模组软件的FTP示例 | 演示篇

时间:2024-12-06 19:56:00浏览次数:5  
标签:FTP ftp 低功耗 示例 开发板 文件 服务器 下载

一文讲清Air724UG低功耗模组软件的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 开发板,如下图所示:

此开发板的详细使用说明参考:
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 卡槽中锁紧,如下图所示。

四、准备软件环境

4.1 下载调试工具

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

4.2 源码及固件

1)底层 core 下载

下载底层固件,并解压

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

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

本教程使用的 demo 见附件:

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

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

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

点击项目管理测试选项。

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

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

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

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

4.4 FTP 服务器

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

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

五、代码示例介绍

5.1 API 说明

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

5.2 ftp_test.lua 代码

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

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

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

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

5.3 main.lua 代码

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

六、开机调试

6.1 开发板开机

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

6.2 FTP 调试

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

显示目录下的文件

创建目录/ftp_test

下载 ftp 服务器的文件

下载成功返回 200。

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

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

上传文件至服务器

上传成功返回 200。

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

上传文件打印日志信息:

七、常见问题

7.1 关于不支持主动模式:

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

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

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

分享完毕。

标签:FTP,ftp,低功耗,示例,开发板,文件,服务器,下载
From: https://www.cnblogs.com/luatos/p/18583834

相关文章

  • Ansible常用模块及使用示例
    Ansible常用模块        每个Ansible模块都是一个独立的小程序或脚本,设计用来完成特定的任务。它们通常以Python编写,但也可以用其他语言。模块被设计为幂等的(idempotent),这意味着无论执行多少次,结果都是一样的,并且不会对系统造成不必要的改变。Ansible拥有大量的内置模......
  • 【TFTP文件传输,开发板与windows文件互传, SecureCRT中使用TFTP】
    目录列表一、从window下发送文件到板端挂载SD卡:启动板端服务器:windows中启动TFTP客户端单个文件发送:window中tftp命令:从当前本机,向远端192.168.1.27中发送C:\Users\Administrator\Downloads\test.wav文件使用bat脚本多文件发送:(注意检查更换目标IP地址、本地路径、......
  • 前端高级组件(树组与自动填充)封使用示例,看看封装表的青现理解思想就好,商业源码,不能泄
     第一先看树组件          以下是自动提示的封装,以下是效果 以下点击是肯它需要后端反回数据,参数是上面输的值,后端的接口应该如下:importcom.jfinal.core.ActionKey;importcom.jfinal.core.Controller;importcom.jfinal.core.paragetter.Para;......
  • QT - QOverload说明及示例
    在QT中,通常我们建立信号槽时信号和槽传递的参数是对应的,允许槽的函数比信号的函数少,但是排列顺序不能变。当信号的参数被重载或者信号参数与槽函数的参数不一致时,需要指定本次connect时信号使用的参数或者将信号使用的参数强转,这就用到了信号重载。比如常用的QComboBox类中的&QC......
  • Debian 12 安装vsftpd
    FTP基本概念连接方式FTP使用两个TCP连接,一个用于控制连接,用于传输命令和响应;另一个是数据连接,用于实际的文件上传下载的数据传输。在传输过程中,控制连接始终保持连接,而数据连接在文件传输过程中打开,传输完毕后关闭。数据连接分为以下两种模式:主动模式主动模式下,客户端从任意......
  • vsftp搭建虚拟用户模式
    一、CentOS1.安装vsftp以及相关依赖yum-yinstallvsftpd*pam*db4*·vsftpd:ftp软件·pam:认证模块·DB4:支持文件数据库关闭selinuxsetenforce0#暂时关闭sed-ri's#(SELINUX=)enforcing#\1disabled#'/etc/selinux/config#永久关闭grep^SELINUX=/etc/selinu......
  • 【RAS非对称加密算法】DEMO原理与示例
    fromCrypto.PublicKeyimportRSAfromCrypto.CipherimportPKCS1_OAEP#生成RSA密钥对defgenerate_rsa_keys():"""公钥是通过特定算法从私钥导出的,可以安全地公开。公钥用于加密数据或验证签名。私钥用于解密数据或生成签名。""......
  • linux基础项目02包含(DHCP、DNS、Samba、FTP)
    目录一、项目需求DHCP服务器主从DNS服务器Samba服务器FTP服务器二、实验开始前提准备DHCP服务器-192.168.180.100DNS服务配置主DNS配置:从DNS配置:samba服务配置samba服务器客户端:FTP服务器配置FTP服务器:客户端:这篇属于linux基础的实操项目,里面包含着DHCP......
  • linux - FTP(包含匿名、本地以及虚拟用户登录)详细操作⭐
    目录一、FTP服务的定义二、FTP服务的工作原理控制连接:数据连接:三、FTP服务搭建过程匿名用户登录:本地用户登录:虚拟用户登录一、FTP服务的定义FTP(FileTransferProtocol)即文件传输协议,是用于在网络上进行文件传输的标准协议。它运行在TCP/IP协议栈之上,采用客......
  • Python如何将Excel数据导入到MySQL数据库?详细教程与实战示例
    在数据处理和分析的过程中,我们常常需要将Excel数据导入到MySQL数据库中,以便进行更高效的查询和管理。那么,如何利用Python实现这一过程呢?本文将深入探讨Python将Excel数据导入到MySQL数据库的方法,并提供详细的教程和实战示例。无论您是初学者还是有经验的开发者,都可以通过本文掌......