博客專欄

        EEPW首頁 > 博客 > 輕松攻克低功耗4G模組軟件的FTP示例!

        輕松攻克低功耗4G模組軟件的FTP示例!

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

        今天是以Air724UG模組為例,輕松攻克低功耗4G模組軟件的FTP示例。


        一、簡介

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

        FTP 協(xié)議包括兩個(gè)組成部分,其一為 FTP 服務(wù)器,其二為 FTP 客戶端。其中 FTP 服務(wù)器用來存儲(chǔ)文件,用戶可以使用 FTP 客戶端通過 FTP 協(xié)議訪問位于 FTP 服務(wù)器上的資源。在開發(fā)網(wǎng)站的時(shí)候,通常利用 FTP 協(xié)議把網(wǎng)頁或程序傳到 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é)商決定。


        二、演示功能概述

        本教程教你如何使用開發(fā)板登錄 FTP 服務(wù)器訪問服務(wù)器資源。

        功能定義:

        1、登錄 FTP 服務(wù)器

        2、讀取服務(wù)器上的文件資源 

        3、在 FTP 服務(wù)器上創(chuàng)建目錄


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


        3.1 開發(fā)板準(zhǔn)備

        使用 EVB_Air724 開發(fā)板,如下圖所示:

        wKgZPGdOgxGAP0T5ABh-Kzqe9xs072.png

        此開發(fā)板的詳細(xì)使用說明參考:
        https://docs.openluat.com/air724ug/product/

        Air724UG 產(chǎn)品手冊 中的《EVB_Air724UG_AXX 開發(fā)板使用說明》,寫這篇文章時(shí)最新版本的使用說明為:《EVB_Air724UG_A14 開發(fā)板使用說明》;開發(fā)板使用過程中遇到任何問題,可以直接參考這份使用說明文檔。

        api文檔:
        https://doc.openluat.com/wiki/21?wiki_page_id=2068


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

        USB 數(shù)據(jù)線一根(micro USB)


        3.3 PC 電腦

        WIN7 以及以上版本的 WINDOWS 系統(tǒng)。


        3.4 SIM 卡

        中國大陸環(huán)境下,可以上網(wǎng)的 SIM 卡。一般來說,使用移動(dòng),電信,聯(lián)通的物聯(lián)網(wǎng)卡或者手機(jī)卡都行。


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

        USB 數(shù)據(jù)線插入 USB 口,另一端與電腦相連,撥碼開關(guān)全部撥到 ON,串口切換開關(guān)選擇 UART1,USB 供電的 4V 對應(yīng)開關(guān)撥至 ON 檔,SIM 卡放到 SIM 卡槽中鎖緊,如下圖所示。

        wKgZO2dOgyCAYKRbAAzGh0x5WB4889.png


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


        4.1 下載調(diào)試工具

        使用說明參考:
        Luatools下載和詳細(xì)使用:
        https://docs.openluat.com/Luatools/


        4.2 源碼及固件

        1)底層 core 下載

        下載底層固件,并解壓

        鏈接:
        https://docs.openluat.com/air724ug/luatos/firmware/

        如下圖所示,紅框的是我們要使用到的

        wKgZPGdOgy-AbwfMAAbtFCDP8yc962.png

        本教程使用的 demo 見附件:

        https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/ftp


        4.3 下載固件和腳本到開發(fā)板中

        打開 Luatools,開發(fā)板上電開機(jī),如開機(jī)成功 Luatools 會(huì)打印如下信息。

        wKgZO2dOg0SAa1R8AAU3J9VCx5c474.png

        點(diǎn)擊項(xiàng)目管理測試選項(xiàng)。

        wKgZO2dOg0-AWD6NAAFrkt4sW9U588.png

        進(jìn)入管理界面,如下圖所示。

        wKgZPGdOg1iAVplRAANKtpEWiI4897.png

        點(diǎn)擊選擇文件,選擇底層固件,我的文件放在 D:luatOSAir724 路徑中

        wKgZO2dOg2SAEM2vAAC06OPVSk8871.png

        點(diǎn)擊增加腳本或資源文件,選擇之前下載的程序源碼,如下圖所示。

        wKgZPGdOg22AObzPAAIDhoNda28908.png

        點(diǎn)擊下載底層和腳本,下載完成如下圖所示。

        wKgZPGdOg3eAOm0MAAHJT8uOkXE920.png

        4.4 FTP 服務(wù)器

        本文測試用的服務(wù)器的地址,端口號,用戶名,密碼為:
         "121.43.224.154",21,"ftp_user","3QujbiMG"。

        如果使用其他服務(wù)器請自行修改。


        五、代碼示例介紹

        5.1 API 說明

        ftp 的 API 在 LuatOS lib 有做封裝,建議直接用 lib 的 API 接口。

        wKgZO2dOg4aAPLtmAAOh7Dpiu4w583.png

        5.2 ftp_test.lua 代碼

        系統(tǒng)啟動(dòng)后演示 5 秒,登錄 FTP 服務(wù)器,等待登錄成功后,查看服務(wù)器信息、顯示目錄下文件、顯示文件詳細(xì)信息、顯示工作目錄、創(chuàng)建目錄等操作。

        下載 ftp 服務(wù)器的文件至 sd 卡目錄,/1040K.jpg", "/sdcard0/1040K.jpg"

        從 sd 卡目錄上傳文件至服務(wù)器,/sdcard0/ftp_lib_test_up.txt"

        在 ftp_test.lua 這個(gè)文件中將登錄中的地址,端口號,用戶名,密碼等必要信息修改為自己服務(wù)器的。

        wKgZPGdOg5eAEHluAAQqyWEx1-k563.png

         

        wKgZPGdOg6mAVr9OAAW8q_d2wsM554.png

         

        wKgZO2dOg7iAcfGEAAWEEeHQ9xE254.png

         

        wKgZO2dOg8SAT_ICAAEOX_7BmnQ405.png

         

        5.3 main.lua 代碼

        本代碼為主程序腳本,系統(tǒng)啟動(dòng)后首先會(huì)對 4G 網(wǎng)絡(luò)進(jìn)行配置,然后加載 FTP 測試模塊。



        六、開機(jī)調(diào)試


        6.1 開發(fā)板開機(jī)

        連接好硬件并下載固件后,啟動(dòng) Luatools 軟件,系統(tǒng)運(yùn)行信息將顯示在界面中。紅框中為開發(fā)板連接到 PC 機(jī)后正常打印的信息,如下圖所示。

        wKgZPGdOg9KAKnZPAAOVr1sk1Ek458.png

        6.2 FTP 調(diào)試

        FTP 登錄服務(wù)器,并且獲取信息。

        wKgZO2dOg92Act2PAAbE1DWgqeA544.png

        顯示目錄下的文件

        wKgZO2dOg_iASiWuABBQP2KgqqE564.png

         

        wKgZPGdOhAWAUgR6AAP0Hgt_Hjo134.png

        創(chuàng)建目錄/ftp_test

        wKgZO2dOhBWAeYChABG0wCIgg28614.png

        下載 ftp 服務(wù)器的文件

        下載成功返回 200。

        下載前 FTP 服務(wù)器的數(shù)據(jù)如下:

        wKgZPGdOhCeAeu-oAA4miRHKYWQ527.png

         

        wKgZO2dOhDmAQNxRAAuCvzR5zZ8196.png

        下載文件的打印日志信息:

        wKgZPGdOhE2AFBO_AAatr9BgKFk166.png

        上傳文件至服務(wù)器

        上傳成功返回 200。

        上傳成功后 FTP 服務(wù)器的數(shù)據(jù)如下:

        wKgZPGdOhFeAOb2jAA1qO0EpVuE490.png

         

        wKgZO2dOhGiAamafAAsbxFpOKAo467.png

        上傳文件打印日志信息:

        wKgZPGdOhHWAF8F5AAsoXf8Agjs599.png


        七、常見問題


        7.1 關(guān)于不支持主動(dòng)模式

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


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

        需要通過 ftp.checktype(“I”,0)設(shè)置為二進(jìn)制方式傳輸文件,否則傳輸過程中會(huì)丟棄換行符。


        審核編輯 黃宇


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




        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 光山县| 常山县| 塘沽区| 夏邑县| 会宁县| 九龙县| 兴化市| 剑河县| 平谷区| 张家港市| 城口县| 纳雍县| 探索| 阿拉善右旗| 彝良县| 资中县| 万盛区| 彭州市| 雷山县| 石门县| 奉节县| 会理县| 上饶市| 大庆市| 娄烦县| 伊宁县| 佛冈县| 凌海市| 双桥区| 黄浦区| 穆棱市| 始兴县| 兰西县| 老河口市| 庄河市| 鄢陵县| 岑巩县| 新营市| 营口市| 忻州市| 张家港市|