跳转至

Air780EP模块AT开发FTP应用指南

简介

准备工作

  1. Air780EP_全IO开发板一套,包括天线SIM卡,USB线,并烧录AT固件

d37e1424dda26c3e771b83738f36dcb

  1. PC电脑,串口工具

示例演示流程

基本操作

  1. 拉低powerkey2秒进行开机,开机后通过串口循环发送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
  1. 发送 AT+CPIN? 查询SIM卡状态,直到收到 +CPIN: READY ,如果10s内没有收到建议重启模块
[09:41:29.762]发→◇AT+CPIN?

[09:41:29.763]收←◆AT+CPIN?

+CPIN: READY

OK
  1. 发送 AT+CGATT? 查询是否注册网络

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

  3. 若返回 **+CGATT: 0 ** 即为没有注册成功,解决方法参考常见问题
[09:42:48.348]发→◇AT+CGATT?

[09:42:48.351]收←◆AT+CGATT?

+CGATT: 1

OK
  1. 发送 AT+CSTT 配置网络,非私有APN以外Cat1的固件支持根据卡自动配置APN,直接输入AT+CSTT即可,模块会按照自动获取的APN设置CSTT的APN
[10:39:13.204]发→◇AT+CSTT

[10:39:13.206]收←◆AT+CSTT

OK
  1. 发送 AT+CIICR 激活网络,在IP START的状态使用AT+CIICR激活网络
[10:41:01.249]发→◇AT+CIICR
□
[10:41:01.254]收←◆AT+CIICR

OK
  1. 发送 AT+CIFSR 查询是否获取IP

  2. 成功则可以开始配置TCP连接,

  3. 不成功则使用 AT+CIPSHUT 关闭移动网络,从 AT+CSTT 重新进行。
  4. 一定要查询一次再进行服务器连接。
[10:41:22.408]发→◇AT+CIFSR
□
[10:41:22.414]收←◆AT+CIFSR

10.222.163.213

FTP GET演示

[10:45:05.552]发→◇AT+SAPBR=3,1,"CONTYPE","GPRS"          //设置FTP功能的承载类型

[10:45:05.558]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"

OK

[10:45:14.270]发→◇AT+SAPBR=3,1,"APN",""                  //设置PDP承载之APN参数
                                                        //模块注册网络后会从网络自动获取<apn>并激
[10:45:14.272]收←◆AT+SAPBR=3,1,"APN",""                  //活一个PDP上下文,用于RNDIS上网使用
                                                         //<apn>可以通过AT+CGDCONT?来查询
                                                         //所以输入AT+SAPBR=3,<cid>,"APN",""
                                                         //可,模块内部会按照自动获取的<apn>来设置
                                                         //APN
OK

[10:45:24.765]发→◇AT+SAPBR=1,1                           //激活该承载的GPRS PDP上下文

[10:45:24.767]收←◆AT+SAPBR=1,1

OK

[10:45:32.192]发→◇AT+SAPBR=2,1                           //查询下承载的状态

[10:45:32.196]收←◆AT+SAPBR=2,1

+SAPBR: 1,1,"10.222.163.213"                            //第一个参数1表示cid
                                                        //第二个参数1表示已经连接
OK                                                      //第三个参数表示模块获取的IP地址

[10:45:40.010]发→◇AT+FTPCID=1                          //设置cid

[10:45:40.011]收←◆AT+FTPCID=1

OK

[10:54:08.163]发→◇AT+FTPSERV="xxx.xxx.xxx"           //设置服务器ip地址,也可以使用域名。
                                                    //本文只是举例,请填写自己的服务器地址,不要照抄。
[10:54:08.167]收←◆AT+FTPSERV="xxx.xxx.xxx"

OK

[10:54:24.205]发→◇AT+FTPUN="user"                    //设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄

[10:54:24.207]收←◆AT+FTPUN="user"

OK

[10:54:47.915]发→◇AT+FTPPW="password"                //输入密码。请填写自己FTP服务器的密码,不要照抄

[10:54:47.918]收←◆AT+FTPPW="password"

OK

[10:54:56.725]发→◇AT+FTPGETPATH="/"                  //设置下载文件的路径

[10:54:56.727]收←◆AT+FTPGETPATH="/"

OK

[10:55:03.346]发→◇AT+FTPLIST=1                       //打开 FTP 获取文件目录会话

[10:55:03.349]收←◆AT+FTPLIST=1

OK

