伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Air780EPM開發板FTP功能實戰:LuatOS嵌入式開發全解析

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2025-09-29 15:37 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文深入講解Air780EPM模組在LuatOS環境下的FTP應用開發,涵蓋AT指令配置、網絡連接與文件傳輸流程,助你高效完成嵌入式通信項目。


一、什么是 FTP

1.1 基本概念

FTP 協議

4G 物聯網場景中,FTP 協議(File Transfer Protocol,文件傳輸協議)是一種基于 TCP/IP 的標準化文件傳輸技術。

FTP 協議包括兩個組成部分,其一為 FTP 服務器,其二為 FTP 客戶端.

FTP 服務器

FTP 服務器(File Transfer Protocol Server)是基于 FTP 協議提供文件存儲、傳輸與管理服務的系統。簡單來說,支持 FTP 協議的服務器就是 FTP 服務器, 用來存儲文件,用戶可以使用 FTP 客戶端通過 FTP 協議訪問位于 FTP 服務器上的資源.

FTP 客戶端

FTP 客戶端(FTP Client)是指用戶端用于連接 FTP 服務器、并進行文件傳輸及管理操作的工具或軟件。它是 FTP 通信中的 “發起方”,負責向 FTP 服務器發送連接請求、認證信息(如用戶名和密碼),并執行上傳、下載、刪除、移動文件等操作。

默認情況下 FTP 協議使用 TCP 端口中的 20 和 21 這兩個端口,其中 20 用于傳輸數據,21 用于傳輸控制信息.但是,是否使用 20 作為傳輸數據的端口與 FTP 使用的傳輸模式有關:

如果采用主動模式,那么數據傳輸端口就是 20;

如果采用被動模式,要服務器端和客戶端協商決定最終使用哪個端口.

FTP 作為成熟的文件傳輸協議,在 4G 物聯網場景中承擔 “標準化文件交互通道” 的角色,彌補了物聯網中輕量級協議(如 MQTT)在大文件傳輸上的不足。

1.2 關鍵特性

基于 TCP 的可靠性:FTP 依賴 TCP 協議實現連接,通過三次握手建立連接、重傳機制保障數據完整性,適合物聯網中 “固件包”“監控錄像” 等關鍵文件的傳輸,避免丟失或損壞。

雙向文件操作:支持 “上傳”(設備 → 服務器,如傳感器日志上傳)和 “下載”(服務器 → 設備,如固件更新),滿足物聯網設備與云端的雙向數據交互需求。

適配 4G 網絡特性:4G 的高帶寬支持 FTP 傳輸較大文件;低延遲特性減少了 FTP 控制連接(端口 21)和數據連接(端口 20)的交互等待時間,提升傳輸效率。

1.3 典型應用場景

設備固件升級:物聯網設備(如工業網關、智能攝像頭)通過 4G 網絡連接 FTP 服務器,下載最新固件包并完成升級,無需現場操作。

批量數據回傳:部署在戶外的傳感器(如環境監測設備)定期將采集的日志文件(如溫度、濕度歷史數據)通過 FTP 上傳至云端服務器,便于集中分析。

多媒體文件傳輸:車載終端、安防攝像頭等設備通過 4G 網絡將拍攝的視頻、圖片文件經 FTP 傳輸至后端平臺,實現遠程監控。

綜上,4G 物聯網中的 FTP 是一種依托 4G 高帶寬、低延遲特性,實現設備與云端大文件可靠傳輸的成熟方案,廣泛應用于固件升級、數據回傳、多媒體傳輸等場景。

關于 FTP 更詳細的理論知識說明,請參考:https://blog.csdn.net/HinsCoder/article/details/130911658

或者其他途徑自行參考。

下面就跟著教程用模組實際操作演示一下 FTP 協議的實際應用。

二、功能演示概述

本文演示 4G 模組使用 LuatOS 開發時, 4G 通信中 ftp 網絡協議的應用功能.

使用 Air780EPM 開發板下載 Air780EPM 的 LuatOS 示例代碼中 ftp 的例程,進行驗證,例程中實現的功能核心業務邏輯為:

配置 FTP 客戶端登錄服務器的參數和文件路徑

封裝一個重試機制,在登錄失敗、上傳文件失敗或者下載文件失敗時嘗試重新執行操作

