专业指南:深入解析合宙Air780EP低功耗4G模组,全面掌握FTP应用与AT指令集开发流程

Air780EP,合宙旗下的高效4G模组,兼容全AT指令集,并支持LuatOS二次开发。特邀之作,本文深入解析了Air780EP的FTP应用,展示了关键AT命令实例。

本文同样适用于以下型号:
Air700ECQ/Air700EAQ/Air700EMQ
Air780EQ/Air780EPA/Air780EPT/Air780EPS
Air780E/Air780EX/Air724UG…

1  相关准备工作

1.1 硬件准备

  • 合宙EVB_Air780EP开发板一套,包括天线、SIM卡;

  • USB线

  • PC电脑

1.2 软件准备

  • 串口工具
    如果没有准备,推荐使用LLCOM:
    https://llcom.papapoi.com

  • AT固件下载
    https://doc.openluat.com/article/5055

  • 烧录教程
    https://doc.openluat.com/wiki/21?wiki_page_id=6072

本文示例烧录的AT固件版本为:
AirM2M_780EP_LTE_AT_V1007

推荐选用:相关型号固件名称后面数字版本号最高的最新版本进行调试。

2  FTP应用基本流程 

2.1 开机操作

拉低powerkey 2秒进行开机,开机后通过串口循环发送AT直到收到OK。如果90秒没有收到OK,请拉低RESET引脚150ms以上。

或使用其他方法,详见开关机章节:
https://doc.openluat.com/wiki/21?wiki_page_id=2021

[09:34:58.117]收←◆
^MODE: 17,17
+E_UTRAN Service
+CGEV: ME PDN ACT 1
[09:34:58.220]收←◆
+NITZ: 24/08/09,01:34:58+32,0
[09:35:05.593]发→◇AT
[09:35:05.596]收←◆AT
OK
[09:35:06.906]发→◇AT
[09:35:06.911]收←◆AT
OK

2.2 查询SIM卡状态

发送AT+CPIN?查询SIM卡状态,直到收到+CPIN: READY。如果10s内没有收到,建议重启模块。

[09:41:29.762]发→◇AT+CPIN?
[09:41:29.763]收←◆AT+CPIN?
+CPIN: READY
OK

2.3 查询是否注册网络

发送 AT+CGATT? 查询是否注册网络:

注册成功:
若返回+CGATT: 1即为注册成功,在正常情况下注册时间不会超过两分钟。如果超过两分钟没有注册,则可以通过 +CFUN 指令进入飞行模式,等待五秒后退出飞行模式再查询,或者直接重启模块。

未注册成功:
若返回+CGATT: 0即为没有注册成功,解决方法参考本文第3小节3.1【常见问题】。

[09:42:48.348]发→◇AT+CGATT?
[09:42:48.351]收←◆AT+CGATT?
+CGATT: 1
OK

2.4 配置网络

发送AT+CSTT配置网络,非私有APN以外Cat.1的固件支持根据卡自动配置APN,直接输入AT+CSTT即可,模块会按照自动获取的APN设置CSTT的APN。

[10:39:13.204]发→◇AT+CSTT
[10:39:13.206]收←◆AT+CSTT
OK

2.5 激活网络

发送AT+CIICR 激活网络,在IP START的状态使用AT+CIICR激活网络。

[10:41:01.249]发→◇AT+CIICR
[10:41:01.254]收←◆AT+CIICR
OK

2.6 查询是否获取IP

发送 AT+CIFSR 查询是否获取IP:

  • 成功则可以开始配置TCP连接;

  • 不成功则使用AT+CIPSHUT关闭移动网络,从 AT+CSTT重新进行。

  • 一定要查询一次,再进行服务器连接。

[10:41:22.408]发→◇AT+CIFSR
[10:41:22.414]收←◆AT+CIFSR
10.222.163.213

3  FTP GET示例 

如果不理解AT命令含义,可参考AT指令手册说明:

AT指令手册下载链接:
https://doc.openluat.com/article/4985

最新示例下载:

https://doc.openluat.com/wiki/21?wiki_page_id=6607

图片

4  FTP PUT示例 

如果不理解AT命令含义,可参考AT指令手册详细说明:

AT指令手册下载链接:
https://doc.openluat.com/article/4985

最新示例下载:

https://doc.openluat.com/wiki/21?wiki_page_id=6607

图片

5  FTP EXTGET示例 

如果不理解AT命令含义,可参考AT指令手册详细说明:

AT指令手册下载链接:
https://doc.openluat.com/article/4985

最新示例下载:

https://doc.openluat.com/wiki/21?wiki_page_id=6607

图片

6  FTP EXTPUT示例 

如果不理解AT命令含义,可参考AT指令手册详细说明:

AT指令手册下载链接:
https://doc.openluat.com/article/4985

最新示例下载:

https://doc.openluat.com/wiki/21?wiki_page_id=6607

图片

7  FTP GET TOFS示例 

如果不理解AT命令含义,可参考AT指令手册详细说明:

AT指令手册下载链接:
https://doc.openluat.com/article/4985

