博客專欄

EEPW首頁 > 博客 > 低功耗Air780E模組AT指令:FTP示例

低功耗Air780E模組AT指令:FTP示例

發(fā)布人:13673998452 時間:2025-02-07 來源:工程師 發(fā)布文章

本文說的是關于4G模組AT指令的FTP示例,以Air780E為例,希望大家有所收獲。



一、 FTP 協(xié)議簡介


FTP(File Transfer Protocol,文件傳輸協(xié)議) 是 TCP/IP 協(xié)議組中的協(xié)議之一。

FTP 協(xié)議包括兩個組成部分,其一為 FTP 服務器,其二為 FTP 客戶端。其中FTP 服務器用來存儲文件,用戶可以使用FTP客戶端通過FTP協(xié)議訪問位于FTP服務器上的資源。在開發(fā)網(wǎng)站的時候,通常利用FTP協(xié)議把網(wǎng)頁或程序傳到Web服務器上。此外,由于FTP傳輸效率非常高,在網(wǎng)絡上傳輸大的文件時,一般也采用該協(xié)議。

默認情況下FTP協(xié)議使用TCP端口中的 20 和 21 這兩個端口,其中 20 用于傳輸數(shù)據(jù),21 用于傳輸控制信息。但是,是否使用 20 作為傳輸數(shù)據(jù)的端口與 FTP 使用的傳輸模式有關,如果采用主動模式,那么數(shù)據(jù)傳輸端口就是 20;如果采用被動模式,則具體最終使用哪個端口要服務器端和客戶端協(xié)商決定。模塊FTP默認是被動模式,不支持主動模式,無法設置主動模式,公網(wǎng)下要想模塊正常連接服務器,服務器肯定不能設置為主動模式,否則哪家模塊都不能用。



二、 本教程實現(xiàn)的功能概述


本文教你4G模組使用AT命令連接FTP服務器,實現(xiàn)模組和服務器之間數(shù)據(jù)的傳輸!

本教程實現(xiàn)的功能定義是:

1、準備一個公網(wǎng) FTP 服務器;

2、4G 模組插卡開機,把模組作為 FTP 客戶端去連接服務器;

3、分步演示 FTP 控制命令;這些命令包括列出目錄內容 改變工作目錄 上傳文件 下載文件 刪除文件等。

4、演示完畢關閉連接



三、 準備硬件環(huán)境


工欲善其事,必先利其器。在正式介紹本功能示例之前,需要先準備好以下硬件環(huán)境。


3.1 Air780E 開發(fā)板


使用的開發(fā)板是Air780E核心板,如下圖所示:

wKgZO2dIdtGADWTaAAK5FhhWdkk389.png

此核心板的詳細使用說明參考:
https://docs.openluat.com/air780e/product/

Air780E產(chǎn)品手冊 公用產(chǎn)品資料 - 合宙模組資料中心 (openluat.com)中的 << 開發(fā)板 Core_Air780E 使用說明 VX.X.X.pdf>>,寫這篇文章時最新版本的使用說明為:20240419155721583_開發(fā)板Core_Air780E使用說明V1.0.5.pdf (vue2.cn);核心板使用過程中遇到任何問題,可以直接參考這份使用說明 pdf 文檔。


3.2 SIM 卡

準備一張可以上網(wǎng)的SIM卡,可以是物聯(lián)網(wǎng)卡,也可以是自己的手機卡;
注意:SIM卡不能欠費,可以正常上網(wǎng)。


3.3 PC 電腦

準備一臺電腦;注意:電腦有USB口,并且可以正常上網(wǎng)。


3.4 數(shù)據(jù)通信線

準備一根數(shù)據(jù)線,此數(shù)據(jù)線的作用是,連接Air780E開發(fā)板和PC電腦,通過AT命令完成業(yè)務邏輯的控制和交互;有兩種數(shù)據(jù)線可以使用,二選一即可;第一種數(shù)據(jù)線是 USB 數(shù)據(jù)線(連接 Air780E 開板的一段是 Type-C 接口),一般來說這種數(shù)據(jù)線如下圖所示:

wKgZPGdIduWAf4MnAARqGvJbkUo556.png


普通的手機 USB 數(shù)據(jù)線一般都可以直接使用;

第二種數(shù)據(jù)線是 USB 轉 TTL 串口線,一般來說這種數(shù)據(jù)線如下圖所示:

