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

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

3天内不再提示

低功耗模组Air780E的AT指令:FTP示例!

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2024-11-30 09:40 次阅读

本文说的是关于4G模组AT指令的FTP示例,以Air780E为例,希望大家有所收获。

一、 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默认是被动模式,不支持主动模式,无法设置主动模式,公网下要想模块正常连接服务器,服务器肯定不能设置为主动模式,否则哪家模块都不能用。

二、 本教程实现的功能概述

本文教你4G模组使用AT命令连接FTP服务器,实现模组和服务器之间数据的传输!

本教程实现的功能定义是:

1、准备一个公网 FTP 服务器;

2、4G 模组插卡开机,把模组作为 FTP 客户端去连接服务器;

3、分步演示 FTP 控制命令;这些命令包括列出目录内容 改变工作目录 上传文件 下载文件 删除文件等。

4、演示完毕关闭连接

三、 准备硬件环境

工欲善其事,必先利其器。在正式介绍本功能示例之前,需要先准备好以下硬件环境。

3.1 Air780E 开发板

使用的开发板是Air780E核心板,如下图所示:

wKgZO2dIdtGADWTaAAK5FhhWdkk389.png

此核心板的详细使用说明参考:
https://docs.openluat.com/air780e/product/

Air780E产品手册公用产品资料 - 合宙模组资料中心 (openluat.com)中的 << 开发板 Core_Air780E 使用说明 VX.X.X.pdf>>,写这篇文章时最新版本的使用说明为:20240419155721583_开发板Core_Air780E使用说明V1.0.5.pdf (vue2.cn);核心板使用过程中遇到任何问题,可以直接参考这份使用说明 pdf 文档。

3.2 SIM

准备一张可以上网的SIM卡,可以是物联网卡,也可以是自己的手机卡;
注意:SIM卡不能欠费,可以正常上网。

3.3 PC 电脑

准备一台电脑;注意:电脑有USB口,并且可以正常上网。

3.4 数据通信线

准备一根数据线,此数据线的作用是,连接Air780E开发板和PC电脑,通过AT命令完成业务逻辑的控制和交互;有两种数据线可以使用,二选一即可;第一种数据线是 USB 数据线(连接 Air780E 开板的一段是 Type-C 接口),一般来说这种数据线如下图所示:

wKgZPGdIduWAf4MnAARqGvJbkUo556.png

普通的手机 USB 数据线一般都可以直接使用;

第二种数据线是 USB 转 TTL 串口线,一般来说这种数据线如下图所示:

wKgZO2dIdvGAQtEJAAu7hNHeoec003.png

在本教程中,使用的是第一种 USB 数据线。

3.5 组装硬件环境

按照 SIM 卡槽上的插入方向,插入 SIM 卡,注意不要插反!如下图所示,将 SIM 卡用力推入卡槽,听到咔嚓声音后即可。

wKgZPGdIdv2ACtPHABB86AP_2SI797.png

wKgZO2dIdwqAY6H_ABd0cYDkKMQ868.png

USB 数据线,连接电脑和 Air780E 开发板,如下图所示:

wKgZPGdIdxSAar0yABAT0ENn4-Y702.png

四 、准备软件环境

在正式使用之前,需要安装装备好以下软件。

4.1 Luatools 工具

要想烧录 AT 固件到 4G 模组中,需要用到的调试工具:Luatools;
详细使用说明参考:
Luatools 工具使用说明:
https://docs.openluat.com/Luatools/

4.2 AT 固件

4G 模组中必须烧录正确的 AT 固件才能支持 AT 命令功能;

通过 Luatools 可以烧录 AT 固件;

有两种方式可以获取到 Air780E 模组的最新 AT 固件,二选一即可;

第一种方式是通过 Luatools 获取,如下图所示,可以直接选中最新版本的 AT 固件:

wKgZO2dIdyiAKnXuAAM1p_uDhqg062.png

第二种方式是访问:Air780E 固件版本,找到最新版本的固件即可。

4.3 FTP 测试服务器

为了方便测试,使用了免费的不可商用的 FTP 测试服务器;

