Air780EP是合宙的低功耗4G模組之一,支持全系列的AT指令以及LuatOS腳本二次開發(fā)。
本文應(yīng)各位大佬邀請,詳細(xì)講解了Air780EP模組FTP應(yīng)用的多個AT命令示例。
本文同樣適用于以下型號:
Air700ECQ/Air700EAQ/Air700EMQ
Air780EQ/Air780EPA/Air780EPT/Air780EPS
Air780E/Air780EX/Air724UG…
合宙Air780EP模塊采用LGA高集成封裝,模塊提供了多達(dá)109個SMT焊盤管腳,
采用了一系列低功耗技術(shù),使得其在長連接待機(jī)狀態(tài)下(如5分鐘心跳)的功耗低至450微,除了支持MQTT等物聯(lián)網(wǎng)常用協(xié)議外,Air780EP模塊還支持TCP、UDP、HTTP、WebSocket、FTP、NTP等多種網(wǎng)絡(luò)協(xié)議。
?一、 相關(guān)準(zhǔn)備工作
1.1 硬件準(zhǔn)備
合宙EVB_Air780EP開發(fā)板一套,包括天線、SIM卡;
USB線
PC電腦
1.2 軟件準(zhǔn)備
串口工具
如果沒有準(zhǔn)備,推薦使用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
推薦選用:相關(guān)型號固件名稱后面數(shù)字版本號最高的最新版本進(jìn)行調(diào)試。
二、FTP應(yīng)用基本流程
2.1 開機(jī)操作
拉低powerkey 2秒進(jìn)行開機(jī),開機(jī)后通過串口循環(huán)發(fā)送AT直到收到OK。如果90秒沒有收到OK,請拉低RESET引腳150ms以上。
或使用其他方法,詳見開關(guān)機(jī)章節(jié):
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]發(fā)→◇AT
□
[09:35:05.596]收←◆AT
OK
[09:35:06.906]發(fā)→◇AT
□
[09:35:06.911]收←◆AT
OK
2.2 查詢SIM卡狀態(tài)
發(fā)送AT+CPIN?查詢SIM卡狀態(tài),直到收到+CPIN: READY。如果10s內(nèi)沒有收到,建議重啟模塊。
[09:41:29.762]發(fā)→◇AT+CPIN?
□
[09:41:29.763]收←◆AT+CPIN?
+CPIN: READY
OK
2.3 查詢是否注冊網(wǎng)絡(luò)
發(fā)送 AT+CGATT? 查詢是否注冊網(wǎng)絡(luò):
注冊成功:
若返回+CGATT: 1即為注冊成功,在正常情況下注冊時間不會超過兩分鐘。如果超過兩分鐘沒有注冊,則可以通過 +CFUN 指令進(jìn)入飛行模式,等待五秒后退出飛行模式再查詢,或者直接重啟模塊。
未注冊成功:
若返回+CGATT: 0即為沒有注冊成功,解決方法參考本文第3小節(jié)3.1【常見問題】。
[09:42:48.348]發(fā)→◇AT+CGATT?
□
[09:42:48.351]收←◆AT+CGATT?
+CGATT: 1
OK
2.4 配置網(wǎng)絡(luò)
發(fā)送AT+CSTT配置網(wǎng)絡(luò),非私有APN以外Cat.1的固件支持根據(jù)卡自動配置APN,直接輸入AT+CSTT即可,模塊會按照自動獲取的APN設(shè)置CSTT的APN。
[10:39:13.204]發(fā)→◇AT+CSTT
□
[10:39:13.206]收←◆AT+CSTT
OK
2.5 激活網(wǎng)絡(luò)
發(fā)送AT+CIICR 激活網(wǎng)絡(luò),在IP START的狀態(tài)使用AT+CIICR激活網(wǎng)絡(luò)。
[10:41:01.249]發(fā)→◇AT+CIICR
□
[10:41:01.254]收←◆AT+CIICR
OK
2.6 查詢是否獲取IP
發(fā)送 AT+CIFSR 查詢是否獲取IP:
成功則可以開始配置TCP連接;
不成功則使用AT+CIPSHUT關(guān)閉移動網(wǎng)絡(luò),從 AT+CSTT重新進(jìn)行。
一定要查詢一次,再進(jìn)行服務(wù)器連接。
[10:41:22.408]發(fā)→◇AT+CIFSR
□
[10:41:22.414]收←◆AT+CIFSR
10.222.163.213
三、FTP GET示例
如果不理解AT命令含義,可參考AT指令手冊說明:
AT指令手冊下載鏈接: https://doc.openluat.com/article/4985
最新示例下載:
[10:45:05.552]發(fā)→◇AT+SAPBR=3,1,"CONTYPE","GPRS" //設(shè)置FTP功能的承載類型
□
[10:45:05.558]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
[10:45:14.270]發(fā)→◇AT+SAPBR=3,1,"APN","" //設(shè)置PDP承載之APN參數(shù)
□ //模塊注冊網(wǎng)絡(luò)后會從網(wǎng)絡(luò)自動獲取并激
[10:45:14.272]收←◆AT+SAPBR=3,1,"APN","" //活一個PDP上下文,用于RNDIS上網(wǎng)使用
//此可以通過AT+CGDCONT?來查詢
//所以輸入AT+SAPBR=3,,"APN",""即
//可,模塊內(nèi)部會按照自動獲取的來設(shè)置
//APN
OK
[10:45:24.765]發(fā)→◇AT+SAPBR=1,1 //激活該承載的GPRS PDP上下文
□
[10:45:24.767]收←◆AT+SAPBR=1,1
OK
[10:45:32.192]發(fā)→◇AT+SAPBR=2,1 //查詢下承載的狀態(tài)
□
[10:45:32.196]收←◆AT+SAPBR=2,1
+SAPBR: 1,1,"10.222.163.213" //第一個參數(shù)1表示cid
//第二個參數(shù)1表示已經(jīng)連接
OK //第三個參數(shù)表示模塊獲取的IP地址
[10:45:40.010]發(fā)→◇AT+FTPCID=1 //設(shè)置cid
□
[10:45:40.011]收←◆AT+FTPCID=1
OK
[10:54:08.163]發(fā)→◇AT+FTPSERV="xxx.xxx.xxx" //設(shè)置服務(wù)器ip地址,也可以使用域名。
□ //本文只是舉例,請?zhí)顚懽约旱姆?wù)器地址,不要照抄。
[10:54:08.167]收←◆AT+FTPSERV="xxx.xxx.xxx"
OK
[10:54:24.205]發(fā)→◇AT+FTPUN="user" //設(shè)置服務(wù)器用戶名。請?zhí)顚懽约篎TP服務(wù)器的用戶名,不要照抄
□
[10:54:24.207]收←◆AT+FTPUN="user"
OK
[10:54:47.915]發(fā)→◇AT+FTPPW="password" //輸入密碼。請?zhí)顚懽约篎TP服務(wù)器的密碼,不要照抄
□
[10:54:47.918]收←◆AT+FTPPW="password"
OK
[10:54:56.725]發(fā)→◇AT+FTPGETPATH="/" //設(shè)置下載文件的路徑
□
[10:54:56.727]收←◆AT+FTPGETPATH="/"
OK
[10:55:03.346]發(fā)→◇AT+FTPLIST=1 //打開 FTP 獲取文件目錄會話
□
[10:55:03.349]收←◆AT+FTPLIST=1
OK
[10:55:03.982]收←◆ //第一個參數(shù)1,表示模式1,即打開 FTP 獲取文件目錄會話
+FTPLIST: 1,1 //第二個參數(shù)1,表示是一個成功的FTP會話
[10:57:51.768]發(fā)→◇AT+FTPLIST=2,1460 //讀取 FTP 獲取文件目錄的數(shù)據(jù),請求的數(shù)據(jù)長度為1460字節(jié)
□
[10:57:51.774]收←◆AT+FTPLIST=2,1460
//第一個參數(shù)2,表示模式2,即讀取 FTP 獲取文件目錄的數(shù)據(jù)
+FTPLIST: 2,1460 //第二個參數(shù)1460,表示實際的數(shù)據(jù)長度為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 是可執(zhí)行
-rw------- 1 ftp ftp 62 Jul 22 06:08 122211.txt //因此rw-為可讀、可寫、不可執(zhí)行
-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]發(fā)→◇AT+FTPQUIT //退出FTPLIST會話,才能開始后續(xù)的會話。退出FTPLIST會話的方法有兩種
□ //一是等待+FTPLIST:1,0上報,二是主動退出FTPLIST會話
[10:57:58.935]收←◆AT+FTPQUIT //這里采用的是主動退出FTPLIST會話
OK
[10:57:59.038]收←◆
+FTPLIST: 1,86 //第一參數(shù)1表示打開FTP會話,第二個參數(shù)86表示主動退出
[10:58:08.907]發(fā)→◇AT+FTPGETNAME="1.txt" //設(shè)置下載文件的名稱
□
[10:58:08.909]收←◆AT+FTPGETNAME="1.txt"
OK
[10:58:14.767]發(fā)→◇AT+FTPGET=1 //開始FTP下載會話
□
[10:58:14.769]收←◆AT+FTPGET=1
OK
[10:58:15.324]收←◆
+FTPGET: 1,1 //這個是URC上報,表示有數(shù)據(jù)了
[10:58:22.573]發(fā)→◇AT+FTPGET=2,20 //讀入20個數(shù)據(jù)
□
[10:58:22.576]收←◆AT+FTPGET=2,20
+FTPGET: 2,20 //確定讀到的是20個數(shù)據(jù)
23noianfdiasfhnpqw39
OK
[10:58:29.930]收←◆
+FTPGET: 1,0 //等一段時間會提示FTP下載會話結(jié)束
[10:59:33.285]發(fā)→◇AT+FTPREST=6 //如果FTP連接或會話意外關(guān)閉,還可以斷點續(xù)傳。
□ //從斷掉的點開始下載。
[10:59:33.286]收←◆AT+FTPREST=6
OK
[10:59:40.666]發(fā)→◇AT+FTPGET=1
□
[10:59:40.668]收←◆AT+FTPGET=1
OK
[10:59:41.264]收←◆
+FTPGET: 1,1 //+FTPGET: 1,1表示有數(shù)據(jù)可讀
[10:59:48.334]發(fā)→◇AT+FTPQUIT //也可以在提示 +FTPGET: 1,0 前主動用 AT+FTPQUIT 退出當(dāng)前FTP會話
□
[10:59:48.339]收←◆AT+FTPQUIT
OK
[10:59:48.428]收←◆
+FTPGET: 1,86
四、FTP PUT演示
[17:10:26.322]發(fā)→◇AT+SAPBR=3,1,"CONTYPE","GPRS" //設(shè)置FTP功能的承載類型
□
[17:10:26.324]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
[17:10:32.520]發(fā)→◇AT+SAPBR=3,1,"APN","" //設(shè)置PDP承載之APN參數(shù)
□ //模塊注冊網(wǎng)絡(luò)后會從網(wǎng)絡(luò)自動獲取并激
[17:10:32.523]收←◆AT+SAPBR=3,1,"APN","" //活一個PDP上下文,用于RNDIS上網(wǎng)使用
//此可以通過AT+CGDCONT?來查詢
//所以輸入AT+SAPBR=3,,"APN",""即
//可,模塊內(nèi)部會按照自動獲取的來設(shè)置
//APN
OK
[17:10:37.791]發(fā)→◇AT+SAPBR=1,1 //激活該承載的GPRS PDP上下文
□
[17:10:37.793]收←◆AT+SAPBR=1,1
OK
[17:10:44.588]發(fā)→◇AT+SAPBR=2,1 //查詢下承載的狀態(tài)
□
[17:10:44.594]收←◆AT+SAPBR=2,1
+SAPBR: 1,1,"10.175.110.238" //第一個參數(shù)1表示cid
//第二個參數(shù)1表示已經(jīng)連接
OK //第三個參數(shù)表示模塊獲取的IP地址
[17:10:50.727]發(fā)→◇AT+FTPCID=1 //設(shè)置cid
□
[17:10:50.730]收←◆AT+FTPCID=1
OK
[17:10:57.967]發(fā)→◇AT+FTPSERV="xxx.xxx.xxx" //設(shè)置服務(wù)器ip地址,也可以使用域名。
□ //本文只是舉例,請?zhí)顚懽约旱姆?wù)器地址,不要照抄。
[17:10:57.970]收←◆AT+FTPSERV="xxx.xxx.xxx"
OK
[17:11:04.275]發(fā)→◇AT+FTPUN="user" //設(shè)置服務(wù)器用戶名。請?zhí)顚懽约篎TP服務(wù)器的用戶名,不要照抄
□
[17:11:04.279]收←◆AT+FTPUN="user"
OK
[17:11:10.050]發(fā)→◇AT+FTPPW="password" //輸入密碼。請?zhí)顚懽约篎TP服務(wù)器的密碼,不要照抄
□
[17:11:10.054]收←◆AT+FTPPW="password"
OK
[17:11:17.746]發(fā)→◇AT+FTPPUTNAME="1222.txt" //設(shè)置上傳文件的名稱
□
[17:11:17.748]收←◆AT+FTPPUTNAME="1222.txt"
OK
[17:11:26.040]發(fā)→◇AT+FTPPUTPATH="/" //設(shè)置上傳文件的路徑
□
[17:11:26.041]收←◆AT+FTPPUTPATH="/"
OK
[17:11:31.736]發(fā)→◇AT+FTPPUT=1 //第一個參數(shù)1表示打開FTP會話
□
[17:11:31.739]收←◆AT+FTPPUT=1
OK
[17:11:32.648]收←◆
+FTPPUT: 1,1,1360 //這是URC上報,表示可以上傳數(shù)據(jù)了,單次上傳的最大長度為1360
[17:11:42.846]發(fā)→◇AT+FTPPUT=2,7 //第一個參數(shù)2表示寫FTP上傳數(shù)據(jù)
□ //第二個參數(shù)7表示數(shù)據(jù)
[17:11:42.849]收←◆AT+FTPPUT=2,7
+FTPPUT: 2,7
[17:12:18.327]發(fā)→◇1234567 //輸入7個字符后,會返回OK,表示輸入結(jié)束,已經(jīng)上傳。
□
[17:12:18.333]收←◆
OK
[17:12:50.135]收←◆
+FTPPUT: 1,0 //等待一段時間不動作,會提示FTP PUT會話結(jié)束
發(fā)→◇AT+FTPQUIT //也可以在提示 +FTPPUT: 1,0 之前用AT+FTPQUIT主動結(jié)束會話
□
收←◆AT+FTPQUIT
OK
+FTPPUT: 1,86
五、FTP EXTGET演示
[16:08:25.077]發(fā)→◇AT+SAPBR=3,1,"CONTYPE","GPRS" //設(shè)置FTP功能的承載類型
□
[16:08:25.078]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
[16:08:31.227]發(fā)→◇AT+SAPBR=3,1,"APN","" //設(shè)置PDP承載之APN參數(shù)
□ //模塊注冊網(wǎng)絡(luò)后會從網(wǎng)絡(luò)自動獲取并激
[16:08:31.229]收←◆AT+SAPBR=3,1,"APN","" //活一個PDP上下文,用于RNDIS上網(wǎng)使用
//此可以通過AT+CGDCONT?來查詢
//所以輸入AT+SAPBR=3,,"APN",""即
//可,模塊內(nèi)部會按照自動獲取的來設(shè)置
//APN
OK
[16:08:38.286]發(fā)→◇AT+SAPBR=1,1 //激活該承載的GPRS PDP上下文
□
[16:08:38.289]收←◆AT+SAPBR=1,1
OK
[16:08:44.368]發(fā)→◇AT+SAPBR=2,1 //查詢下承載的狀態(tài)
□
[16:08:44.371]收←◆AT+SAPBR=2,1
+SAPBR: 1,1,"10.204.54.96" //第一個參數(shù)1表示cid
//第二個參數(shù)1表示已經(jīng)連接
OK //第三個參數(shù)表示模塊獲取的IP地址
[16:08:51.113]發(fā)→◇AT+FTPCID=1 //設(shè)置cid
□
[16:08:51.115]收←◆AT+FTPCID=1
OK
[16:09:02.089]發(fā)→◇AT+FTPSERV="xxx.xxx.xxx" //設(shè)置服務(wù)器ip地址,也可以使用域名。
□
[16:09:02.094]收←◆AT+FTPSERV="xxx.xxx.xxx"
OK
[16:09:08.137]發(fā)→◇AT+FTPUN="user" //設(shè)置服務(wù)器用戶名。請?zhí)顚懽约篎TP服務(wù)器的用戶名,不要照抄
□
[16:09:08.140]收←◆AT+FTPUN="user"
OK
[16:09:13.357]發(fā)→◇AT+FTPPW="password" //輸入密碼。請?zhí)顚懽约篎TP服務(wù)器的密碼,不要照抄
□
[16:09:13.361]收←◆AT+FTPPW="password"
OK
[16:09:28.889]發(fā)→◇AT+FTPGETNAME="TEST2.txt" //設(shè)置下載文件的名字
□ //(請注意:FTPEXTGET命令只支持小于300K的文件的下載)
[16:09:28.892]收←◆AT+FTPGETNAME="TEST2.txt"
OK
[16:09:37.956]發(fā)→◇AT+FTPGETPATH="/" //設(shè)置下載文件所在的文件夾
□
[16:09:37.962]收←◆AT+FTPGETPATH="/"
OK
[16:09:46.180]發(fā)→◇AT+FTPEXTGET=1 //開始FTP下載
□
[16:09:46.182]收←◆AT+FTPEXTGET=1
OK
//在此之前可以通過AT+FTPEXTGET?查詢下載了多少字節(jié)
[16:09:46.813]收←◆ //有這個URC上報,表示文件下載完畢,可以保存或讀取了
+FTPEXTGET: 1,0
[16:12:14.167]發(fā)→◇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]發(fā)→◇AT+FTPEXTGET=3,0,62 //將數(shù)據(jù)顯示在串口
□
[16:13:32.119]收←◆AT+FTPEXTGET=3,0,62
+FTPEXTGET: 3,62
23noianfdiasfhnpqw39fhawe;fuibnnpw3fheaios;fna;osfhisao;fadsfl //這是顯示在串口的數(shù)據(jù)
OK
[16:13:44.742]發(fā)→◇AT+FTPEXTGET=0 //設(shè)置 FTPEXTGET 模式關(guān)閉
□
[16:13:44.744]收←◆AT+FTPEXTGET=0
OK
[16:13:58.079]發(fā)→◇AT+FTPEXTGET=4 //流式獲取數(shù)據(jù)
□
[16:13:58.085]收←◆AT+FTPEXTGET=4
OK
[16:13:58.602]收←◆
+FTPEXTGET: 4,62 //有數(shù)據(jù)上報
[16:14:13.951]發(fā)→◇AT+FTPEXTGET=4,62 //讀數(shù)據(jù)
□
[16:14:13.953]收←◆AT+FTPEXTGET=4,62
+FTPEXTGET: 4,62
23noianfdiasfhnpqw39fhawe;fuibnnpw3fheaios;fna;osfhisao;fadsfl //這是顯示在串口的數(shù)據(jù)
OK
六、FTP EXTPUT演示
[17:18:09.148]發(fā)→◇AT+SAPBR=3,1,"CONTYPE","GPRS" //設(shè)置FTP功能的承載類型
□
[17:18:09.150]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
[17:18:14.878]發(fā)→◇AT+SAPBR=3,1,"APN","" //設(shè)置PDP承載之APN參數(shù)
□ //模塊注冊網(wǎng)絡(luò)后會從網(wǎng)絡(luò)自動獲取并激
[17:18:14.881]收←◆AT+SAPBR=3,1,"APN","" //活一個PDP上下文,用于RNDIS上網(wǎng)使用
//此可以通過AT+CGDCONT?來查詢
//所以輸入AT+SAPBR=3,,"APN",""即
//可,模塊內(nèi)部會按照自動獲取的來設(shè)置
//APN
OK
[17:18:20.910]發(fā)→◇AT+SAPBR=1,1 //激活該承載的GPRS PDP上下文
□
[17:18:20.914]收←◆AT+SAPBR=1,1
OK
[17:18:28.103]發(fā)→◇AT+SAPBR=2,1 //查詢下承載的狀態(tài)
□
[17:18:28.105]收←◆AT+SAPBR=2,1
+SAPBR: 1,1,"10.132.148.95" //第一個參數(shù)1表示cid
//第二個參數(shù)1表示已經(jīng)連接
OK //第三個參數(shù)表示模塊獲取的IP地址
[17:18:35.081]發(fā)→◇AT+FTPCID=1 //設(shè)置cid
□
[17:18:35.084]收←◆AT+FTPCID=1
OK
[17:18:54.041]發(fā)→◇AT+FTPSERV="xxx.xxx.xxx" //設(shè)置服務(wù)器ip地址,也可以使用域名。
□
[17:18:54.045]收←◆AT+FTPSERV="xxx.xxx.xxx"
OK
[17:18:59.532]發(fā)→◇AT+FTPUN="user" //設(shè)置服務(wù)器用戶名。請?zhí)顚懽约篎TP服務(wù)器的用戶名,不要照抄
□
[17:18:59.535]收←◆AT+FTPUN="user"
OK
[17:19:04.704]發(fā)→◇AT+FTPPW="password" //輸入密碼。請?zhí)顚懽约篎TP服務(wù)器的密碼,不要照抄
□
[17:19:04.709]收←◆AT+FTPPW="password"
OK
[17:19:18.744]發(fā)→◇AT+FTPPUTPATH="/" //設(shè)置將文件上傳到服務(wù)器后的保存目錄。
□
[17:19:18.748]收←◆AT+FTPPUTPATH="/"
OK
[17:19:25.070]發(fā)→◇AT+FTPPUTNAME="TEST8861.txt" //設(shè)置將文件上傳到服務(wù)器后的保存名稱。
□
[17:19:25.072]收←◆AT+FTPPUTNAME="TEST8861.txt"
OK
[17:19:32.621]發(fā)→◇AT+FTPEXTPUT=1 //設(shè)置使用擴(kuò)展方式進(jìn)行FTPPUT
□
[17:19:32.624]收←◆AT+FTPEXTPUT=1
OK
[17:19:56.924]發(fā)→◇AT+FTPEXTPUT=2,0,5,10000 //將文件數(shù)據(jù)從串口輸入到模塊 RAM。
□ //第2個參數(shù)是 offset,第3個參數(shù)是數(shù)據(jù)長度,
[17:19:56.926]收←◆AT+FTPEXTPUT=2,0,5,10000 //第 4 個參數(shù)是超時時間10s
+FTPEXTPUT: 0,5
[17:20:01.011]發(fā)→◇12345 //這里輸入五個字符數(shù)據(jù)
□
[17:20:01.014]收←◆
OK
[17:20:17.514]發(fā)→◇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]發(fā)→◇67890AB //這里輸入七個字符數(shù)據(jù)
□
[17:20:19.475]收←◆
OK
[17:20:33.167]發(fā)→◇AT+FTPPUT=1 //將 RAM 中的文件傳到 FTP 服務(wù)器
□
[17:20:33.170]收←◆AT+FTPPUT=1
OK
[17:20:39.505]收←◆
+FTPPUT: 1,0 //等一段時間會提示FTP上傳會話結(jié)束。此時查看
//服務(wù)器/TEST8861.txt,看到的的內(nèi)容是:
//1234567890AB
[17:21:29.770]發(fā)→◇AT+FTPEXTPUT=0 //改為普通的FTP PUT模式
□
[17:21:29.771]收←◆AT+FTPEXTPUT=0
OK
七、FTP GET TOFS演示
[14:18:34.930]發(fā)→◇AT+SAPBR=3,1,"CONTYPE","GPRS" //設(shè)置FTP功能的承載類型
□
[14:18:34.934]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
[14:18:41.015]發(fā)→◇AT+SAPBR=3,1,"APN","" //設(shè)置PDP承載之APN參數(shù)
□ //模塊注冊網(wǎng)絡(luò)后會從網(wǎng)絡(luò)自動獲取并激
[14:18:41.016]收←◆AT+SAPBR=3,1,"APN","" //活一個PDP上下文,用于RNDIS上網(wǎng)使用
//此可以通過AT+CGDCONT?來查詢
//所以輸入AT+SAPBR=3,,"APN",""即
//可,模塊內(nèi)部會按照自動獲取的來設(shè)置
//APN
OK
[14:19:23.138]發(fā)→◇AT+SAPBR=1,1 //激活該承載的GPRS PDP上下文
□
[14:19:23.142]收←◆AT+SAPBR=1,1
OK
[14:19:29.676]發(fā)→◇AT+SAPBR=2,1 //查詢下承載的狀態(tài)
□
[14:19:29.679]收←◆AT+SAPBR=2,1
+SAPBR: 1,1,"10.140.39.84" //第一個參數(shù)1表示cid
//第二個參數(shù)1表示已經(jīng)連接
OK //第三個參數(shù)表示模塊獲取的IP地址
[14:19:37.078]發(fā)→◇AT+FTPCID=1 //設(shè)置cid
□
[14:19:37.081]收←◆AT+FTPCID=1
OK
[14:19:47.572]發(fā)→◇AT+FTPSERV="xxx.xxx.xxx" //設(shè)置服務(wù)器ip地址,也可以使用域名。
□
[14:19:47.578]收←◆AT+FTPSERV="xxx.xxx.xxx"
OK
[14:19:53.018]發(fā)→◇AT+FTPUN="user" //設(shè)置服務(wù)器用戶名。請?zhí)顚懽约篎TP服務(wù)器的用戶名,不要照抄
□
[14:19:53.023]收←◆AT+FTPUN="user"
OK
[14:19:59.655]發(fā)→◇AT+FTPPW="password" //輸入密碼。請?zhí)顚懽约篎TP服務(wù)器的密碼,不要照抄
□
[14:19:59.656]收←◆AT+FTPPW="password"
OK
[14:20:10.163]發(fā)→◇AT+FTPGETNAME="TEST.mp3" //設(shè)置服務(wù)器端目標(biāo)文件的名稱。
□
[14:20:10.166]收←◆AT+FTPGETNAME="TEST.mp3"
OK
[14:20:19.207]發(fā)→◇AT+FTPGETPATH="/" //設(shè)置目標(biāo)文件在服務(wù)器端的路徑。
□
[14:20:19.213]收←◆AT+FTPGETPATH="/"
OK
[14:20:27.778]發(fā)→◇AT+FTPGETTOFS=0,"TEST-1.mp3" //開始下載,并存于本地ROM中。都只能指定文件名,
□ //不能指定路徑,因為存放的路徑是固定的
[14:20:27.780]收←◆AT+FTPGETTOFS=0,"TEST-1.mp3" //這種下載方式支持自動斷點續(xù)傳
OK
[14:20:33.881]發(fā)→◇AT+FTPGETTOFS? //查詢下載情況
□
[14:20:33.884]收←◆AT+FTPGETTOFS?
+FTPGETTOFS: 1,245900,207715 //已下載245900字節(jié),207715字節(jié)已被存入文件系統(tǒng)
OK
[14:20:40.889]收←◆
+FTPGETTOFS: 0,245900 //下載成功,總共下載了多少字節(jié)。可用文件系統(tǒng)
//命令對文件進(jìn)行操作
[14:20:44.743]發(fā)→◇AT+FSLS=C:/USER/FTP/ //查詢保存的文件
□
[14:20:44.745]收←◆AT+FSLS=C:/USER/FTP/
hello
TEST-1.mp3
OK
[14:20:55.535]發(fā)→◇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 //播放結(jié)束
八、FTP PUT FRMFS演示
[14:32:04.216]發(fā)→◇AT+SAPBR=3,1,"CONTYPE","GPRS" //設(shè)置FTP功能的承載類型
□
[14:32:04.219]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
[14:32:10.851]發(fā)→◇AT+SAPBR=3,1,"APN","" //設(shè)置PDP承載之APN參數(shù)
□ //模塊注冊網(wǎng)絡(luò)后會從網(wǎng)絡(luò)自動獲取并激
[14:32:10.855]收←◆AT+SAPBR=3,1,"APN","" //活一個PDP上下文,用于RNDIS上網(wǎng)使用
//此可以通過AT+CGDCONT?來查詢
//所以輸入AT+SAPBR=3,,"APN",""即
//可,模塊內(nèi)部會按照自動獲取的來設(shè)置
//APN
OK
[14:32:18.205]發(fā)→◇AT+SAPBR=1,1 //激活該承載的GPRS PDP上下文
□
[14:32:18.211]收←◆AT+SAPBR=1,1
OK
[14:32:25.052]發(fā)→◇AT+SAPBR=2,1 //查詢下承載的狀態(tài)
□
[14:32:25.055]收←◆AT+SAPBR=2,1
+SAPBR: 1,1,"10.135.31.160" //第一個參數(shù)1表示cid
//第二個參數(shù)1表示已經(jīng)連接
OK //第三個參數(shù)表示模塊獲取的IP地址
[14:32:32.560]發(fā)→◇AT+FTPCID=1 //設(shè)置cid
□
[14:32:32.562]收←◆AT+FTPCID=1
OK
[14:32:42.062]發(fā)→◇AT+FTPSERV="xxx.xxx.xxx" //設(shè)置服務(wù)器ip地址,也可以使用域名。
□
[14:32:42.065]收←◆AT+FTPSERV="xxx.xxx.xxx"
OK
[14:32:47.758]發(fā)→◇AT+FTPUN="user" //設(shè)置服務(wù)器用戶名。請?zhí)顚懽约篎TP服務(wù)器的用戶名,不要照抄
□
[14:32:47.761]收←◆AT+FTPUN="user"
OK
[14:32:53.616]發(fā)→◇AT+FTPPW="password" //輸入密碼。請?zhí)顚懽约篎TP服務(wù)器的密碼,不要照抄
□
[14:32:53.621]收←◆AT+FTPPW="password"
OK
[14:33:04.781]發(fā)→◇AT+FTPPUTPATH="/" //設(shè)置將文件上傳到服務(wù)器后的保存目錄。
□
[14:33:04.784]收←◆AT+FTPPUTPATH="/"
OK
[14:33:11.783]發(fā)→◇AT+FTPPUTNAME="TEST001.txt" //設(shè)置將文件上傳到服務(wù)器后的保存名稱。
□
[14:33:11.785]收←◆AT+FTPPUTNAME="TEST001.txt"
OK
[14:33:21.305]發(fā)→◇AT+FTPPUTFRMFS="C:/USER/FTP/TEST-1.txt" //將C:USERFTPTEST-1.txt的文件傳到服務(wù)器
□
[14:33:21.310]收←◆AT+FTPPUTFRMFS="C:/USER/FTP/TEST-1.txt"
OK //上傳結(jié)束
+FTPPUTFRMFS: 0,41580
九、FTP FILE PUT演示
[14:45:03.380]發(fā)→◇AT+SAPBR=3,1,"CONTYPE","GPRS" //設(shè)置FTP功能的承載類型
□
[14:45:03.384]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
[14:45:10.057]發(fā)→◇AT+SAPBR=3,1,"APN","" //設(shè)置PDP承載之APN參數(shù)
□ //模塊注冊網(wǎng)絡(luò)后會從網(wǎng)絡(luò)自動獲取并激
[14:45:10.060]收←◆AT+SAPBR=3,1,"APN","" //活一個PDP上下文,用于RNDIS上網(wǎng)使用
//此可以通過AT+CGDCONT?來查詢
//所以輸入AT+SAPBR=3,,"APN",""即
//可,模塊內(nèi)部會按照自動獲取的來設(shè)置
//APN
OK
[14:45:15.802]發(fā)→◇AT+SAPBR=1,1 //激活該承載的GPRS PDP上下文
□
[14:45:15.804]收←◆AT+SAPBR=1,1
OK
[14:45:22.535]發(fā)→◇AT+SAPBR=2,1 //查詢下承載的狀態(tài)
□
[14:45:22.538]收←◆AT+SAPBR=2,1
+SAPBR: 1,1,"10.140.9.237" //第一個參數(shù)1表示cid
//第二個參數(shù)1表示已經(jīng)連接
OK //第三個參數(shù)表示模塊獲取的IP地址
[14:45:31.271]發(fā)→◇AT+FTPCID=1 //設(shè)置cid
□
[14:45:31.274]收←◆AT+FTPCID=1
OK
[14:45:41.538]發(fā)→◇AT+FTPSERV="xxx.xxx.xxx" //設(shè)置服務(wù)器ip地址,也可以使用域名。
□
[14:45:41.542]收←◆AT+FTPSERV="xxx.xxx.xxx"
OK
[14:45:46.605]發(fā)→◇AT+FTPUN="user" //設(shè)置服務(wù)器用戶名。請?zhí)顚懽约篎TP服務(wù)器的用戶名,不要照抄
□
[14:45:46.608]收←◆AT+FTPUN="user"
OK
[14:45:51.856]發(fā)→◇AT+FTPPW="password" //輸入密碼。請?zhí)顚懽约篎TP服務(wù)器的密碼,不要照抄
□
[14:45:51.858]收←◆AT+FTPPW="password"
OK
[14:46:06.258]發(fā)→◇AT+FTPPUTPATH="/" //設(shè)置將文件上傳到服務(wù)器后的保存目錄。
□
[14:46:06.260]收←◆AT+FTPPUTPATH="/"
OK
[14:46:14.817]發(fā)→◇AT+FTPPUTNAME="TEST_80.txt" //傳到服務(wù)器后保存的文件名
□
[14:46:14.820]收←◆AT+FTPPUTNAME="TEST_80.txt"
OK
[14:46:23.361]發(fā)→◇AT+FTPFILEPUT=1,"C:/USER/FTP/TEST-1.txt" //將C:USERFTPTEST-1.txt加載到內(nèi)存
□
[14:46:23.363]收←◆AT+FTPFILEPUT=1,"C:/USER/FTP/TEST-1.txt"
OK
[14:46:29.413]發(fā)→◇AT+FTPPUT=1 //開始上傳
□
[14:46:29.417]收←◆AT+FTPPUT=1
OK
[14:47:13.009]收←◆
+FTPPUT: 1,0 //上傳結(jié)束
[14:48:14.954]發(fā)→◇AT+FTPFILEPUT=0 //結(jié)束FTPFILEPUT模式
□
[14:48:14.956]收←◆AT+FTPFILEPUT=0
OK
十、FTP遠(yuǎn)程創(chuàng)建/刪除目錄(文件)
[16:22:14.409]發(fā)→◇AT+SAPBR=3,1,"CONTYPE","GPRS" //設(shè)置FTP功能的承載類型
□
[16:22:14.412]收←◆AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
[16:22:23.260]發(fā)→◇AT+SAPBR=3,1,"APN","" //設(shè)置PDP承載之APN參數(shù)
□ //模塊注冊網(wǎng)絡(luò)后會從網(wǎng)絡(luò)自動獲取并激
[16:22:23.262]收←◆AT+SAPBR=3,1,"APN","" //活一個PDP上下文,用于RNDIS上網(wǎng)使用
//此可以通過AT+CGDCONT?來查詢
//所以輸入AT+SAPBR=3,,"APN",""即
//可,模塊內(nèi)部會按照自動獲取的來設(shè)置
//APN
OK
[16:22:33.227]發(fā)→◇AT+SAPBR=1,1 //激活該承載的GPRS PDP上下文
□
[16:22:33.229]收←◆AT+SAPBR=1,1
OK
[16:22:41.563]發(fā)→◇AT+SAPBR=2,1 //查詢下承載的狀態(tài)
□
[16:22:41.565]收←◆AT+SAPBR=2,1
+SAPBR: 1,1,"10.197.142.18" //第一個參數(shù)1表示cid
//第二個參數(shù)1表示已經(jīng)連接
OK //第三個參數(shù)表示模塊獲取的IP地址
[16:22:47.753]發(fā)→◇AT+FTPCID=1 //設(shè)置cid
□
[16:22:47.757]收←◆AT+FTPCID=1
OK
[16:22:58.179]發(fā)→◇AT+FTPSERV="xxx.xxx.xxx" //設(shè)置服務(wù)器ip地址,也可以使用域名。
□
[16:22:58.183]收←◆AT+FTPSERV="xxx.xxx.xxx"
OK
[16:23:03.374]發(fā)→◇AT+FTPUN="user" //設(shè)置服務(wù)器用戶名。請?zhí)顚懽约篎TP服務(wù)器的用戶名,不要照抄
□
[16:23:03.377]收←◆AT+FTPUN="user"
OK
[16:23:09.022]發(fā)→◇AT+FTPPW="password" //輸入密碼。請?zhí)顚懽约篎TP服務(wù)器的密碼,不要照抄
□
[16:23:09.024]收←◆AT+FTPPW="password"
OK
[16:23:26.114]發(fā)→◇AT+FTPGETPATH="/test" //設(shè)置要創(chuàng)建的文件目錄
□
[16:23:26.116]收←◆AT+FTPGETPATH="/test"
OK
[16:23:36.619]發(fā)→◇AT+FTPMKD //創(chuàng)建目錄
□
[16:23:36.622]收←◆AT+FTPMKD
OK
[16:23:37.137]收←◆
+FTPMKD: 1,0
[16:23:45.124]發(fā)→◇AT+FTPRMD //刪除目錄
□
[16:23:45.127]收←◆AT+FTPRMD
OK
[16:23:45.530]收←◆
+FTPRMD: 1,0
[16:23:52.227]發(fā)→◇AT+FTPGETPATH="/" //設(shè)置目標(biāo)文件在服務(wù)器端的路徑。
□
[16:23:52.229]收←◆AT+FTPGETPATH="/"
OK
[16:23:59.028]發(fā)→◇AT+FTPGETNAME="HI.txt" //設(shè)置服務(wù)器端目標(biāo)文件的名稱。
□
[16:23:59.030]收←◆AT+FTPGETNAME="HI.txt"
OK
[16:24:05.536]發(fā)→◇AT+FTPDELE //刪除HI.txt這個文件
□
[16:24:05.541]收←◆AT+FTPDELE
OK
[16:24:05.926]收←◆
+FTPDELE: 1,0
常見問題Q&A
以下針對客戶朋友們實際應(yīng)用中的反饋,整理了FTP應(yīng)用中的常見問題:
1. AT+CGATT?返回值為0,怎么解決?
1)發(fā)送AT+CSQ查詢信號強(qiáng)度
若信號強(qiáng)度低,就換場景、換不同運營商的卡、換天線、換模塊,交叉測試依次排查。
02)發(fā)送 AT+CEREG? 查詢卡狀態(tài)
根據(jù)返回值依次排查:
返回值為CEREG:0,1
表示成功駐網(wǎng);
返回值為CEREG:0,2
表示正在搜網(wǎng):
如果長時間處于這種狀態(tài),則需要檢查天線是否連接正常、SIM卡是否沒流量或者是否停機(jī)了。
返回值為CEREG:0,3
表示駐網(wǎng)被拒絕:
則要檢查天線是否連接、天線連接座子的接口是否正確、天線是否損壞或者更換天線確認(rèn);
若仍未解決,那么就需要換卡、換板子進(jìn)行對比測試,確保使用正常的硬件和SIM卡測試;檢查SIM卡是否欠費,流量是否用完;SIM卡是否為專網(wǎng)卡,是否機(jī)卡綁定,專網(wǎng)卡需要設(shè)置正確的APN,機(jī)卡分離停機(jī)時需要聯(lián)系卡商進(jìn)行重新綁定。
03) 發(fā)送 AT+CPIN? 判斷是否讀到卡
返回值為+CPIN: READY:表示讀到卡了;
返回值為+CPIN: SIM REMOVED:
表示沒有讀到卡:
此時需要排查硬件方面。主要排查模塊端引腳是否損壞,卡座硬件是否正常,模塊到卡座之間連接是否正常;
另外,這個卡座實際是det為高有效識別卡,還是低有效識別卡,也要確認(rèn)一下。
2. FTP支持主動模式嗎?
模塊FTP默認(rèn)是被動模式,不支持主動模式,無法設(shè)置主動模式。公網(wǎng)下要想模塊正常連接服務(wù)器,須特別注意:
服務(wù)器不能設(shè)置為主動模式,否則哪家模塊都不能用。
3. AT版本發(fā)送帶0x0d 0x0a這些數(shù)據(jù)會丟失,怎么辦?
需要通過AT+FTPTYPE="I"設(shè)置為二進(jìn)制方式傳輸文件,否則傳輸過程中會丟棄換行符。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2900文章
44062瀏覽量
370244 -
FTP
+關(guān)注
關(guān)注
0文章
106瀏覽量
40568 -
4G模塊
+關(guān)注
關(guān)注
1文章
68瀏覽量
9043 -
合宙通信
+關(guān)注
關(guān)注
0文章
146瀏覽量
1715 -
LuatOS
+關(guān)注
關(guān)注
0文章
57瀏覽量
1919
發(fā)布評論請先 登錄
相關(guān)推薦
評論