[10:55:03.982]收←◆                                   //第一个参数1,表示模式1,即打开 FTP 获取文件目录会话
+FTPLIST: 1,1                                        //第二个参数1,表示是一个成功的FTP会话

[10:57:51.768]发→◇AT+FTPLIST=2,1460                  //读取 FTP 获取文件目录的数据,请求的数据长度为1460字节

[10:57:51.774]收←◆AT+FTPLIST=2,1460
                                                        //第一个参数2,表示模式2,即读取 FTP 获取文件目录的数据
+FTPLIST: 2,1460                                        //第二个参数1460,表示实际的数据长度为1460
-rw-------    1 ftp      ftp          2918 Jul 22 07:18 1.amr       //第一个字符表示文件类型
-rw-------    1 ftp      ftp            62 Jul 22 04:09 1.txt       //-:普通文件 d:文件目录
-rw-------    1 ftp      ftp            62 Jul 23 02:34 12221.txt   //后面每三个字符看作为一组
-rw-------    1 ftp      ftp            62 Jul 22 06:07 122210.txt  //r 是可读,w 是可写, x 是可执行
-rw-------    1 ftp      ftp            62 Jul 22 06:08 122211.txt  //因此rw-为可读、可写、不可执行
-rw-------    1 ftp      ftp            62 Jul 22 06:09 122212.txt
-rw-------    1 ftp      ftp            62 Jul 22 06:10 122213.txt
-rw-------    1 ftp      ftp            62 Jul 22 06:10 122214.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:27 122215.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:27 122216.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:28 122217.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:29 122218.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:30 122219.txt
-rw-------    1 ftp      ftp            62 Aug 03 00:31 12222.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:30 122220.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:31 122221.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:32 122222.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:33 122223.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:34 122224.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:34 122225.txt
-rw-------    1 ftp      ftp            62 Jul 22 04:35 122226.txt
-rw-------    1 ftp      ftp            62 J
OK

[10:57:58.930]发→◇AT+FTPQUIT             //退出FTPLIST会话,才能开始后续的会话。退出FTPLIST会话的方法有两种
                                        //一是等待+FTPLIST:1,0上报,二是主动退出FTPLIST会话
[10:57:58.935]收←◆AT+FTPQUIT             //这里采用的是主动退出FTPLIST会话           

OK

[10:57:59.038]收←◆
+FTPLIST: 1,86                              //第一参数1表示打开FTP会话,第二个参数86表示主动退出

[10:58:08.907]发→◇AT+FTPGETNAME="1.txt"      //设置下载文件的名称

[10:58:08.909]收←◆AT+FTPGETNAME="1.txt"

OK

[10:58:14.767]发→◇AT+FTPGET=1                //开始FTP下载会话

[10:58:14.769]收←◆AT+FTPGET=1

OK

[10:58:15.324]收←◆
+FTPGET: 1,1                                //这个是URC上报,表示有数据了

[10:58:22.573]发→◇AT+FTPGET=2,20           //读入20个数据

[10:58:22.576]收←◆AT+FTPGET=2,20

+FTPGET: 2,20                               //确定读到的是20个数据
23noianfdiasfhnpqw39
OK

[10:58:29.930]收←◆
+FTPGET: 1,0                                //等一段时间会提示FTP下载会话结束

[10:59:33.285]发→◇AT+FTPREST=6             //如果FTP连接或会话意外关闭,还可以断点续传。
                                          //从断掉的点开始下载。
[10:59:33.286]收←◆AT+FTPREST=6

OK

[10:59:40.666]发→◇AT+FTPGET=1

[10:59:40.668]收←◆AT+FTPGET=1

OK

[10:59:41.264]收←◆
+FTPGET: 1,1                                //+FTPGET: 1,1表示有数据可读

[10:59:48.334]发→◇AT+FTPQUIT                 //也可以在提示 +FTPGET: 1,0 前主动用 AT+FTPQUIT 退出当前FTP会话

[10:59:48.339]收←◆AT+FTPQUIT

OK

[10:59:48.428]收←◆
+FTPGET: 1,86

FTP PUT演示

[17:10:26.322]发→◇AT+SAPBR=3,1,"CONTYPE","GPRS"          //设置FTP功能的承载类型

[17:10:26.324]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"

OK

[17:10:32.520]发→◇AT+SAPBR=3,1,"APN",""                  //设置PDP承载之APN参数
                                                        //模块注册网络后会从网络自动获取<apn>并激
