0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分步实操 | Air724UG低功耗模组软件中复刻高效FTP示例!

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2024-12-03 11:45 次阅读

本文要说的是低功耗4G模组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 开发板,如下图所示:

wKgZPGdNwmyANWvYABZs-LtAF10363.png

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

wKgZO2dNwnyASnH-AAxv8ibHwXQ147.png

四、准备软件环境

4.1 下载调试工具

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

4.2 源码及固件

1)底层 core 下载

下载底层固件,并解压

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

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

wKgZO2dNwomARDezAAZUwBDSLnY512.png

本教程使用的 demo 见附件:

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

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

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

wKgZO2dNwpaAXNRpAATMcrTlPGg164.png

点击项目管理测试选项。

wKgZO2dNwqGADYIaAAFGOTc2VAU956.png

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

wKgZPGdNwq-AAmHvAAMHtOjhStI834.png

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

wKgZPGdNwriAP55iAACqoAIeUx8931.png

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

wKgZO2dNwsGAJXEVAAHbBwWdqOk295.png

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

wKgZPGdNwsyAUeg4AAGpeCmZpvY318.png

4.4 FTP 服务器

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

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

五、代码示例介绍

5.1 API 说明

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

wKgZO2dNwtiARIIbAANOs_Ffemg894.png

5.2 ftp_test.lua 代码

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

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

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

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

wKgZPGdNwuqAFYtLAAOW9xBEk-Q924.pngwKgZPGdNwveAIBOxAAS1gluC2f4223.pngwKgZO2dNwwSAYMecAARxNo3dENc525.pngwKgZPGdNwxGATdRnAAJ6AQIcjHk963.png


5.3 main.lua 代码

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

六、开机调试

6.1 开发板开机

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

wKgZO2dNwyCATBOBAANJgaKlTwk417.png

6.2 FTP 调试

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

wKgZO2dNwyqAT802AAY9kLuydiE761.png

显示目录下的文件

wKgZPGdNwzmAHxqgAA8QbzHgIww002.png

wKgZO2dNw0SAWLoNAAOjTSrS8bc284.png

创建目录/ftp_test

wKgZPGdNw1KAW-VQABA8IIqln-w437.png

下载 ftp 服务器的文件

下载成功返回 200。

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

wKgZO2dNw2WAfdLMAA8cs0fakmg530.pngwKgZPGdNw3OAQz53AAnaqHrBD6E221.png

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

wKgZO2dNw36AQRINAAYjd8qEEo0815.png

上传文件至服务器

上传成功返回 200。

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

wKgZPGdNw42AFy2JAA3V7wwJSNo717.pngwKgZO2dNw5qAebXJAAVTskXgDF4441.png

上传文件打印日志信息:

wKgZPGdNw6mAeFEaAApKnJbNtCw182.png

七、常见问题

7.1 关于不支持主动模式:

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

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

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

分享完毕。

审核编辑 黄宇

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

    关注

    205

    文章

    2340

    浏览量

    107472
  • 嵌入式硬件
    +关注

    关注

    1

    文章

    929

    浏览量

    8226