wKgZPGdIdzuAduFJAAEnO-1oDnc600.png

4.4 PC 端串口工具

在量产的项目硬件设计中,一般都是由主控 MCU 通过 UART 给 4G 模组发送命令实现具体的业务逻辑;

在本教程中,为了测试方便,没有使用主控 MCU;

而是使用了 PC 电脑上的一个串口工具 SSCOM 给 4G 模组发送命令来实现演示功能。

五 、FTP 相关 AT 指令

点击链接查看4G 模组 FTP 指令

六 、使用方法举例

6.1 确认开发板正常开机并联网正常

本次教程所用固件版本是 v1169,通过 luatools 烧录过固件后可以通过打印来判断设备情况,具体参考下图:

wKgZPGdId0yAN8nnAAR9vNuFPdU880.png

6.2 FTP GET 请求使用流程举例

下面演示合宙 780E 4G 模组通过 at 指令去 ftp 服务器下载文件的流程:

wKgZO2dId1qAMv57AAM6ZEcBqkI388.pngwKgZPGdId2yAOVh8AAM57SSIF8A433.pngwKgZPGdId4CABT5RAAFPYhLlL9I774.pngwKgZO2dId4-AHderAAxdGlgrcpU850.pngwKgZPGdId52ADYSMAAv81dhupiE874.pngwKgZO2dId66AaYdEAAz7gzC-5_4269.pngwKgZO2dId8CABCHTAAzrduSeZIE402.pngwKgZO2dId86AO5NRAAwHKjx44BE270.pngwKgZO2dId9yAOmZRAAv2r4iJWic519.pngwKgZPGdId-uAOXFjAAwPvXrMwqY619.pngwKgZPGdId_iAEEqAAAv1YDvjacY151.pngwKgZPGdIeAWAKIX2AAoS8D3XOfM490.png

6.3 FTP PUT 请求使用流程举例

首先需要服务器上有需要写入数据的文件,这里我们通过工具在服务器上创建一个空白 test.txt 的文件

wKgZO2dIeBGAZna5AAXAJJ00H2Y254.png

wKgZO2dIeBuAWZlyAAUysFIiz7I536.png

然后通过780E 4G 模组上传两次数据到新建的空白文件里,下面演示 4G 模组的 AT 指令流程:

wKgZPGdIeC6AI7kvAAKeODUpB-s525.pngwKgZO2dIeD2AcNsEAALUTki3gi4842.pngwKgZPGdIeFCAQP97AALh3-IPPAo717.pngwKgZPGdIeFyAGm_nAAB5jQEJ9GU110.png

然后验证是否 PUT 成功,通过工具连接 ftp 服务器,找到对应的文件下载下来,打开查看文件里的内容和上报的是一样的,

wKgZO2dIeGeADoFlAAP9nTN6ruY953.png

wKgZO2dIeHOAQJ2-AACeDGuk2yw077.png

6.4 FTP 断点续传流程举例

本例使用上面 PUT 流程上传的文件来演示断点续传

wKgZPGdIeIGAG04JAAJYIQ6B7zA513.pngwKgZPGdIeI-ARlZ4AAKiAf8vveQ497.pngwKgZO2dIeJ-AS9VHAALBMRnOffU164.pngwKgZO2dIeKuAGAZFAAHSt6aFouo835.png

七 、APN 设置与专网卡

用户根据自己使用的网络类型来区分,sim 卡可以分为公网卡和专网卡两种;对于如何判断自己手里的 sim 卡是公网卡还是专网卡可以通过下面两种办法区分:

咨询 sim 卡供应商;

如果有 apn 账号 或者有密码 或者有加密类型,则可以认为是专网卡。

对于公网卡和专网卡设置和查询有不同的指令,合宙 780E 4G 模组设置和查询 APN 相关指令可以参考下图:

wKgZPGdIeLiAFZ3YAAMA1d-l4Kc928.png

APN 及专网卡常见问题

模块如何设置APN

1、 如果是公网SIM卡,不需要用户主动设置APN,软件自动去网络端查询APN进行设置。