[17:10:32.523]收←◆AT+SAPBR=3,1,"APN",""                  //活一个PDP上下文,用于RNDIS上网使用
                                                         //<apn>可以通过AT+CGDCONT?来查询
                                                         //所以输入AT+SAPBR=3,<cid>,"APN",""
                                                         //可,模块内部会按照自动获取的<apn>来设置
                                                         //APN
OK

[17:10:37.791]发→◇AT+SAPBR=1,1                           //激活该承载的GPRS PDP上下文

[17:10:37.793]收←◆AT+SAPBR=1,1

OK

[17:10:44.588]发→◇AT+SAPBR=2,1                           //查询下承载的状态

[17:10:44.594]收←◆AT+SAPBR=2,1

+SAPBR: 1,1,"10.175.110.238"                             //第一个参数1表示cid
                                                         //第二个参数1表示已经连接
OK                                                       //第三个参数表示模块获取的IP地址

[17:10:50.727]发→◇AT+FTPCID=1                            //设置cid

[17:10:50.730]收←◆AT+FTPCID=1

OK

[17:10:57.967]发→◇AT+FTPSERV="xxx.xxx.xxx"           //设置服务器ip地址,也可以使用域名。
                                                    //本文只是举例,请填写自己的服务器地址,不要照抄。
[17:10:57.970]收←◆AT+FTPSERV="xxx.xxx.xxx"

OK

[17:11:04.275]发→◇AT+FTPUN="user"                    //设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄

[17:11:04.279]收←◆AT+FTPUN="user"

OK

[17:11:10.050]发→◇AT+FTPPW="password"                //输入密码。请填写自己FTP服务器的密码,不要照抄

[17:11:10.054]收←◆AT+FTPPW="password"

OK

[17:11:17.746]发→◇AT+FTPPUTNAME="1222.txt"           //设置上传文件的名称

[17:11:17.748]收←◆AT+FTPPUTNAME="1222.txt"

OK

[17:11:26.040]发→◇AT+FTPPUTPATH="/"                  //设置上传文件的路径

[17:11:26.041]收←◆AT+FTPPUTPATH="/"

OK

[17:11:31.736]发→◇AT+FTPPUT=1                //第一个参数1表示打开FTP会话

[17:11:31.739]收←◆AT+FTPPUT=1

OK

[17:11:32.648]收←◆
+FTPPUT: 1,1,1360                           //这是URC上报,表示可以上传数据了,单次上传的最大长度为1360

[17:11:42.846]发→◇AT+FTPPUT=2,7          //第一个参数2表示写FTP上传数据
                                        //第二个参数7表示数据
[17:11:42.849]收←◆AT+FTPPUT=2,7

+FTPPUT: 2,7

[17:12:18.327]发→◇1234567                //输入7个字符后,会返回OK,表示输入结束,已经上传。

[17:12:18.333]收←◆
OK

[17:12:50.135]收←◆

+FTPPUT: 1,0                              //等待一段时间不动作,会提示FTP PUT会话结束



发→◇AT+FTPQUIT                           //也可以在提示 +FTPPUT: 1,0 之前用AT+FTPQUIT主动结束会话

收←◆AT+FTPQUIT

OK

+FTPPUT: 1,86

FTP EXTGET演示

[16:08:25.077]发→◇AT+SAPBR=3,1,"CONTYPE","GPRS"          //设置FTP功能的承载类型

[16:08:25.078]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"

OK

[16:08:31.227]发→◇AT+SAPBR=3,1,"APN",""                  //设置PDP承载之APN参数
                                                        //模块注册网络后会从网络自动获取<apn>并激
[16:08:31.229]收←◆AT+SAPBR=3,1,"APN",""                 //活一个PDP上下文,用于RNDIS上网使用
                                                         //<apn>可以通过AT+CGDCONT?来查询
                                                         //所以输入AT+SAPBR=3,<cid>,"APN",""
                                                         //可,模块内部会按照自动获取的<apn>来设置
                                                         //APN
OK

[16:08:38.286]发→◇AT+SAPBR=1,1                           //激活该承载的GPRS PDP上下文

[16:08:38.289]收←◆AT+SAPBR=1,1

OK

[16:08:44.368]发→◇AT+SAPBR=2,1                           //查询下承载的状态

[16:08:44.371]收←◆AT+SAPBR=2,1

+SAPBR: 1,1,"10.204.54.96"                               //第一个参数1表示cid
                                                         //第二个参数1表示已经连接
OK                                                       //第三个参数表示模块获取的IP地址

[16:08:51.113]发→◇AT+FTPCID=1                            //设置cid