wKgZO2dIdvGAQtEJAAu7hNHeoec003.png


在本教程中,使用的是第一種 USB 數(shù)據(jù)線。


3.5 組裝硬件環(huán)境

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

wKgZPGdIdv2ACtPHABB86AP_2SI797.pngwKgZO2dIdwqAY6H_ABd0cYDkKMQ868.png


USB 數(shù)據(jù)線,連接電腦和 Air780E 開發(fā)板,如下圖所示:

wKgZPGdIdxSAar0yABAT0ENn4-Y702.png



四 、準備軟件環(huán)境


在正式使用之前,需要安裝裝備好以下軟件。


4.1 Luatools 工具

要想燒錄 AT 固件到 4G 模組中,需要用到的調試工具:Luatools;
詳細使用說明參考:
Luatools 工具使用說明:
https://docs.openluat.com/Luatools/


4.2 AT 固件

4G 模組中必須燒錄正確的 AT 固件才能支持 AT 命令功能;

通過 Luatools 可以燒錄 AT 固件;

有兩種方式可以獲取到 Air780E 模組的最新 AT 固件,二選一即可;

第一種方式是通過 Luatools 獲取,如下圖所示,可以直接選中最新版本的 AT 固件:

wKgZO2dIdyiAKnXuAAM1p_uDhqg062.png

第二種方式是訪問:Air780E 固件版本 ,找到最新版本的固件即可。


4.3 FTP 測試服務器

為了方便測試,使用了免費的不可商用的 FTP 測試服務器;

wKgZPGdIdzuAduFJAAEnO-1oDnc600.png


4.4 PC 端串口工具

在量產(chǎn)的項目硬件設計中,一般都是由主控 MCU 通過 UART 給 4G 模組發(fā)送命令實現(xiàn)具體的業(yè)務邏輯;

在本教程中,為了測試方便,沒有使用主控 MCU;

而是使用了 PC 電腦上的一個串口工具 SSCOM 給 4G 模組發(fā)送命令來實現(xiàn)演示功能。



五 、FTP 相關 AT 指令

點擊鏈接查看4G 模組 FTP 指令



六 、使用方法舉例


6.1 確認開發(fā)板正常開機并聯(lián)網(wǎng)正常

本次教程所用固件版本是 v1169,通過 luatools 燒錄過固件后可以通過打印來判斷設備情況,具體參考下圖:

wKgZPGdId0yAN8nnAAR9vNuFPdU880.png


6.2 FTP GET 請求使用流程舉例

下面演示合宙 780E 4G 模組通過 at 指令去 ftp 服務器下載文件的流程:

wKgZO2dId1qAMv57AAM6ZEcBqkI388.pngwKgZPGdId2yAOVh8AAM57SSIF8A433.pngwKgZPGdId4CABT5RAAFPYhLlL9I774.pngwKgZO2dId4-AHderAAxdGlgrcpU850.pngwKgZPGdId52ADYSMAAv81dhupiE874.pngwKgZO2dId66AaYdEAAz7gzC-5_4269.pngwKgZO2dId8CABCHTAAzrduSeZIE402.pngwKgZO2dId86AO5NRAAwHKjx44BE270.pngwKgZO2dId9yAOmZRAAv2r4iJWic519.pngwKgZPGdId-uAOXFjAAwPvXrMwqY619.pngwKgZPGdId_iAEEqAAAv1YDvjacY151.pngwKgZPGdIeAWAKIX2AAoS8D3XOfM490.png


6.3 FTP PUT 請求使用流程舉例

首先需要服務器上有需要寫入數(shù)據(jù)的文件,這里我們通過工具在服務器上創(chuàng)建一個空白 test.txt 的文件

wKgZO2dIeBGAZna5AAXAJJ00H2Y254.pngwKgZO2dIeBuAWZlyAAUysFIiz7I536.png


然后通過780E 4G 模組上傳兩次數(shù)據(jù)到新建的空白文件里,下面演示 4G 模組的 AT 指令流程:

wKgZPGdIeC6AI7kvAAKeODUpB-s525.pngwKgZO2dIeD2AcNsEAALUTki3gi4842.pngwKgZPGdIeFCAQP97AALh3-IPPAo717.pngwKgZPGdIeFyAGm_nAAB5jQEJ9GU110.png