最新示例下载:

https://doc.openluat.com/wiki/21?wiki_page_id=6607

图片

8  FTP PUT FRMFS示例 

如果不理解AT命令含义,可参考AT指令手册详细说明:

AT指令手册下载链接:
https://doc.openluat.com/article/4985

最新示例下载:

https://doc.openluat.com/wiki/21?wiki_page_id=6607

图片

9  FTP FILE PUT示例 

如果不理解AT命令含义,可参考AT指令手册详细说明:

AT指令手册下载链接:
https://doc.openluat.com/article/4985

最新示例下载:

https://doc.openluat.com/wiki/21?wiki_page_id=6607

图片

10  FTP 远程创建/删除目录 

如果不理解AT命令含义,可参考AT指令手册详细说明:

AT指令手册下载链接:
https://doc.openluat.com/article/4985

最新示例下载:

https://doc.openluat.com/wiki/21?wiki_page_id=6607

图片

11  常见问题Q&A 

以下针对客户朋友们实际应用中的反馈,整理了FTP应用中的常见问题:

1. AT+CGATT?返回值为0,怎么解决? 

1)发送AT+CSQ查询信号强度

若信号强度低,就换场景、换不同运营商的卡、换天线、换模块,交叉测试依次排查。

02)发送 AT+CEREG? 查询卡状态

根据返回值依次排查:

  • 返回值为CEREG:0,1
    表示成功驻网;

  • 返回值为CEREG:0,2
    表示正在搜网:

    如果长时间处于这种状态,则需要检查天线是否连接正常、SIM卡是否没流量或者是否停机了。

  • 返回值为CEREG:0,3
    表示驻网被拒绝:

    则要检查天线是否连接、天线连接座子的接口是否正确、天线是否损坏或者更换天线确认;

    若仍未解决,那么就需要换卡、换板子进行对比测试,确保使用正常的硬件和SIM卡测试;检查SIM卡是否欠费,流量是否用完;SIM卡是否为专网卡,是否机卡绑定,专网卡需要设置正确的APN,机卡分离停机时需要联系卡商进行重新绑定。

03) 发送 AT+CPIN? 判断是否读到卡

  • 返回值为+CPIN: READY:表示读到卡了;

  • 返回值为+CPIN: SIM REMOVED:
    表示没有读到卡:

    此时需要排查硬件方面。主要排查模块端引脚是否损坏,卡座硬件是否正常,模块到卡座之间连接是否正常;

    另外,这个卡座实际是det为高有效识别卡,还是低有效识别卡,也要确认一下。

2. FTP支持主动模式吗?

模块FTP默认是被动模式,不支持主动模式,无法设置主动模式。公网下要想模块正常连接服务器,须特别注意:

服务器不能设置为主动模式,否则哪家模块都不能用。

3. AT版本发送带0x0d 0x0a这些数据会丢失,怎么办?

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

### STM32Air780EP 4G模块开发教程 #### 硬件连接说明 为了使STM32能够控制并通信于Air780EP 4G模块,硬件连接至关重要。通常情况下,两者之间的接口通过UART串口实现数据交换。具体接线方式如下表所示: | STM32 Pin | Air780EP Pin | |-----------|--------------| | GND | GND | | VCC (5V) | VIN(需注意电压匹配,建议使用稳压电路)[^1] | | TX | RX | | RX | TX | 对于电源部分,由于某些型号的STM32可能提供的是3.3V逻辑电平而Air780EP工作在更宽泛的供电范围内(如2.8~4.5V),因此如果直接由STM32给Air780EP供电,则需要注意确保电流能力以及是否存在潜在损害风险。 #### 软件配置初始化设置 当完成物理层面的链接之后,在软件方面则主要依赖于标准库函数来操作USART外设发送命令至Air780EP,并接收其返回的信息。下面给出一段简单的C语言程序用于测试基本功能连通性: ```c #include "stm32f1xx_hal.h" UART_HandleTypeDef huart1; void SystemClock_Config(void); static void MX_GPIO_Init(void); static void MX_USART1_UART_Init(void); int main(void){ HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_USART1_UART_Init(); char buffer[]="AT\r\n"; while (1){ /* 发送 AT 命令 */ HAL_UART_Transmit(&huart1,(uint8_t*)buffer,strlen(buffer),HAL_MAX_DELAY); //等待一段时间再读取回应 HAL_Delay(1000); uint8_t data; if(HAL_UART_Receive(&huart1,&data,1,100)==HAL_OK){ printf("%c",data); } } } //省略其他必要的初始化函数定义... ``` 此段代码实现了向Air780EP发送`AT`指令并通过串口回显响应的功能。实际项目中还需要进一步处理更多复杂的交互流程比如建立TCP/IP连接、发起HTTP请求等,这都需要基于上述基础逐步构建起来。 #### 示例代码解析 以上展示了一个非常基础的例子,仅展示了如何利用STM32平台上的USART资源去调用Air780EP模组执行最简单的一个动作——查询状态。真正的应用往往涉及到更加复杂的过程,例如参数配置、错误检测机制的设计等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值