[16:08:51.115]收←◆AT+FTPCID=1

OK

[16:09:02.089]发→◇AT+FTPSERV="xxx.xxx.xxx"           //设置服务器ip地址,也可以使用域名。

[16:09:02.094]收←◆AT+FTPSERV="xxx.xxx.xxx"

OK

[16:09:08.137]发→◇AT+FTPUN="user"                    //设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄

[16:09:08.140]收←◆AT+FTPUN="user"

OK

[16:09:13.357]发→◇AT+FTPPW="password"                //输入密码。请填写自己FTP服务器的密码,不要照抄

[16:09:13.361]收←◆AT+FTPPW="password"

OK

[16:09:28.889]发→◇AT+FTPGETNAME="TEST2.txt"          //设置下载文件的名字
                                                    //(请注意:FTPEXTGET命令只支持小于300K的文件的下载
[16:09:28.892]收←◆AT+FTPGETNAME="TEST2.txt"

OK

[16:09:37.956]发→◇AT+FTPGETPATH="/"                  //设置下载文件所在的文件夹

[16:09:37.962]收←◆AT+FTPGETPATH="/"

OK

[16:09:46.180]发→◇AT+FTPEXTGET=1                     //开始FTP下载

[16:09:46.182]收←◆AT+FTPEXTGET=1

OK
                                                 //在此之前可以通过AT+FTPEXTGET?查询下载了多少字节
[16:09:46.813]收←◆                               //有这个URC上报,表示文件下载完毕,可以保存或读取了
+FTPEXTGET: 1,0

[16:12:14.167]发→◇AT+FTPEXTGET=2,hello           //保存的文件名为 hello

[16:12:14.169]收←◆AT+FTPEXTGET=2,hello

[16:12:14.243]收←◆
+FTPEXTGET: 2,62

OK

[16:13:32.116]发→◇AT+FTPEXTGET=3,0,62            //将数据显示在串口

[16:13:32.119]收←◆AT+FTPEXTGET=3,0,62

+FTPEXTGET: 3,62
23noianfdiasfhnpqw39fhawe;fuibnnpw3fheaios;fna;osfhisao;fadsfl    //这是显示在串口的数据
OK

[16:13:44.742]发→◇AT+FTPEXTGET=0                 //设置 FTPEXTGET 模式关闭

[16:13:44.744]收←◆AT+FTPEXTGET=0

OK

[16:13:58.079]发→◇AT+FTPEXTGET=4                 //流式获取数据

[16:13:58.085]收←◆AT+FTPEXTGET=4

OK

[16:13:58.602]收←◆
+FTPEXTGET: 4,62                                //有数据上报

[16:14:13.951]发→◇AT+FTPEXTGET=4,62             //读数据

[16:14:13.953]收←◆AT+FTPEXTGET=4,62              

+FTPEXTGET: 4,62
23noianfdiasfhnpqw39fhawe;fuibnnpw3fheaios;fna;osfhisao;fadsfl      //这是显示在串口的数据
OK

FTP EXTPUT演示

[17:18:09.148]发→◇AT+SAPBR=3,1,"CONTYPE","GPRS"          //设置FTP功能的承载类型

[17:18:09.150]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"

OK

[17:18:14.878]发→◇AT+SAPBR=3,1,"APN",""                  //设置PDP承载之APN参数
                                                        //模块注册网络后会从网络自动获取<apn>并激
[17:18:14.881]收←◆AT+SAPBR=3,1,"APN",""                  //活一个PDP上下文,用于RNDIS上网使用
                                                         //<apn>可以通过AT+CGDCONT?来查询
                                                         //所以输入AT+SAPBR=3,<cid>,"APN",""
                                                         //可,模块内部会按照自动获取的<apn>来设置
                                                         //APN
OK

[17:18:20.910]发→◇AT+SAPBR=1,1                           //激活该承载的GPRS PDP上下文

[17:18:20.914]收←◆AT+SAPBR=1,1

OK

[17:18:28.103]发→◇AT+SAPBR=2,1                           //查询下承载的状态

[17:18:28.105]收←◆AT+SAPBR=2,1

+SAPBR: 1,1,"10.132.148.95"                              //第一个参数1表示cid
                                                         //第二个参数1表示已经连接
OK                                                       //第三个参数表示模块获取的IP地址

[17:18:35.081]发→◇AT+FTPCID=1                            //设置cid

[17:18:35.084]收←◆AT+FTPCID=1

OK