登錄 FTP 服務器,通過重試機制確保登錄成功

ftp.push 上傳本地文件到服務器,在本地新建文件并寫入內容后上傳到服務器指定路徑,通過重試機制確保上傳成功

ftp.pull 從服務器下載文件,保存在本地指定路徑,并讀取文件長度,當長度小于指定字節時,讀取文件內容,通常是設定 512 字節,如果文件太大,會消耗 ram,通過重試機制確保上傳成功

主函數循環運行以下流程: 登錄服務器、用 ftp.command 操作 ftp 服務器目錄以及文件上傳下載處理后關閉服務器。

三、準備硬件環境

3.1 780EPM 硬件環境

wKgZO2jaMOiATYSmACB5Mmxv_9w178.png

1、Air780EPM 1.3 版本開發板一塊 + 可上網的 sim 卡一張 +4g 天線一根 + 網線一根:

2、sim 卡插入開發板的 sim 卡槽

3、天線裝到開發板上

4、網線一端插入開發板網口,另外一端連接可以上外網的路由器網口

5、TYPE-C USB 數據線一根 + USB 轉串口數據線一根,Air780EPM 開發板和數據線的硬件接線方式為:

6、Air780EPM 開發板通過 TYPE-C USB 口供電;(外部供電/USB 供電 撥動開關 撥到 USB 供電一端)

7、TYPE-C USB 數據線直接插到開發板的 TYPE-C USB 座子,另外一端連接電腦 USB 口;

3.2 780EHM 硬件環境

1、Air780EHM 核心板一塊 + 可上網的 sim 卡一張 +4g 天線一根 + 網線一根

2、sim 卡插入開發板的 sim 卡槽

3、天線裝到開發板上

4、網線一端插入開發板網口,另外一端連接可以上外網的路由器網口

5、TYPE-C USB 數據線一根 + USB 轉串口數據線一根,Air780EHM 核心板和數據線的硬件接線方式為:

6、Air780EHM 核心板通過 TYPE-C USB 口供電;(外部供電/USB 供電 撥動開關 撥到 USB 供電一端)

7、TYPE-C USB 數據線直接插到核心板的 TYPE-C USB 座子,另外一端連接電腦 USB 口;

8、USB 轉串口數據線,一般來說,白線連接開發板的 UART1_TX,綠線連接開發板的 UART1_RX,黑線連接核心板的 GND,另外一端連接電腦 USB 口;

9、可選 AirPHY_1000 配件板一塊,Air780EHM 核心板和 AirPHY_1000 配件板的硬件接線方式為:

wKgZO2jaMhiAdUpBAABSz6ioeFg184.png

四、準備軟件環境

在開始實踐本示例之前,先準備一下軟件環境:

4.1Luatools 工具,如果是第一次使用 Luatools 工具,請仔細閱讀此鏈接教程。

4.2 內核固件文件(底層 core 固件文件):LuatOS-SoC_V2014_Air780EPM_1.soc;參考項目使用的內核固件;如有更新可以使用最新固件。

4.3 luatos 需要的腳本和資源文件:https://gitee.com/openLuat/LuatOS/tree/master/module/Air780EHM_Air780EHV_Air780EGH/demo/ftp

main.lua:主程序入口;

netdrv_device.lua:網卡驅動設備,可以配置使用netdrv文件夾內的四種網卡(單4g網卡,單wifi網卡,單spi以太網卡,多網卡)中的任何一種網卡;

netdrv 文件夾:三種網卡,單 4g 網卡、單 spi 以太網卡、多網卡,供 netdrv_device.lua 加載配置,按需選擇。

ftp_up_download.lua,功能演示核心腳本,在 main.lua 中加載運行。

4.4 lib 腳本文件:使用 Luatools 燒錄時,勾選 添加默認 lib 選項,使用默認 lib 腳本文件;

準備好軟件環境之后,接下來查看如何燒錄項目文件到 Air780EPM 開發板,將本篇文章中演示使用的項目文件燒錄到 Air780EPM 開發板中。

4.5 訪問 ftp 服務器

以下準備了三種訪問 ftp 服務器的方法

本文使用方法 1,通過 Windows 資源管理器訪問,若無法訪問,請嘗試方法 2 或者方法 3:

測試服務器客戶端配置參數,非 ssl 加密: local server_ip = "121.43.224.154" -- 服務器 IP local server_port = 21 -- 服務器端口號 local server_username = "ftp_user" -- 服務器登陸用戶名 local server_password = "3QujbiMG" -- 服務器登陸密碼

方法 1 Windows 資源管理器:- 打開“我的電腦”,在地址欄輸入“ftp://121.43.224.154/”,按回車鍵。

wKgZO2jaMrmANtsLAAGTNy0v8IE548.png

在登錄界面輸入用戶名和密碼,點擊登錄,即可看到服務器上保存的文件。

wKgZO2jaMuWAa4OYAALDmLvFsbs257.png

方法 2 IE 瀏覽器訪問: - 打開 IE 瀏覽器,在瀏覽器輸入 121.43.224.154,回車,然后輸入用戶名和密碼,點擊登錄,進入服務器。

wKgZO2jaMxCABLdXAAF13hNJBmU096.png

方法 3 客戶端軟件:下載安裝Xftp客戶端軟件,并配置好 ftp 服務器地址,端口號,用戶名,密碼等信息,即可登錄,安裝教程可自行上網查找。

wKgZPGjaMzKAeHmiAAJ6kU_9sXg176.png

注意選擇 FTP 協議,如果新建會話后無法打開會話,可以再次檢查登錄信息是否正確。

wKgZO2jaM1WASMLqAAN2aXruVz4698.png

五、API 接口說明

ftp-API 地址:https://docs.openluat.com/osapi/core/ftp/

六、示例代碼和功能展示

6.1 流程介紹

1、搭建好硬件環境

2、demo 腳本代碼 netdrv_device.lua 中,按照自己的網卡需求啟用對應的 Lua 文件

3、如果需要單 4G 網卡,打開 require "netdrv_4g",其余注釋掉

4、如果需要以太網卡,打開 require "netdrv_eth_spi",其余注釋掉

5、如果需要多網卡,打開 require "netdrv_multiple",其余注釋掉

6、本示例使用的服務器參考第四章節 5. 訪問 ftp 服務器,如果是自己的 ftp 服務器,在腳本代碼 ftp_up_download.lua 的 config 表中按自己的服務器 IP,端口號,用戶名,密碼修改參數。

7、Luatools 燒錄內核固件和修改后的 demo 腳本代碼

8、燒錄成功后,自動開機運行,查看打印日志,如果正常運行,會打印 ftp 登錄成功,文件目錄,上傳下載文件結果等信息。

6.2 代碼和 log

6.2.1 代碼示例

(復制鏈接查看 ftp的完整 demo)https://gitee.com/openLuat/LuatOS/blob/master/module/Air780EPM/demo/ftp/main.lua

wKgZO2jaNCiAeK1MAAkfjq81ybE669.png

6.2.2 核心代碼部分

wKgZO2jaNOOAMINVACeYzT82_FI288.png


6.2.3 例程 log 打印如下:

wKgZPGjaNSeACFpqABAxN9ulJs0486.png


6.2.4 luatools 頁面顯示如下:

wKgZPGjaNVeAe55HAAStzgDdDlo639.png


6.2.5 ftp 服務器查看上傳的文件

wKgZO2jaNXqABO2XAAGaqld8yk4368.png

七、總結

本文檔主要介紹 4G 通信中 FTP 通信的應用。

結合 demo 例程講解了 FTP 基本原理,介紹了 FTP 主要 API,旨在最簡單的快速上手 Air8000 的 LuatOS 的 FTP 開發.

八、常見問題

8.1 關于不支持主動模式:

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

8.2 ftp 服務器用 vsftpd

vsftpd 是一個 FTP 服務器軟件, 是一個 UNIX 類操作系統上運行的服務器的名字,vsftpd 是 very secure FTP daemon 的縮寫,安全性是它的一個最大的特點,它可以運行在諸如 Linux、BSD、Solaris、 HP-UNIX 等系統上面,是一個完全免費的、開放源代碼的 ftp 服務器軟件,負責搭建和提供文件存儲、訪問服務(相當于 “文件倉庫”),通過監聽網絡端口(默認 21 端口)接收客戶端的連接請求,并根據配置允許用戶上傳、下載文件。