然后驗證是否 PUT 成功,通過工具連接 ftp 服務器,找到對應的文件下載下來,打開查看文件里的內容和上報的是一樣的,

wKgZO2dIeGeADoFlAAP9nTN6ruY953.pngwKgZO2dIeHOAQJ2-AACeDGuk2yw077.png


6.4 FTP 斷點續(xù)傳流程舉例

本例使用上面 PUT 流程上傳的文件來演示斷點續(xù)傳

wKgZPGdIeIGAG04JAAJYIQ6B7zA513.pngwKgZPGdIeI-ARlZ4AAKiAf8vveQ497.pngwKgZO2dIeJ-AS9VHAALBMRnOffU164.pngwKgZO2dIeKuAGAZFAAHSt6aFouo835.png



七 、APN 設置與專網(wǎng)卡


用戶根據(jù)自己使用的網(wǎng)絡類型來區(qū)分,sim 卡可以分為公網(wǎng)卡和專網(wǎng)卡兩種;對于如何判斷自己手里的 sim 卡是公網(wǎng)卡還是專網(wǎng)卡可以通過下面兩種辦法區(qū)分:

咨詢 sim 卡供應商;

如果有 apn 賬號 或者有密碼 或者有加密類型,則可以認為是專網(wǎng)卡。

對于公網(wǎng)卡和專網(wǎng)卡設置和查詢有不同的指令,合宙 780E 4G 模組設置和查詢 APN 相關指令可以參考下圖:

wKgZPGdIeLiAFZ3YAAMA1d-l4Kc928.png


APN 及專網(wǎng)卡常見問題


模塊如何設置APN

1、 如果是公網(wǎng)SIM卡,不需要用戶主動設置APN,軟件自動去網(wǎng)絡端查詢APN進行設置。

2、如果是專網(wǎng)SIM卡,首先咨詢SIM卡提供商APN參數(shù),然后通過AT+CPNETAPN=mode,“apnname”,“user”,“pwd”,authmoded進行專網(wǎng)卡的參數(shù)設置。


專網(wǎng)卡連接服務器失敗

1、有的專網(wǎng)卡沒設置APN的情況下也能激活PDP,但是不能連專網(wǎng)卡指定的服務器,或者開機后模塊沒自動激活PDP,這個時候參考1,檢查APN參數(shù)是否設置正確。

2、如果有其他廠家的模塊,對比測試下是否連接正常。

3、如果無法百分百保證服務器配置沒問題,最好在服務器端用wireshark抓包,或者在服務器上安裝一個第三方工具,開啟一個服務器端口來對比測試。

4、用定向Ip的物聯(lián)網(wǎng)卡,需要把域名或IP加入白名單才能使用。

專網(wǎng)卡訪問白名單 用定向 IP 的物聯(lián)網(wǎng)卡,需要把域名或 IP 加入白名單才能使用,下面列出模塊會訪問的域名或 IP 服務器。 

wKgZPGdIeMyAcR3cAAM5EuYzzRw304.png


八 、總結

本文全面地探討了4G模組通過 AT 指令實現(xiàn)與 FTP 服務器交互的技術細節(jié)。如何通過AT指令完成文件的 GET(下載) PUT(上傳)操作,以及實現(xiàn)關鍵的斷點續(xù)傳功能。這些功能對于提高數(shù)據(jù)傳輸?shù)男屎涂煽啃灾陵P重要,尤其是在網(wǎng)絡不穩(wěn)定或大數(shù)據(jù)量傳輸?shù)膱鼍爸?。文章通過實例展示了具體的操作步驟,為讀者提供了寶貴的實踐指導。總體而言,本文不僅加深了對 FTP 協(xié)議和 4G 模組應用的理解,也為開發(fā)者在類似項目中實現(xiàn)高效文件傳輸提供了實用的技術參考和解決方案。


九、 常見問題

關于不支持主動模式:

模塊ftp默認是被動模式,不支持主動模式,無法設置主動模式,公網(wǎng)下要想模塊正常連接服務器,服務器肯定不能設置為主動模式,否則哪家模塊都不能用。

發(fā)送帶 0x0d 0x0a 這些數(shù)據(jù)會丟失

需要通過AT+FTPTYPE="I"設置為二進制方式傳輸文件,否則傳輸過程中會丟棄換行符。


分享完畢~


*博客內容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。




相關推薦

技術專區(qū)

關閉