[17:18:54.041]发→◇AT+FTPSERV="xxx.xxx.xxx"           //设置服务器ip地址,也可以使用域名。

[17:18:54.045]收←◆AT+FTPSERV="xxx.xxx.xxx"

OK

[17:18:59.532]发→◇AT+FTPUN="user"                    //设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄

[17:18:59.535]收←◆AT+FTPUN="user"

OK

[17:19:04.704]发→◇AT+FTPPW="password"                //输入密码。请填写自己FTP服务器的密码,不要照抄

[17:19:04.709]收←◆AT+FTPPW="password"

OK

[17:19:18.744]发→◇AT+FTPPUTPATH="/"                  //设置将文件上传到服务器后的保存目录。

[17:19:18.748]收←◆AT+FTPPUTPATH="/"

OK

[17:19:25.070]发→◇AT+FTPPUTNAME="TEST8861.txt"       //设置将文件上传到服务器后的保存名称。

[17:19:25.072]收←◆AT+FTPPUTNAME="TEST8861.txt"

OK

[17:19:32.621]发→◇AT+FTPEXTPUT=1                     //设置使用扩展方式进行FTPPUT

[17:19:32.624]收←◆AT+FTPEXTPUT=1

OK

[17:19:56.924]发→◇AT+FTPEXTPUT=2,0,5,10000           //将文件数据从串口输入到模块 RAM
                                                    //2个参数是 offset,第3个参数是数据长度,
[17:19:56.926]收←◆AT+FTPEXTPUT=2,0,5,10000           // 4 个参数是超时时间10s

+FTPEXTPUT: 0,5
[17:20:01.011]发→◇12345                              //这里输入五个字符数据

[17:20:01.014]收←◆
OK

[17:20:17.514]发→◇AT+FTPEXTPUT=2,5,7,10000           //这次 offset  5,长度为 7

[17:20:17.516]收←◆AT+FTPEXTPUT=2,5,7,10000

+FTPEXTPUT: 5,7
[17:20:19.472]发→◇67890AB                            //这里输入七个字符数据

[17:20:19.475]收←◆
OK

[17:20:33.167]发→◇AT+FTPPUT=1                        // RAM 中的文件传到 FTP 服务器

[17:20:33.170]收←◆AT+FTPPUT=1

OK

[17:20:39.505]收←◆
+FTPPUT: 1,0                                         //等一段时间会提示FTP上传会话结束。此时查看
                                                     //服务器/TEST8861.txt,看到的的内容是:
                                                     //1234567890AB
[17:21:29.770]发→◇AT+FTPEXTPUT=0                     //改为普通的FTP PUT模式

[17:21:29.771]收←◆AT+FTPEXTPUT=0

OK

FTP GET TOFS演示

[14:18:34.930]发→◇AT+SAPBR=3,1,"CONTYPE","GPRS"      //设置FTP功能的承载类型

[14:18:34.934]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"

OK

[14:18:41.015]发→◇AT+SAPBR=3,1,"APN",""              //设置PDP承载之APN参数
                                                    //模块注册网络后会从网络自动获取<apn>并激
[14:18:41.016]收←◆AT+SAPBR=3,1,"APN",""              //活一个PDP上下文,用于RNDIS上网使用
                                                     //<apn>可以通过AT+CGDCONT?来查询
                                                     //所以输入AT+SAPBR=3,<cid>,"APN",""
                                                     //可,模块内部会按照自动获取的<apn>来设置
                                                     //APN
OK

[14:19:23.138]发→◇AT+SAPBR=1,1                       //激活该承载的GPRS PDP上下文

[14:19:23.142]收←◆AT+SAPBR=1,1

OK

[14:19:29.676]发→◇AT+SAPBR=2,1                       //查询下承载的状态

[14:19:29.679]收←◆AT+SAPBR=2,1

+SAPBR: 1,1,"10.140.39.84"                          //第一个参数1表示cid
                                                    //第二个参数1表示已经连接
OK                                                  //第三个参数表示模块获取的IP地址

[14:19:37.078]发→◇AT+FTPCID=1                      //设置cid

[14:19:37.081]收←◆AT+FTPCID=1

OK

[14:19:47.572]发→◇AT+FTPSERV="xxx.xxx.xxx"           //设置服务器ip地址,也可以使用域名。

[14:19:47.578]收←◆AT+FTPSERV="xxx.xxx.xxx"

OK

[14:19:53.018]发→◇AT+FTPUN="user"                    //设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄

[14:19:53.023]收←◆AT+FTPUN="user"