今天的內容就分享到這里了~

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2948

    文章

    47970

    瀏覽量

    416948
  • FTP
    FTP
    +關注

    關注

    0

    文章

    118

    瀏覽量

    42282
  • 開發板
    +關注

    關注

    26

    文章

    6346

    瀏覽量

    119501
  • LuatOS
    +關注

    關注

    0

    文章

    163

    瀏覽量

    2728
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LuatOS選型指南:基于Air780EPM的32/64位性能實測分析

    面對32位與64位LuatOS固件的選擇難題,本文通過在Air780EPM開發板上的實際測試,詳細解析兩者在整數處理能力、浮點數精度以及系統性能方面的差異,結合應用場景給出專業建議,助
    的頭像 發表于 02-25 18:05 ?206次閱讀
    <b class='flag-5'>LuatOS</b>選型指南:基于<b class='flag-5'>Air780EPM</b>的32/64位性能實測分析

    Air780EPM開發板上的FFT應用實現:關鍵技術深度剖析

    Air780EPM開發板為硬件平臺,快速傅里葉變換(FFT)的應用實現成為嵌入式信號處理中的關鍵環節。本文將圍繞該開發板的硬件適配特性、FFT算法在
    的頭像 發表于 12-30 14:33 ?322次閱讀
    <b class='flag-5'>Air780EPM</b><b class='flag-5'>開發板</b>上的FFT應用實現:關鍵技術深度剖析

    Air780EPM開發板為例:FFT應用示例核心要點解析

    Air780EPM開發板作為實踐載體,本文將對FFT應用示例的核心要點展開全面解析。從開發板的硬件特性適配、FFT算法的實現流程,到示例代碼的核心模塊與調試要點,逐一拆解,確保
    的頭像 發表于 12-16 15:28 ?410次閱讀
    以<b class='flag-5'>Air780EPM</b><b class='flag-5'>開發板</b>為例:FFT應用示例核心要點<b class='flag-5'>全</b><b class='flag-5'>解析</b>

    Air780EPM嵌入式開發LuatOS下的MQTT通信實踐

    通過LuatOS腳本在Air780EPM開發板上實現MQTT通信,是物聯網設備開發中高效且便捷的解決方案。 一、MQTT 協議詳解 ? 1.1 什么是 MQTT? MQTT(Messa
    的頭像 發表于 09-30 16:11 ?1931次閱讀
    <b class='flag-5'>Air780EPM</b><b class='flag-5'>嵌入式開發</b>:<b class='flag-5'>LuatOS</b>下的MQTT通信實踐

    實戰Air780EPM:構建4G共享網關,服務WiFi與有線設備!

    通過Air780EPM開發板,我們可以輕松實現4G網絡作為數據出口,為周邊的WiFi設備和以太網設備提供互聯網共享,適用于移動辦公、遠程部署等場景。 一、多網融合概述 ? Air780EPM
    的頭像 發表于 09-30 16:03 ?1348次閱讀
    <b class='flag-5'>實戰</b><b class='flag-5'>Air780EPM</b>:構建4G共享網關,服務WiFi與有線設備!

    Air780EPM開發板NTP對時教程:LuatOS腳本開發入門指南

    通過簡單的LuatOS腳本,Air780EPM即可實現NTP時間同步。本指南從零開始,帶你掌握嵌入式設備聯網校時的核心方法。 一、NTP通信概述 1.1 NTP 網絡時間協議(英語:Network
    的頭像 發表于 09-30 16:01 ?1252次閱讀
    <b class='flag-5'>Air780EPM</b><b class='flag-5'>開發板</b>NTP對時教程:<b class='flag-5'>LuatOS</b>腳本<b class='flag-5'>開發</b>入門指南

    LuatOS嵌入式開發實戰Air780EPM與MQTT通信

    ?本教程聚焦于LuatOSAir780EPM開發板上的應用,演示如何通過腳本實現MQTT協議通信,助力物聯網設備快速聯網。 一、MQTT 協議詳解 ? 1.1 什么是 MQTT? MQTT
    的頭像 發表于 09-29 18:10 ?594次閱讀
    <b class='flag-5'>LuatOS</b><b class='flag-5'>嵌入式開發</b><b class='flag-5'>實戰</b>:<b class='flag-5'>Air780EPM</b>與MQTT通信

    LuatOS Air780EPM 開發板 HTTP 教程:原理講解與項目實操!

    本篇教程將系統介紹 LuatOS Air780EPM 在 HTTP 通信中的應用,從請求機制到響應解析,配合完整代碼演示,讓你輕松實現設備端與云端的數據交互。 一、HTTP 概述 1.1
    的頭像 發表于 09-26 20:36 ?1107次閱讀
    <b class='flag-5'>LuatOS</b> <b class='flag-5'>Air780EPM</b> <b class='flag-5'>開發板</b> HTTP 教程:原理講解與項目實操!

    Air8101多網融合戰略升級:Air780EPM模塊助力4G聯網落地

    應用邁向新高度。 本文將分享Air8101核心通過外掛Air780EPM整機開發板,實現4G聯網的功能示例。 ? 一、硬件準備工作 ? 1
    的頭像 發表于 06-23 16:53 ?605次閱讀
    <b class='flag-5'>Air</b>8101多網融合戰略升級:<b class='flag-5'>Air780EPM</b>模塊助力4G聯網落地

    Air780EPM — ADC硬件電路設計:場景化優化與實踐!

    Air780EPM的ADC精度怎么樣,想節約一顆外掛ADC… ? 今天也跟大家一起分享下相關內容。在設計ADC硬件電路之前,請務必先查看LuatOS二次開發ADC相關庫函數的描述。 最新ADC庫函數
    的頭像 發表于 06-11 14:40 ?742次閱讀
    <b class='flag-5'>Air780EPM</b> — ADC硬件電路設計:場景化優化與實踐!

    Air780EPM應用開發:解鎖GPIO與LED的N種交互模式

    今天特別分享探索Air780EPM中GPIO與LED的多樣交互!本文介紹N種交互模式,包括脈沖控制、狀態切換及多LED聯動,為智能設備開發提供豐富技術選型。適用于智能照明、狀態指示等物聯網場景。 一
    的頭像 發表于 05-29 14:31 ?825次閱讀
    <b class='flag-5'>Air780EPM</b>應用<b class='flag-5'>開發</b>:解鎖GPIO與LED的N種交互模式

    解鎖Air780EPM:N種GPIO操控LED的實戰技巧!

    在物聯網項目中,靈活使用Air780EPM的GPIO控制LED至關重要。本文將展示實現方式,涵蓋硬件配置與軟件編程,滿足不同場景需求。 今天特別分享基于Air780EPM的GPIO控制LED實現方案
    的頭像 發表于 05-28 16:56 ?973次閱讀
    解鎖<b class='flag-5'>Air780EPM</b>:N種GPIO操控LED的<b class='flag-5'>實戰</b>技巧!

    如何解決Air780EPM開發中的調試難題?深度解析高效調試方法

    Air780EPM項目開發中,調試效率往往直接影響進度。面對代碼報錯、邏輯漏洞等常見痛點,開發者亟需一套系統化的方法論。本文將揭秘實戰中驗證的調試技巧,助您快速定位問題并優化代碼流程
    的頭像 發表于 05-17 10:46 ?821次閱讀
    如何解決<b class='flag-5'>Air780EPM</b><b class='flag-5'>開發</b>中的調試難題?深度<b class='flag-5'>解析</b>高效調試方法

    深度解析Air780EPM模組:LuatOS下CAN總線通信的完整方案!

    本文聚焦Air780EPM的CAN通信能力,結合LuatOS實時操作系統,從底層驅動到應用層協議,詳細拆解如何實現工業級CAN總線數據傳輸,助力開發者快速落地項目。 最新資料詳見: https
    的頭像 發表于 05-06 14:22 ?944次閱讀
    深度<b class='flag-5'>解析</b><b class='flag-5'>Air780EPM</b>模組:<b class='flag-5'>LuatOS</b>下CAN總線通信的完整方案!

    快速開發實戰——4路低功耗ADC接口,Air780EPM二次開發必看!

    Air780EPM 模組,內置4MB大內存RAM,支持LCD、攝像頭、Modbus、以太網、CAN;具備更強大的二次開發資源,更完善的外設能力,也更適于工業場景。 ? 最新開發資料詳見
    的頭像 發表于 04-01 14:56 ?758次閱讀
    快速<b class='flag-5'>開發</b><b class='flag-5'>實戰</b>——4路低功耗ADC接口,<b class='flag-5'>Air780EPM</b>二次<b class='flag-5'>開發</b>必看!