本文要講的是低功耗4G模組AT指令的FTP指南,我以常用的Air780E模組為例,供大家參考。
一、 FTP 協議簡介
FTP(File Transfer Protocol,檔案傳輸協議) 是 TCP/IP 協議組中的協議之一。
FTP 協議包括兩個組成部分,其一為 FTP 伺服器,其二為 FTP 客戶端。其中FTP 伺服器用來儲存檔案,使用者可以使用FTP客戶端透過FTP協議訪問位於FTP伺服器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程式傳到Web伺服器上。此外,由於FTP傳輸效率非常高,在網路上傳輸大的檔案時,一般也採用該協議。
預設情況下FTP協議使用TCP埠中的 20 和 21 這兩個埠,其中 20 用於傳輸資料,21 用於傳輸控制資訊。但是,是否使用 20 作為傳輸資料的埠與 FTP 使用的傳輸模式有關,如果採用主動模式,那麼資料傳輸埠就是 20;如果採用被動模式,則具體最終使用哪個埠要伺服器端和客戶端協商決定。模組FTP預設是被動模式,不支援主動模式,無法設定主動模式,公網下要想模組正常連線伺服器,伺服器肯定不能設定為主動模式,否則哪家模組都不能用。
二、 本教程實現的功能概述
本文教你4G模組使用AT命令連線FTP伺服器,實現模組和伺服器之間資料的傳輸!
本教程實現的功能定義是:
1、準備一個公網 FTP 伺服器;
2、4G 模組插卡開機,把模組作為 FTP 客戶端去連線伺服器;
3、分步演示 FTP 控制命令;這些命令包括列出目錄內容 改變工作目錄 上傳檔案 下載檔案 刪除檔案等。
4、演示完畢關閉連線
三、 準備硬體環境
在正式介紹本功能示例之前,需要先準備好以下硬體環境。
3.1 Air780E 開發板
使用的開發板是Air780E核心板,如下圖所示:
此核心板的詳細使用說明參考:
https://docs.openluat.com/air780e/product/
Air780E產品手冊 公用產品資料 - 模組資料中心 (openluat.com)中的 << 開發板 Core_Air780E 使用說明 VX.X.X.pdf>>,寫這篇文章時最新版本的使用說明為:20240419155721583_開發板Core_Air780E使用說明V1.0.5.pdf (vue2.cn);核心板使用過程中遇到任何問題,可以直接參考這份使用說明 pdf 文件。
3.2 SIM 卡
準備一張可以上網的SIM卡,可以是物聯網路卡,也可以是自己的手機卡;
注意:SIM卡不能欠費,可以正常上網。
3.3 PC 電腦
準備一臺電腦;注意:電腦有USB口,並且可以正常上網。
3.4 資料通訊線
準備一根資料線,此資料線的作用是,連線Air780E開發板和PC電腦,透過AT命令完成業務邏輯的控制和互動;有兩種資料線可以使用,二選一即可;第一種資料線是 USB 資料線(連線 Air780E 開板的一段是 Type-C 介面),一般來說這種資料線如下圖所示:
普通的手機 USB 資料線一般都可以直接使用;
第二種資料線是 USB 轉 TTL 串列埠線,一般來說這種資料線如下圖所示:
在本教程中,使用的是第一種 USB 資料線。
3.5 組裝硬體環境
按照 SIM 卡槽上的插入方向,插入 SIM 卡,注意不要插反!如下圖所示,將 SIM 卡用力推入卡槽,聽到咔嚓聲音後即可。
USB 資料線,連線電腦和 Air780E 開發板,如下圖所示:
四 、準備軟體環境
在正式使用之前,需要安裝裝備好以下軟體。
4.1 Luatools 工具
要想燒錄 AT 韌體到 4G 模組中,需要用到的除錯工具:Luatools;
詳細使用說明參考:
Luatools 工具使用說明:
https://docs.openluat.com/Luatools/
4.2 AT 韌體
4G 模組中必須燒錄正確的 AT 韌體才能支援 AT 命令功能;
透過 Luatools 可以燒錄 AT 韌體;
有兩種方式可以獲取到 Air780E 模組的最新 AT 韌體,二選一即可;
第一種方式是透過 Luatools 獲取,如下圖所示,可以直接選中最新版本的 AT 韌體:
第二種方式是訪問:Air780E 韌體版本 ,找到最新版本的韌體即可。
4.3 FTP 測試伺服器
為了方便測試,合宙提供了免費的不可商用的 FTP 測試伺服器;
4.4 PC 端串列埠工具
在量產的專案硬體設計中,一般都是由主控 MCU 透過 UART 給 4G 模組傳送命令實現具體的業務邏輯;
在本教程中,為了測試方便,沒有使用主控 MCU;
而是使用了 PC 電腦上的一個串列埠工具 SSCOM 給 4G 模組傳送命令來實現演示功能。
五 、FTP 相關 AT 指令
點選連結檢視4G 模組 FTP 指令
六 、使用方法舉例
6.1 確認開發板正常開機並聯網正常
本次教程所用韌體版本是 v1169,透過 luatools 燒錄過韌體後可以透過列印來判斷裝置情況,具體參考下圖:
6.2 FTP GET 請求使用流程舉例
下面演示780E 4G 模組透過 at 指令去 ftp 伺服器下載檔案的流程:
6.3 FTP PUT 請求使用流程舉例
首先需要伺服器上有需要寫入資料的檔案,這裡我們透過工具在伺服器上建立一個空白 test.txt 的檔案
然後透過780E 4G 模組上傳兩次資料到新建的空白檔案裡,下面演示 4G 模組的 AT 指令流程:
然後驗證是否 PUT 成功,透過工具連線 ftp 伺服器,找到對應的檔案下載下來,開啟檢視檔案裡的內容和上報的是一樣的,
6.4 FTP 斷點續傳流程舉例
本例使用上面 PUT 流程上傳的檔案來演示斷點續傳
七 、APN 設定與專網路卡
使用者根據自己使用的網路型別來區分,sim 卡可以分為公網路卡和專網路卡兩種;對於如何判斷自己手裡的 sim 卡是公網路卡還是專網路卡可以透過下面兩種辦法區分:
諮詢 sim 卡供應商;
如果有 apn 賬號 或者有密碼 或者有加密型別,則可以認為是專網路卡。
對於公網路卡和專網路卡設定和查詢有不同的指令,780E 4G 模組設定和查詢 APN 相關指令可以參考下圖:
APN 及專網路卡常見問題
模組如何設定APN
1、 如果是公網SIM卡,不需要使用者主動設定APN,軟體自動去網路端查詢APN進行設定。
2、如果是專網SIM卡,首先諮詢SIM卡提供商APN引數,然後透過AT+CPNETAPN=mode,“apnname”,“user”,“pwd”,authmoded進行專網路卡的引數設定。
專網路卡連線伺服器失敗
1、有的專網路卡沒設定APN的情況下也能啟用PDP,但是不能連專網路卡指定的伺服器,或者開機後模組沒自動啟用PDP,這個時候參考1,檢查APN引數是否設定正確。
2、如果有其他廠家的模組,對比測試下是否連線正常。
3、如果無法百分百保證伺服器配置沒問題,最好在伺服器端用wireshark抓包,或者在伺服器上安裝一個第三方工具,開啟一個伺服器埠來對比測試。
4、用定向Ip的物聯網路卡,需要把域名或IP加入白名單才能使用。
專網路卡訪問白名單 用定向 IP 的物聯網路卡,需要把域名或 IP 加入白名單才能使用,下面列出模組會訪問的域名或 IP 伺服器。
八 、總結
本文全面地探討了4G模組透過 AT 指令實現與 FTP 伺服器互動的技術細節。如何透過AT指令完成檔案的 GET(下載) PUT(上傳)操作,以及實現關鍵的斷點續傳功能。這些功能對於提高資料傳輸的效率和可靠性至關重要,尤其是在網路不穩定或大資料量傳輸的場景中。文章透過例項展示了具體的操作步驟,為讀者提供了寶貴的實踐指導。總體而言,本文不僅加深了對 FTP 協議和 4G 模組應用的理解,也為開發者在類似專案中實現高效檔案傳輸提供了實用的技術參考和解決方案。
九、 常見問題
關於不支援主動模式:
模組ftp預設是被動模式,不支援主動模式,無法設定主動模式,公網下要想模組正常連線伺服器,伺服器肯定不能設定為主動模式,否則哪家模組都不能用。
傳送帶 0x0d 0x0a 這些資料會丟失
需要透過AT+FTPTYPE="I"設定為二進位制方式傳輸檔案,否則傳輸過程中會丟棄換行符。
分享完畢,歡迎關注