OK

[14:19:59.655]发→◇AT+FTPPW="password"                //输入密码。请填写自己FTP服务器的密码,不要照抄

[14:19:59.656]收←◆AT+FTPPW="password"

OK

[14:20:10.163]发→◇AT+FTPGETNAME="TEST.mp3"           //设置服务器端目标文件的名称。

[14:20:10.166]收←◆AT+FTPGETNAME="TEST.mp3"

OK

[14:20:19.207]发→◇AT+FTPGETPATH="/"                  //设置目标文件在服务器端的路径。

[14:20:19.213]收←◆AT+FTPGETPATH="/"

OK

[14:20:27.778]发→◇AT+FTPGETTOFS=0,"TEST-1.mp3"       //开始下载,并存于本地ROM中。都只能指定文件名,
                                                     //不能指定路径,因为存放的路径是固定的
[14:20:27.780]收←◆AT+FTPGETTOFS=0,"TEST-1.mp3"       //这种下载方式支持自动断点续传

OK

[14:20:33.881]发→◇AT+FTPGETTOFS?                     //查询下载情况

[14:20:33.884]收←◆AT+FTPGETTOFS?

+FTPGETTOFS: 1,245900,207715                        //已下载245900字节,207715字节已被存入文件系统

OK

[14:20:40.889]收←◆
+FTPGETTOFS: 0,245900                               //下载成功,总共下载了多少字节。可用文件系统
                                                    //命令对文件进行操作
[14:20:44.743]发→◇AT+FSLS=C:/USER/FTP/              //查询保存的文件

[14:20:44.745]收←◆AT+FSLS=C:/USER/FTP/

hello
TEST-1.mp3

OK

[14:20:55.535]发→◇AT+CAUDPLAY=1,"C:/USER/FTP/TEST-1.mp3"         //播放保存的文件

[14:20:55.538]收←◆AT+CAUDPLAY=1,"C:/USER/FTP/TEST-1.mp3"

OK

[14:21:04.364]收←◆
+CAUDPLAY: 1,600                                                //播放结束

FTP PUT FRMFS演示

[14:32:04.216]发→◇AT+SAPBR=3,1,"CONTYPE","GPRS"          //设置FTP功能的承载类型

[14:32:04.219]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"

OK

[14:32:10.851]发→◇AT+SAPBR=3,1,"APN",""              //设置PDP承载之APN参数
                                                    //模块注册网络后会从网络自动获取<apn>并激
[14:32:10.855]收←◆AT+SAPBR=3,1,"APN",""              //活一个PDP上下文,用于RNDIS上网使用
                                                     //<apn>可以通过AT+CGDCONT?来查询
                                                     //所以输入AT+SAPBR=3,<cid>,"APN",""
                                                     //可,模块内部会按照自动获取的<apn>来设置
                                                     //APN
OK

[14:32:18.205]发→◇AT+SAPBR=1,1                       //激活该承载的GPRS PDP上下文

[14:32:18.211]收←◆AT+SAPBR=1,1

OK

[14:32:25.052]发→◇AT+SAPBR=2,1                       //查询下承载的状态

[14:32:25.055]收←◆AT+SAPBR=2,1

+SAPBR: 1,1,"10.135.31.160"                         //第一个参数1表示cid
                                                    //第二个参数1表示已经连接
OK                                                  //第三个参数表示模块获取的IP地址

[14:32:32.560]发→◇AT+FTPCID=1                        //设置cid

[14:32:32.562]收←◆AT+FTPCID=1

OK

[14:32:42.062]发→◇AT+FTPSERV="xxx.xxx.xxx"           //设置服务器ip地址,也可以使用域名。

[14:32:42.065]收←◆AT+FTPSERV="xxx.xxx.xxx"

OK

[14:32:47.758]发→◇AT+FTPUN="user"                    //设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄

[14:32:47.761]收←◆AT+FTPUN="user"

OK

[14:32:53.616]发→◇AT+FTPPW="password"                //输入密码。请填写自己FTP服务器的密码,不要照抄

[14:32:53.621]收←◆AT+FTPPW="password"

OK

[14:33:04.781]发→◇AT+FTPPUTPATH="/"                  //设置将文件上传到服务器后的保存目录。

[14:33:04.784]收←◆AT+FTPPUTPATH="/"

OK

[14:33:11.783]发→◇AT+FTPPUTNAME="TEST001.txt"        //设置将文件上传到服务器后的保存名称。