2、如果是专网SIM卡,首先咨询SIM卡提供商APN参数,然后通过AT+CPNETAPN=mode,“apnname”,“user”,“pwd”,authmoded进行专网卡的参数设置。

专网卡连接服务器失败

1、有的专网卡没设置APN的情况下也能激活PDP,但是不能连专网卡指定的服务器,或者开机后模块没自动激活PDP,这个时候参考1,检查APN参数是否设置正确。

2、如果有其他厂家的模块,对比测试下是否连接正常。

3、如果无法百分百保证服务器配置没问题,最好在服务器端用wireshark抓包,或者在服务器上安装一个第三方工具,开启一个服务器端口来对比测试。

4、用定向Ip的物联网卡,需要把域名或IP加入白名单才能使用。

专网卡访问白名单 用定向 IP 的物联网卡,需要把域名或 IP 加入白名单才能使用,下面列出模块会访问的域名或 IP 服务器

wKgZPGdIeMyAcR3cAAM5EuYzzRw304.png

八 、总结

本文全面地探讨了4G模组通过 AT 指令实现与 FTP 服务器交互的技术细节。如何通过AT指令完成文件的 GET(下载) PUT(上传)操作,以及实现关键的断点续传功能。这些功能对于提高数据传输的效率和可靠性至关重要,尤其是在网络不稳定或大数据量传输的场景中。文章通过实例展示了具体的操作步骤,为读者提供了宝贵的实践指导。总体而言,本文不仅加深了对 FTP 协议和 4G 模组应用的理解,也为开发者在类似项目中实现高效文件传输提供了实用的技术参考和解决方案。

九、 常见问题

关于不支持主动模式:

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

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

需要通过AT+FTPTYPE="I"设置为二进制方式传输文件,否则传输过程中会丢弃换行符。

分享完毕,欢迎关注

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

    关注

    12

    文章

    9149

    浏览量

    85401
  • TCP
    TCP
    +关注

    关注

    8

    文章

    1353

    浏览量

    79068
  • FTP
    FTP
    +关注

    关注

    0

    文章

    110

    浏览量

    40630
  • 开发板
    +关注

    关注

    25

    文章

    5046

    浏览量

    97435
  • 模组
    +关注

    关注

    6

    文章

    1492

    浏览量

    30379
收藏 人收藏

    评论

    相关推荐

    AT指令速通FTP:合宙Air780EP模块超详细教程

    合宙Air780EP低功耗4G模组AT开发接入FTP超详细示例
    的头像 发表于 08-20 17:40 2525次阅读
    AT<b class='flag-5'>指令</b>速通<b class='flag-5'>FTP</b>:合宙<b class='flag-5'>Air780</b>EP模块超详细教程

    硬件设计很简单?合宙低功耗4G模组Air780E—开机启动及外围威廉希尔官方网站 设计

    Air780E是合宙低功耗4G-Cat.1模组经典型号之一,上期我们解答了大家关心的系列问题,并讲解了[选型的注意要点] 有朋友问:能不能讲些硬件设计相关的内容? 模组的上电开机,是
    的头像 发表于 09-27 07:04 2148次阅读
    硬件设计很简单?合宙<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模组</b><b class='flag-5'>Air780E</b>—开机启动及外围威廉希尔官方网站
