本文說(shuō)的是關(guān)于4G模組AT指令的FTP示例,以Air780E為例,希望大家有所收獲。
一、 FTP 協(xié)議簡(jiǎn)介
FTP(File Transfer Protocol,文件傳輸協(xié)議) 是 TCP/IP 協(xié)議組中的協(xié)議之一。
FTP 協(xié)議包括兩個(gè)組成部分,其一為 FTP 服務(wù)器,其二為 FTP 客戶端。其中FTP 服務(wù)器用來(lái)存儲(chǔ)文件,用戶可以使用FTP客戶端通過(guò)FTP協(xié)議訪問(wèn)位于FTP服務(wù)器上的資源。在開(kāi)發(fā)網(wǎng)站的時(shí)候,通常利用FTP協(xié)議把網(wǎng)頁(yè)或程序傳到Web服務(wù)器上。此外,由于FTP傳輸效率非常高,在網(wǎng)絡(luò)上傳輸大的文件時(shí),一般也采用該協(xié)議。
默認(rèn)情況下FTP協(xié)議使用TCP端口中的 20 和 21 這兩個(gè)端口,其中 20 用于傳輸數(shù)據(jù),21 用于傳輸控制信息。但是,是否使用 20 作為傳輸數(shù)據(jù)的端口與 FTP 使用的傳輸模式有關(guān),如果采用主動(dòng)模式,那么數(shù)據(jù)傳輸端口就是 20;如果采用被動(dòng)模式,則具體最終使用哪個(gè)端口要服務(wù)器端和客戶端協(xié)商決定。模塊FTP默認(rèn)是被動(dòng)模式,不支持主動(dòng)模式,無(wú)法設(shè)置主動(dòng)模式,公網(wǎng)下要想模塊正常連接服務(wù)器,服務(wù)器肯定不能設(shè)置為主動(dòng)模式,否則哪家模塊都不能用。
二、 本教程實(shí)現(xiàn)的功能概述
本文教你4G模組使用AT命令連接FTP服務(wù)器,實(shí)現(xiàn)模組和服務(wù)器之間數(shù)據(jù)的傳輸!
本教程實(shí)現(xiàn)的功能定義是:
1、準(zhǔn)備一個(gè)公網(wǎng) FTP 服務(wù)器;
2、4G 模組插卡開(kāi)機(jī),把模組作為 FTP 客戶端去連接服務(wù)器;
3、分步演示 FTP 控制命令;這些命令包括列出目錄內(nèi)容 改變工作目錄 上傳文件 下載文件 刪除文件等。
4、演示完畢關(guān)閉連接
三、 準(zhǔn)備硬件環(huán)境
工欲善其事,必先利其器。在正式介紹本功能示例之前,需要先準(zhǔn)備好以下硬件環(huán)境。
3.1 Air780E 開(kāi)發(fā)板
使用的開(kāi)發(fā)板是Air780E核心板,如下圖所示:
此核心板的詳細(xì)使用說(shuō)明參考:
https://docs.openluat.com/air780e/product/
Air780E產(chǎn)品手冊(cè)公用產(chǎn)品資料 - 合宙模組資料中心 (openluat.com)中的 << 開(kāi)發(fā)板 Core_Air780E 使用說(shuō)明 VX.X.X.pdf>>,寫這篇文章時(shí)最新版本的使用說(shuō)明為:20240419155721583_開(kāi)發(fā)板Core_Air780E使用說(shuō)明V1.0.5.pdf (vue2.cn);核心板使用過(guò)程中遇到任何問(wèn)題,可以直接參考這份使用說(shuō)明 pdf 文檔。
3.2 SIM 卡
準(zhǔn)備一張可以上網(wǎng)的SIM卡,可以是物聯(lián)網(wǎng)卡,也可以是自己的手機(jī)卡;
注意:SIM卡不能欠費(fèi),可以正常上網(wǎng)。
3.3 PC 電腦
準(zhǔn)備一臺(tái)電腦;注意:電腦有USB口,并且可以正常上網(wǎng)。
3.4 數(shù)據(jù)通信線
準(zhǔn)備一根數(shù)據(jù)線,此數(shù)據(jù)線的作用是,連接Air780E開(kāi)發(fā)板和PC電腦,通過(guò)AT命令完成業(yè)務(wù)邏輯的控制和交互;有兩種數(shù)據(jù)線可以使用,二選一即可;第一種數(shù)據(jù)線是 USB 數(shù)據(jù)線(連接 Air780E 開(kāi)板的一段是 Type-C 接口),一般來(lái)說(shuō)這種數(shù)據(jù)線如下圖所示:
普通的手機(jī) USB 數(shù)據(jù)線一般都可以直接使用;
第二種數(shù)據(jù)線是 USB 轉(zhuǎn) TTL 串口線,一般來(lái)說(shuō)這種數(shù)據(jù)線如下圖所示:
在本教程中,使用的是第一種 USB 數(shù)據(jù)線。
3.5 組裝硬件環(huán)境
按照 SIM 卡槽上的插入方向,插入 SIM 卡,注意不要插反!如下圖所示,將 SIM 卡用力推入卡槽,聽(tīng)到咔嚓聲音后即可。
USB 數(shù)據(jù)線,連接電腦和 Air780E 開(kāi)發(fā)板,如下圖所示:
四 、準(zhǔn)備軟件環(huán)境
在正式使用之前,需要安裝裝備好以下軟件。
4.1 Luatools 工具
要想燒錄 AT 固件到 4G 模組中,需要用到的調(diào)試工具:Luatools;
詳細(xì)使用說(shuō)明參考:
Luatools 工具使用說(shuō)明:
https://docs.openluat.com/Luatools/
4.2 AT 固件
4G 模組中必須燒錄正確的 AT 固件才能支持 AT 命令功能;
通過(guò) Luatools 可以燒錄 AT 固件;
有兩種方式可以獲取到 Air780E 模組的最新 AT 固件,二選一即可;
第一種方式是通過(guò) Luatools 獲取,如下圖所示,可以直接選中最新版本的 AT 固件:
第二種方式是訪問(wèn):Air780E 固件版本,找到最新版本的固件即可。
4.3 FTP 測(cè)試服務(wù)器
為了方便測(cè)試,使用了免費(fèi)的不可商用的 FTP 測(cè)試服務(wù)器;
4.4 PC 端串口工具
在量產(chǎn)的項(xiàng)目硬件設(shè)計(jì)中,一般都是由主控 MCU 通過(guò) UART 給 4G 模組發(fā)送命令實(shí)現(xiàn)具體的業(yè)務(wù)邏輯;
在本教程中,為了測(cè)試方便,沒(méi)有使用主控 MCU;
而是使用了 PC 電腦上的一個(gè)串口工具 SSCOM 給 4G 模組發(fā)送命令來(lái)實(shí)現(xiàn)演示功能。
五 、FTP 相關(guān) AT 指令
點(diǎn)擊鏈接查看4G 模組 FTP 指令
六 、使用方法舉例
6.1 確認(rèn)開(kāi)發(fā)板正常開(kāi)機(jī)并聯(lián)網(wǎng)正常
本次教程所用固件版本是 v1169,通過(guò) luatools 燒錄過(guò)固件后可以通過(guò)打印來(lái)判斷設(shè)備情況,具體參考下圖:
6.2 FTP GET 請(qǐng)求使用流程舉例
下面演示合宙 780E 4G 模組通過(guò) at 指令去 ftp 服務(wù)器下載文件的流程:
6.3 FTP PUT 請(qǐng)求使用流程舉例
首先需要服務(wù)器上有需要寫入數(shù)據(jù)的文件,這里我們通過(guò)工具在服務(wù)器上創(chuàng)建一個(gè)空白 test.txt 的文件
然后通過(guò)780E 4G 模組上傳兩次數(shù)據(jù)到新建的空白文件里,下面演示 4G 模組的 AT 指令流程:
然后驗(yàn)證是否 PUT 成功,通過(guò)工具連接 ftp 服務(wù)器,找到對(duì)應(yīng)的文件下載下來(lái),打開(kāi)查看文件里的內(nèi)容和上報(bào)的是一樣的,
6.4 FTP 斷點(diǎn)續(xù)傳流程舉例
本例使用上面 PUT 流程上傳的文件來(lái)演示斷點(diǎn)續(xù)傳
七 、APN 設(shè)置與專網(wǎng)卡
用戶根據(jù)自己使用的網(wǎng)絡(luò)類型來(lái)區(qū)分,sim 卡可以分為公網(wǎng)卡和專網(wǎng)卡兩種;對(duì)于如何判斷自己手里的 sim 卡是公網(wǎng)卡還是專網(wǎng)卡可以通過(guò)下面兩種辦法區(qū)分:
咨詢 sim 卡供應(yīng)商;
如果有 apn 賬號(hào) 或者有密碼 或者有加密類型,則可以認(rèn)為是專網(wǎng)卡。
對(duì)于公網(wǎng)卡和專網(wǎng)卡設(shè)置和查詢有不同的指令,合宙 780E 4G 模組設(shè)置和查詢 APN 相關(guān)指令可以參考下圖:
APN 及專網(wǎng)卡常見(jiàn)問(wèn)題
模塊如何設(shè)置APN
1、 如果是公網(wǎng)SIM卡,不需要用戶主動(dòng)設(shè)置APN,軟件自動(dòng)去網(wǎng)絡(luò)端查詢APN進(jìn)行設(shè)置。
2、如果是專網(wǎng)SIM卡,首先咨詢SIM卡提供商APN參數(shù),然后通過(guò)AT+CPNETAPN=mode,“apnname”,“user”,“pwd”,authmoded進(jìn)行專網(wǎng)卡的參數(shù)設(shè)置。
專網(wǎng)卡連接服務(wù)器失敗
1、有的專網(wǎng)卡沒(méi)設(shè)置APN的情況下也能激活PDP,但是不能連專網(wǎng)卡指定的服務(wù)器,或者開(kāi)機(jī)后模塊沒(méi)自動(dòng)激活PDP,這個(gè)時(shí)候參考1,檢查APN參數(shù)是否設(shè)置正確。
2、如果有其他廠家的模塊,對(duì)比測(cè)試下是否連接正常。
3、如果無(wú)法百分百保證服務(wù)器配置沒(méi)問(wèn)題,最好在服務(wù)器端用wireshark抓包,或者在服務(wù)器上安裝一個(gè)第三方工具,開(kāi)啟一個(gè)服務(wù)器端口來(lái)對(duì)比測(cè)試。
4、用定向Ip的物聯(lián)網(wǎng)卡,需要把域名或IP加入白名單才能使用。
專網(wǎng)卡訪問(wèn)白名單 用定向 IP 的物聯(lián)網(wǎng)卡,需要把域名或 IP 加入白名單才能使用,下面列出模塊會(huì)訪問(wèn)的域名或 IP 服務(wù)器。
八 、總結(jié)
本文全面地探討了4G模組通過(guò) AT 指令實(shí)現(xiàn)與 FTP 服務(wù)器交互的技術(shù)細(xì)節(jié)。如何通過(guò)AT指令完成文件的 GET(下載) PUT(上傳)操作,以及實(shí)現(xiàn)關(guān)鍵的斷點(diǎn)續(xù)傳功能。這些功能對(duì)于提高數(shù)據(jù)傳輸?shù)男屎涂煽啃灾陵P(guān)重要,尤其是在網(wǎng)絡(luò)不穩(wěn)定或大數(shù)據(jù)量傳輸?shù)膱?chǎng)景中。文章通過(guò)實(shí)例展示了具體的操作步驟,為讀者提供了寶貴的實(shí)踐指導(dǎo)。總體而言,本文不僅加深了對(duì) FTP 協(xié)議和 4G 模組應(yīng)用的理解,也為開(kāi)發(fā)者在類似項(xiàng)目中實(shí)現(xiàn)高效文件傳輸提供了實(shí)用的技術(shù)參考和解決方案。
九、 常見(jiàn)問(wèn)題
關(guān)于不支持主動(dòng)模式:
模塊ftp默認(rèn)是被動(dòng)模式,不支持主動(dòng)模式,無(wú)法設(shè)置主動(dòng)模式,公網(wǎng)下要想模塊正常連接服務(wù)器,服務(wù)器肯定不能設(shè)置為主動(dòng)模式,否則哪家模塊都不能用。
發(fā)送帶 0x0d 0x0a 這些數(shù)據(jù)會(huì)丟失
需要通過(guò)AT+FTPTYPE="I"設(shè)置為二進(jìn)制方式傳輸文件,否則傳輸過(guò)程中會(huì)丟棄換行符。
分享完畢,歡迎關(guān)注
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9619瀏覽量
87079 -
TCP
+關(guān)注
關(guān)注
8文章
1395瀏覽量
80206 -
FTP
+關(guān)注
關(guān)注
0文章
115瀏覽量
41118 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5433瀏覽量
101253 -
模組
+關(guān)注
關(guān)注
6文章
1595瀏覽量
31056
發(fā)布評(píng)論請(qǐng)先 登錄
硬件設(shè)計(jì)很簡(jiǎn)單?合宙低功耗4G模組Air780E—開(kāi)機(jī)啟動(dòng)及外圍電路設(shè)計(jì)

FTP應(yīng)用看這篇!合宙Air780EP低功耗4G模組AT開(kāi)發(fā)示例

合宙低功耗4G模組Air780E——硬件設(shè)計(jì)手冊(cè)01

選型4G-Cat.1模組Air780E時(shí),我應(yīng)該注意什么?

RNDIS網(wǎng)卡應(yīng)用看這篇!合宙Air780EP低功耗4G模組AT開(kāi)發(fā)示例

硬件設(shè)計(jì)很簡(jiǎn)單?低功耗4G模組Air780E—開(kāi)機(jī)啟動(dòng)及外圍電路設(shè)計(jì)

Air780E模組的ADC之旅 LuatOS開(kāi)發(fā)實(shí)例

解析Air780E模組LuatOS開(kāi)發(fā)的隨機(jī)數(shù)(random) 示例篇

4G模組Air780E的LuatOS開(kāi)發(fā)之位運(yùn)算(bit)示例

Air780E模組LuatOS開(kāi)發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包

評(píng)論