[14:33:11.785]收←◆AT+FTPPUTNAME="TEST001.txt"

OK

[14:33:21.305]发→◇AT+FTPPUTFRMFS="C:/USER/FTP/TEST-1.txt"    //C:\USER\FTP\TEST-1.txt的文件传到服务器

[14:33:21.310]收←◆AT+FTPPUTFRMFS="C:/USER/FTP/TEST-1.txt"

OK                                                           //上传结束

+FTPPUTFRMFS: 0,41580

FTP FILE PUT演示

[14:45:03.380]发→◇AT+SAPBR=3,1,"CONTYPE","GPRS"          //设置FTP功能的承载类型

[14:45:03.384]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"

OK

[14:45:10.057]发→◇AT+SAPBR=3,1,"APN",""                  //设置PDP承载之APN参数
                                                        //模块注册网络后会从网络自动获取<apn>并激
[14:45:10.060]收←◆AT+SAPBR=3,1,"APN",""                 //活一个PDP上下文,用于RNDIS上网使用
                                                        //<apn>可以通过AT+CGDCONT?来查询
                                                        //所以输入AT+SAPBR=3,<cid>,"APN",""
                                                        //可,模块内部会按照自动获取的<apn>来设置
                                                        //APN
OK

[14:45:15.802]发→◇AT+SAPBR=1,1                          //激活该承载的GPRS PDP上下文

[14:45:15.804]收←◆AT+SAPBR=1,1

OK

[14:45:22.535]发→◇AT+SAPBR=2,1                         //查询下承载的状态

[14:45:22.538]收←◆AT+SAPBR=2,1

+SAPBR: 1,1,"10.140.9.237"                              //第一个参数1表示cid
                                                        //第二个参数1表示已经连接
OK                                                      //第三个参数表示模块获取的IP地址

[14:45:31.271]发→◇AT+FTPCID=1                           //设置cid

[14:45:31.274]收←◆AT+FTPCID=1

OK

[14:45:41.538]发→◇AT+FTPSERV="xxx.xxx.xxx"           //设置服务器ip地址,也可以使用域名。

[14:45:41.542]收←◆AT+FTPSERV="xxx.xxx.xxx"

OK

[14:45:46.605]发→◇AT+FTPUN="user"                    //设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄

[14:45:46.608]收←◆AT+FTPUN="user"

OK

[14:45:51.856]发→◇AT+FTPPW="password"                //输入密码。请填写自己FTP服务器的密码,不要照抄

[14:45:51.858]收←◆AT+FTPPW="password"

OK

[14:46:06.258]发→◇AT+FTPPUTPATH="/"                  //设置将文件上传到服务器后的保存目录。

[14:46:06.260]收←◆AT+FTPPUTPATH="/"

OK

[14:46:14.817]发→◇AT+FTPPUTNAME="TEST_80.txt"        //传到服务器后保存的文件名

[14:46:14.820]收←◆AT+FTPPUTNAME="TEST_80.txt"

OK

[14:46:23.361]发→◇AT+FTPFILEPUT=1,"C:/USER/FTP/TEST-1.txt"   //C:\USER\FTP\TEST-1.txt加载到内存

[14:46:23.363]收←◆AT+FTPFILEPUT=1,"C:/USER/FTP/TEST-1.txt"

OK

[14:46:29.413]发→◇AT+FTPPUT=1                        //开始上传

[14:46:29.417]收←◆AT+FTPPUT=1

OK

[14:47:13.009]收←◆
+FTPPUT: 1,0                                          //上传结束

[14:48:14.954]发→◇AT+FTPFILEPUT=0                    //结束FTPFILEPUT模式

[14:48:14.956]收←◆AT+FTPFILEPUT=0

OK

FTP远程创建/删除目录(文件)

[16:22:14.409]发→◇AT+SAPBR=3,1,"CONTYPE","GPRS"          //设置FTP功能的承载类型

[16:22:14.412]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"

OK

[16:22:23.260]发→◇AT+SAPBR=3,1,"APN",""                  //设置PDP承载之APN参数
                                                        //模块注册网络后会从网络自动获取<apn>并激
[16:22:23.262]收←◆AT+SAPBR=3,1,"APN",""                 //活一个PDP上下文,用于RNDIS上网使用
                                                        //<apn>可以通过AT+CGDCONT?来查询
                                                        //所以输入AT+SAPBR=3,<cid>,"APN",""
                                                        //可,模块内部会按照自动获取的<apn>来设置
                                                        //APN
OK