收藏 人收藏

    评论

    相关推荐

    FTP应用看这篇!合宙Air780EP低功耗4G模组AT开发示例

    Air780EP是合宙的[低功耗4G模组]之一,支持全系列的AT指令以及LuatOS脚本二次开发。 本文应各位大佬邀请,详细讲解了Air780EP
    的头像 发表于 09-29 09:36 1774次阅读
    <b class='flag-5'>FTP</b>应用看这篇!合宙<b class='flag-5'>Air</b>780EP<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模组</b>AT开发<b class='flag-5'>示例</b>

    air724ug开发板

    air724ug开发板,最近购买了一块4G开发板来玩玩,做个开发记录开发板采用合宙Air724UG模块作为主控,没有外挂其它单片机,原来的2/4G模块都是通过AT指令串口外挂单片机,此模块本身带有
    发表于 07-22 07:25

    STM32+Air724UG基本控制篇

    Air724UG,4G Cat.1全网通③基本外设:液晶OLED(IIC); RGB三色灯;温湿度传感器(DHT1...
    发表于 08-20 06:09

    Air724UG模块及其硬件接口规范

    1. 绪论本文档定义了Air724UG模块及其硬件接口规范,电气特性和机械细节,通过此文档的帮助,结合我们的应用手册和用户指导书,客户可以快速应用Air724UG模块于无线应用。2.综述2.1
    发表于 11-11 06:44

    Air724UG是什么

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Air724UG是什么?二、AT是什么?三、服务器是什么?四、我们要做什么?五、我们该怎么做?0.准备工作1·连接模块
    发表于 12-13 07:07

    AIR724UG模块AT指令响应时间发送指令后一定要等回复吗

    AIR724UG模块AT指令响应时间发送指令后必须等待回复,然后才能进行下一个指令操作。
    发表于 03-02 06:20

    怎么解决通过air724ug获取位置信息后通过mqtt发送到云端遇到的问题

    我想通过air724ug模块获取定位后,在通过mqtt发送到云端,但是查询了位置信息之后mqtt就断了 我是通过串口发送AT指令来获取位置信息的 软件包用的是at_device下的air720,mqtt用的是pahomqtt
    发表于 04-27 11:41

    缘起Air724UG,Cat.1网红“猫”到物联网行业应用经典之选

    提起Air724UG,总让人想起2020年的春天。群雄竞起,各大模组厂商纷纷涌入激荡的4GCat.1市场。相比之下,合宙Cat.1产品上市不算早,却以“发布即量产,用产品说话”的独有风格宣告开启物
    的头像 发表于 08-31 09:55 2474次阅读
    缘起<b class='flag-5'>Air724UG</b>,Cat.1网红“猫”到物联网行业应用经典之选

    合宙超低功耗蓝牙网关模组——Air724UG-BL全新方案来了

    庞大,解决蓝牙上云的问题尤为关键。合宙计划推出一款超低功耗蓝牙网关模组——Air724UG-BL。1Air724UG-BL产品规划合宙Air724U
    的头像 发表于 12-15 08:04 1879次阅读
    合宙超<b class='flag-5'>低功耗</b>蓝牙网关<b class='flag-5'>模组</b>——<b class='flag-5'>Air724UG</b>-BL全新方案来了

    Air724UG软件:ADC功能的创意展示

    今天我将对Air724UG软件的ADC功能做出详细示例,大家可以先收藏,再慢慢细读,绝对有收获。
    的头像 发表于 11-17 09:53 242次阅读
    <b class='flag-5'>Air724UG</b><b class='flag-5'>软件</b>:ADC功能的创意展示

    4G模组PWM接口:技术要点

    今天我们讲解的是4G模组PWM接口的技术要点,以我常用的模组Air724UG为例分享出来。
    的头像 发表于 11-20 23:29 163次阅读
    4G<b class='flag-5'>模组</b>PWM接口:技术<b class='flag-5'>实</b><b class='flag-5'>操</b>要点

    4G模组Air724UG软件示例:UDP实战演练!

    关于4G模组Air724UG软件的UDP示例,今天我将对其实战演练,整理成文示例展示:
    的头像 发表于 11-26 12:10 89次阅读
    4G<b class='flag-5'>模组</b><b class='flag-5'>Air724UG</b><b class='flag-5'>软件</b><b class='flag-5'>示例</b>:UDP实战演练!

    4G模组Air724UG软件教程:KEYPAD示例

    本回我要说的是低功耗4G模组Air724UG的KEYPAD示例,我已整理成文,特供大家参考。
    的头像 发表于 11-30 09:44 145次阅读
    4G<b class='flag-5'>模组</b><b class='flag-5'>Air724UG</b>的<b class='flag-5'>软件</b>教程:KEYPAD<b class='flag-5'>示例</b>!

    藏箱子里Air724UG模组LuatOS开发的HTTP示例

    今天我们来学习的是我珍藏已久的低功耗模组Air724UG的LuatOS开发HTTP示例,献给大家。
    的头像 发表于 11-30 09:42 132次阅读
    藏箱子里<b class='flag-5'>Air724UG</b><b class='flag-5'>模组</b>LuatOS开发的HTTP<b class='flag-5'>示例</b>!

    低功耗模组软件的UDP示例 基础教程篇

    本文以常用的低功耗4G模组Air724UG为例,做出关于低功耗模组软件的UDP
    的头像 发表于 12-02 14:53 81次阅读
    <b class='flag-5'>低功耗</b><b class='flag-5'>模组</b><b class='flag-5'>软件</b>的UDP<b class='flag-5'>示例</b>   基础教程篇