设计

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

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

    合宙低功耗4G模组Air780E——产品规格书

    合宙低功耗4G模组Air780E的规格信息速览
    的头像 发表于 09-02 18:04 996次阅读
    合宙<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模组</b><b class='flag-5'>Air780E</b>——产品规格书

    合宙低功耗4G模组Air780E——硬件设计手册01

    Air780E是一款基于移芯EC618平台设计的LTECat1无线通信模组。支持FDD-LTE/TDD-LTE的4G远距离无线传 输技术。 另外,模组提供了USB/UART/I2C等通用接口满足IoT行业的各种应用诉求。 本
    的头像 发表于 09-04 14:39 1170次阅读
    合宙<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模组</b><b class='flag-5'>Air780E</b>——硬件设计手册01

    合宙Air780E硬件设计手册02

    合宙低功耗4G模组Air780E硬件设计介绍
    的头像 发表于 09-06 12:02 486次阅读
    合宙<b class='flag-5'>Air780E</b>硬件设计手册02

    选型4G-Cat.1模组Air780E时,我应该注意什么?

    Air780E是合宙低功耗4G-Cat.1模组经典型号之一,累计出货数量2000万+,广泛应用于物联网各行业。在此,特别感谢各位大佬的信任与支持。 写这篇文档的目的是什么呢? 从用户的角度, 解答
    的头像 发表于 09-27 07:07 469次阅读
    选型4G-Cat.1<b class='flag-5'>模组</b><b class='flag-5'>Air780E</b>时,我应该注意什么?

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

    Air780EP是合宙的低功耗4G模组之一,支持全系列的AT指令以及LuatOS脚本二次开发。 本文应各位大佬邀请,特别讲解Air780E
    的头像 发表于 09-30 06:59 576次阅读
    RNDIS网卡应用看这篇!合宙<b class='flag-5'>Air780</b>EP<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模组</b>AT开发<b class='flag-5'>示例</b>

    干货篇:低功耗4G模组Air780E的串口通信

    ​ 今天我们来讲解低功耗4G模组Air780E的串口通信的基本用法,小伙伴们,学起来吧!
    的头像 发表于 10-05 14:38 555次阅读
    干货篇:<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模组</b><b class='flag-5'>Air780E</b>的串口通信

    硬件设计很简单?低功耗4G模组Air780E—开机启动及外围威廉希尔官方网站 设计

    Air780E是合宙低功耗4G-Cat.1模组经典型号之一,上期我们解答了大家关心的系列问题,并讲解了[选型的注意要点] 有朋友问:能不能讲些硬件设计相关的内容? 模组的上电开机,是
    的头像 发表于 10-15 10:18 437次阅读
    硬件设计很简单?<b class='flag-5'>低功耗</b>4G<b class='flag-5'>模组</b><b class='flag-5'>Air780E</b>—开机启动及外围威廉希尔官方网站
设计

    Air780E模组AT指令下的MQTT应用:技术指南

    今天我要讲的是Air780E模组AT指令下的MQTT应用,希望对大家有所帮助。
    的头像 发表于 11-07 14:02 359次阅读
    <b class='flag-5'>Air780E</b><b class='flag-5'>模组</b>AT<b class='flag-5'>指令</b>下的MQTT应用:技术指南

    Air780E模组的ADC之旅 LuatOS开发实例

    今天学习一个新的示例,关于Air780E模组LuatOS开发的ADC应用实例,希望大家有所收获。
    的头像 发表于 11-11 09:33 206次阅读
    <b class='flag-5'>Air780E</b><b class='flag-5'>模组</b>的ADC之旅  LuatOS开发实例

    解析Air780E模组LuatOS开发的随机数(random) 示例

    本文主要解析的是低功耗4G模组Air780E的LuatOS开发随机数(random)实例,我以整理成文分享给大家。
    的头像 发表于 11-29 20:23 126次阅读
    解析<b class='flag-5'>Air780E</b><b class='flag-5'>模组</b>LuatOS开发的随机数(random) <b class='flag-5'>示例</b>篇

    4G模组Air780E的LuatOS开发之位运算(bit)示例

    本文我要说的是低功耗4G模组Air780E的LuatOS开发,关于位运算(bit)示例,我将详细解析分享给大家。
    的头像 发表于 12-02 14:33 169次阅读
    4G<b class='flag-5'>模组</b><b class='flag-5'>Air780E</b>的LuatOS开发之位运算(bit)<b class='flag-5'>示例</b>

    Air780E模组LuatOS开发实战 —— 手把手教你搞定数据打包解包

    本文要说的是低功耗4G模组Air780E的LuatOS开发实战,我将手把手教你搞定数据打包解包。
    的头像 发表于 12-03 11:17 168次阅读
    <b class='flag-5'>Air780E</b><b class='flag-5'>模组</b>LuatOS开发实战 —— 手把手教你搞定数据打包解包