[16:22:33.227]发→◇AT+SAPBR=1,1                          //激活该承载的GPRS PDP上下文

[16:22:33.229]收←◆AT+SAPBR=1,1

OK

[16:22:41.563]发→◇AT+SAPBR=2,1                          //查询下承载的状态

[16:22:41.565]收←◆AT+SAPBR=2,1

+SAPBR: 1,1,"10.197.142.18"                             //第一个参数1表示cid
                                                        //第二个参数1表示已经连接
OK                                                      //第三个参数表示模块获取的IP地址

[16:22:47.753]发→◇AT+FTPCID=1                           //设置cid

[16:22:47.757]收←◆AT+FTPCID=1

OK

[16:22:58.179]发→◇AT+FTPSERV="xxx.xxx.xxx"           //设置服务器ip地址,也可以使用域名。

[16:22:58.183]收←◆AT+FTPSERV="xxx.xxx.xxx"

OK

[16:23:03.374]发→◇AT+FTPUN="user"                    //设置服务器用户名。请填写自己FTP服务器的用户名,不要照抄

[16:23:03.377]收←◆AT+FTPUN="user"

OK

[16:23:09.022]发→◇AT+FTPPW="password"                //输入密码。请填写自己FTP服务器的密码,不要照抄

[16:23:09.024]收←◆AT+FTPPW="password"

OK

[16:23:26.114]发→◇AT+FTPGETPATH="/test"              //设置要创建的文件目录

[16:23:26.116]收←◆AT+FTPGETPATH="/test"

OK

[16:23:36.619]发→◇AT+FTPMKD                          //创建目录

[16:23:36.622]收←◆AT+FTPMKD

OK

[16:23:37.137]收←◆
+FTPMKD: 1,0

[16:23:45.124]发→◇AT+FTPRMD                          //删除目录

[16:23:45.127]收←◆AT+FTPRMD

OK

[16:23:45.530]收←◆
+FTPRMD: 1,0

[16:23:52.227]发→◇AT+FTPGETPATH="/"                  //设置目标文件在服务器端的路径。

[16:23:52.229]收←◆AT+FTPGETPATH="/"

OK

[16:23:59.028]发→◇AT+FTPGETNAME="HI.txt"             //设置服务器端目标文件的名称。

[16:23:59.030]收←◆AT+FTPGETNAME="HI.txt"

OK

[16:24:05.536]发→◇AT+FTPDELE                         //删除HI.txt这个文件

[16:24:05.541]收←◆AT+FTPDELE

OK

[16:24:05.926]收←◆
+FTPDELE: 1,0

常见问题

AT+CGATT?返回值为 0 的解决方法

  1. 发送 AT+CSQ 查询信号强度,若信号强度低就换场景、换不同运营商的卡、换天线、换模块交叉测试依次排查
  2. 发送 AT+CEREG? 查询卡状态,根据返回值依次排查
  3. 返回值为 **CEREG:0,1 ** 表示成功驻网
  4. 返回值为 CEREG:0,2 表示正在搜网,所长时间处于这种状态,则需要检查天线是否连接正常、SIM卡是否没流量或者是否停机了
  5. 返回值为 CEREG:0,3 表示驻网被拒绝,则要检查天线是否连接、天线连接座子的接口是否正确、天线是否损坏或者更换天线确认;若仍未解决,那么就需要换卡、换板子进行对比测试,确保使用正常的硬件和SIM卡测试;检查SIM卡是否欠费,流量是否用完;SIM卡是否为专网卡,是否机卡绑定,专网卡需要设置正确的APN,机卡分离停机时需要联系卡商进行重新绑定

  6. 发送 AT+CPIN? 判断是否读到卡

  7. 返回值为 +CPIN: READY 表示读到卡了。
  8. 返回值为 +CPIN: SIM REMOVED 表示没有读到卡,此时需要排查硬件方面。主要排查模块端引脚是否损坏,卡座硬件是否正常,模块到卡座之间连接是否正常;另外,这个卡座实际是det 为高有效识别卡还是低有效识别卡,也要确认一下

关于不支持主动模式

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

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

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

适用型号&选型手册

合宙支持AT功能的模组型号,除本文介绍的Air780EP外, 还有Air780EPA、Air780E、Air780EX、Air724UG、Air201、Air780EQ、Air700ECQ、Air700EAQ、Air780EPT、Air780EPS等型号, 本文介绍的是FTP应用指南的AT流程,同样也适用于这些型号。

选型手册简洁版01 选型手册简洁版02