精讲Air780E低功耗模组AT指令的FTP指南!

news/2024/12/1 11:07:11/文章来源:https://www.cnblogs.com/luatos/p/18576514

本文要讲的是低功耗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核心板,如下图所示:

此核心板的详细使用说明参考:
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 接口),一般来说这种数据线如下图所示:

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

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

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

3.5 组装硬件环境

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

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

四 、准备软件环境

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

4.1 Luatools 工具

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

4.2 AT 固件

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

通过 Luatools 可以烧录 AT 固件;

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

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

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

4.3 FTP 测试服务器

为了方便测试,合宙提供了免费的不可商用的 FTP 测试服务器;

4.4 PC 端串口工具

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

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

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

五 、FTP 相关 AT 指令

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

六 、使用方法举例

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

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

6.2 FTP GET 请求使用流程举例

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

6.3 FTP PUT 请求使用流程举例

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

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

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

6.4 FTP 断点续传流程举例

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

七 、APN 设置与专网卡

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

咨询 sim 卡供应商;

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

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

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 服务器。

八 、总结

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

九、 常见问题

关于不支持主动模式:

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

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

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

分享完毕,欢迎关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/844491.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信计数器|微信微信计数器软件|微信计数器不封号|最新微信计数器

微信计数器|微信微信计数器软件|微信计数器不封号|最新微信计数器1.精准计数,自动重复,可同时统计多个微信,互不影响 2.带远程网页分享,5秒自动刷新,准确计数分秒不差 3.后台分享支持分组类别,单独分享链接 4.支持任意版本微信,不在受微信版本束缚 5.支持客户子后台,大…

深度剖析 | 低功耗模组Air724UG的软件实例:KEYPAD教程!

本次我要要深度剖析的是低功耗4G模组Air724UG的软件实例,关于KEYPAD的教程,赶紧来学吧。本次我要要深度剖析的是低功耗4G模组Air724UG的软件实例,关于KEYPAD的教程,赶紧来学吧。 一、简介 在电路设计中,通常需要较多的外部输入,如果每个按键都单独去占用一个 IO 接口,就…

LaVita pg walkthrough Intermediate

nmap └─# nmap -p- -A 192.168.159.38 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-01 00:21 UTC Nmap scan report for 192.168.159.38 Host is up (0.071s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ss…

探索性测试及基本用例

目录1 测试决策5要素 2 缺陷检测 3 探索性测试3.1 探索性测试的定义 3.2 探索性测试方法 3.3 探索性测试的核心优势 3.4 如何评估探索性测试的测试效果4 传统的测试和精益与探索式测试区别4.1 传统的测试与探索式测试的区别 4.2 探索式测试与精益5 如何实施探索性测试 6 基本测…

String类的三种常见构造方法

1.根据构造方法创建字符串对象1.public String() 创建一个空字符串,里面不包含任何内容2.public String(char[] chs) 创建一个字符数组,将其拼接成字符串对象3.public String(String original) 根据输入的字符串,创建字符串对象2.疑惑: 1.我们原来创建了对象,将其直…

考研打卡(33)

开局(33) 开始时间 2024-12-01 09:36:12 结束时间 2024-12-01 10:27:50昨天快递是室友帮我取的数据结构带权有向图G用邻接矩阵A存储,则顶点i的入度等于A中_______(扬州大学 2013年) A 第i行非∞的元素之和 B 第i列非∞的元素之和 C 第i行非∞且非0的元素之和 D 第i列非∞且…

.NET Conf China 2024 AI相关内容解析

.NET Conf China 2024中国 .NET 开发者峰会即将在上海召开,这次大会是一届完全由社区组织举办的中国.NET 开发者盛会,我们筹备大会之初就定下了大会的主题是“智能、创新、开放”。我们将聚焦于人工智能和机器学习在 .NET 中的应用,将围绕“.NET x AI”这一议程展开,汇聚了…

人工智能:在传统行业中的挑战、机遇与数据科学家角色的演变

生成式人工智能(GenAI)为我们开启了更快的开发周期、更少的技术和维护工作,以及之前看起来无法实现的创新应用场景的大门。但与此同时,它也带来了新的风险——比如幻觉问题,以及对第三方API的依赖。 对于数据科学家和机器学习团队来说,这一变革直接影响了他们的工作方式。…

铁棍山药 怀山药 All In One

铁棍山药 怀山药 All In One 怀山药中最好的是垆土地种植的铁棍山药 ✅ 怀山药 vs 淮山药 “怀”和“淮”均指产地,“怀”是指河南怀庆府即焦作温县一带,“淮”指江淮地区,包括安徽、江苏、浙江。 “怀山药”是古医药典籍中记载的有丰富营养和药用价值的山药,又叫“药用山药…

RCC

网页主要用于学习交流作者:博客园 - 域出处:https://www.cnblogs.com/SeanRIchard本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。若内容有侵犯您权益的地方,请公告栏处联系本人,本人定积极配合处理解决。…

2024-2025-1 20241322 《计算机基础与程序设计》第十周学习总结

2024-2025-1 20241322 《计算机基础与程序设计》第十周学习总结 作业信息这个作业属于哪个课程 https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求在哪里 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK10这个作业的目标 ①信息系统②数据库与SQL③人工…

# 学期2024-2025-1 学号20241428《计算机基础与程序设计》第10周学习总结

学期(如2024-2025-1) 学号(如:20241300) 《计算机基础与程序设计》第X周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个…