0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

低功耗4G模組HTTP網(wǎng)絡(luò)協(xié)議應(yīng)用

青山老竹農(nóng) ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-11-01 07:23 ? 次閱讀

?大家好,今天我們來學(xué)習(xí)合宙Air780E模組LuatOS開發(fā)4G通信中HTTP網(wǎng)絡(luò)協(xié)議的應(yīng)用,實現(xiàn)模組和服務(wù)器之間數(shù)據(jù)的傳輸。

一、HTTP概述

1.1 簡介

HTTP是HyperTextTransferProtocol(超文本傳輸協(xié)議)的縮寫。HTTP是一個應(yīng)用層協(xié)議,由請求和響應(yīng)構(gòu)成,是一個標(biāo)準(zhǔn)的客戶端服務(wù)器模型。HTTP是一個無狀態(tài)的協(xié)議。HTTP協(xié)議通常承載于TCP協(xié)議之上,有時也承載于TLS或SSL協(xié)議層之上,這個時候,就成了我們常說的HTTPS,所以HTTPS相關(guān)的指令只需要參考SSL部分配置連接,其他和http都是一樣的。

HTTP協(xié)議的_主要應(yīng)用場景_有:基于瀏覽器的網(wǎng)頁獲取與表單提交、文件上傳與下載、移動應(yīng)用、物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)上報等。

1.2 請求報文

圖片?

●method:請求方法,GET和POST是最常見的HTTP方法。

●URL:為請求對應(yīng)的URL地址,它和報文頭的Host屬性組成完整的請求URL。

●Version:協(xié)議名稱及版本號。

●Headerlines:HTTP的報文頭,報文頭包含若干個屬性,格式為“屬性名:屬性值”,服務(wù)端據(jù)此獲取客戶端的信息。

●Entitybody:是報文體,它將一個頁面表單中的組件值通過param1=value1&m2=value2的鍵值對形式編碼成一個格式化串,它承載多個請求參數(shù)的數(shù)據(jù)。

●請求報文示例如下:

圖片?

1.3 響應(yīng)報文

圖片?

●version:報文協(xié)議及版本。

●statuscode:狀態(tài)碼及狀態(tài)描述。

●phrase:原因短語。

●Headerlines:響應(yīng)報文頭。

●Entitybody:響應(yīng)報文體,即我們真正要的內(nèi)容。

●響應(yīng)報文示例如下:

圖片?

注意:sp表示空格,crlf表示回車換行,報文頭和報文體之間要有一行空格

1.4 HTTP請求方法

HTTP客戶端發(fā)出請求,告知服務(wù)端需要執(zhí)行不同類型的請求命令,這些命令被稱為HTTP方法。

●GET:獲取資源方法

●POST:傳輸實體數(shù)據(jù)方法

●HEAD:獲取頭部報文方法

●PUT:傳輸文件方法

●DELETE:刪除指定資源方法

1.5 HTTP狀態(tài)碼

HTTP狀態(tài)碼由三個十進制數(shù)字組成,第一個十進制數(shù)字定義了狀態(tài)碼的類型。響應(yīng)分為五類:

●信息響應(yīng)(100–199),信息響應(yīng)中,服務(wù)器收到請求,需要請求者繼續(xù)執(zhí)行操作;

●成功響應(yīng)(200–299),信息響應(yīng)成功,操作被成功接收并處理;

●重定向,需要進一步操作(300–399),信息需要被重新定向,需要進一步的操作以完成請求;

●客戶端錯誤(400–499),客戶端錯誤,請求包含語法錯誤或無法完成請求;

●服務(wù)器錯誤(500–599),服務(wù)器錯誤,服務(wù)器在處理請求的過程中發(fā)生了錯誤。

二、演示功能概述

本文教你合宙4G模組使用LuatOS開發(fā)4G通信中http網(wǎng)絡(luò)協(xié)議的應(yīng)用,實現(xiàn)模組和服務(wù)器之間數(shù)據(jù)的傳輸!

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

使用Air780E核心板下載Air780的LuatOS示例代碼中http的例程進行驗證,包含get請求,post請求,文件上傳,文件下載等功能。

三、硬件環(huán)境

3.1 Air780E核心板

使用Air780E核心板,如下圖所示:

圖片?

此核心板的詳細使用說明參考:Air780E產(chǎn)品手冊中的<<開發(fā)板Core_Air780E使用說明VX.X.X.pdf>>,寫這篇文章時最新版本的使用說明為:開發(fā)板Core_Air780E使用說明V1.0.5.pdf;核心板使用過程中遇到任何問題,可以直接參考這份使用說明pdf文檔。

3.2 SIM

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

3.3 PC電腦

WINDOWS系統(tǒng),其他暫無特別要求;

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

USB數(shù)據(jù)線,暫無特別要求;

四、軟件環(huán)境

4.1 Luatools工具

要想燒錄AT固件到4G模組中,需要用到合宙的強大的調(diào)試工具:Luatools;

詳細使用說明參考:Luatools工具使用說明。

Luatools工具集具備以下幾大核心功能:

  • 一鍵獲取最新固件:自動連接合宙服務(wù)器,輕松下載最新的合宙模組固件。
  • 固件與腳本燒錄:便捷地將固件及腳本文件燒錄至目標(biāo)模組中。
  • 串口日志管理:實時查看模組通過串口輸出的日志信息,并支持保存功能。
  • 串口調(diào)試助手:提供簡潔的串口調(diào)試界面,滿足基本的串口通信測試需求。

Luatools下載之后,無需安裝,解壓到你的硬盤,點擊Luatools_v3.exe運行,出現(xiàn)如下界面,就代表Luatools安裝成功了.

4.2 準(zhǔn)備需要燒錄的代碼

首先要說明一點:腳本代碼,要和固件的bin文件一起燒錄。

4.2.1 燒錄的底層固件文件

底層core下載地址:LuatOS固件版本下載地址

圖片?

Air780E的底層固件在Luatools解壓后目錄的LuatOS-SoC_V1112_EC618_FULL.soc

圖片?

4.2.2 燒錄的腳本代碼

首先要下載Air780的LuatOS示例代碼到一個合適的項目目錄,示例代碼網(wǎng)站:https://gitee.com/openLuat/LuatOS-Air780E

下載流程參考下圖:

圖片?

圖片?

下載的文件解壓,找到

LuatOS-Air780E-masterdemohttpmain.lua,如圖:

圖片?

4.3 燒錄步驟

4.3.1 正確連接電腦和4G模組電路板

使用帶有數(shù)據(jù)通信功能的數(shù)據(jù)線,不要使用僅有充電功能的數(shù)據(jù)線;

4.3.2 識別4G模組的boot引腳

在下載之前,要用模組的boot引腳觸發(fā)下載,也就是說,要把4G模組的boot引腳拉到1.8v,或者直接把boot引腳和VDD_EXT引腳相連。我們要在按下BOOT按鍵時讓模塊開機,就可以進入下載模式了。

具體到Air780E開發(fā)板:

1、當(dāng)我們模塊沒開機時,按著BOOT鍵然后長按PWR開機。

2、當(dāng)我們模塊開機時,按著BOOT鍵然后點按重啟鍵即可。

圖片?

4.3.3 識別電腦的正確端口

判斷是否進入BOOT模式:模塊上電,此時在電腦的設(shè)備管理器中,查看串口設(shè)備,會出現(xiàn)一個端口表示進入了boot下載模式,如下圖所示:

圖片?

當(dāng)設(shè)備管理器出現(xiàn)了3個連續(xù)數(shù)字的com端口,并且每個數(shù)字都大于4,這時候,硬件連接上就緒狀態(tài),恭喜你,可以進行燒錄了!

4.3.4 用LuatOS工具燒錄

  • 新建項目

首先,確保你的Luatools的版本,上大于3.0.6版本的。

在Luatools的左上角上有版本顯示的,如圖所示:

圖片?

Luatools版本沒問題的話,就點擊LuaTOols右上角的“項目管理測試”按鈕,如下圖所示:

圖片?

這時會彈出項目管理和燒錄管理的對話框,如下圖:

圖片?

  • 開始燒錄

選擇780E板子對應(yīng)的底層core和剛改的main.lua腳本文件。下載到板子中。

圖片?

點擊下載后,我們需要進入boot模式才能正常下載。

圖片?

圖片?

五、API說明

http客戶端:

http.request(method,url,headers,body,opts,ca_file,client_ca,client_key,client_password)

參數(shù)

傳入值類型解釋
string請求方法,支持GET/POST等合法的HTTP方法
stringurl地址,支持http和https,支持域名,支持自定義端口
tabal請求頭可選例如{[“Content-Type”]=“application/x-www-form-urlencoded”}
string/zbuffbody可選
table額外配置可選包含timeout:超時時間單位ms可選,默認10分鐘,寫0即永久等待dst:下載路徑,可選adapter:選擇使用網(wǎng)卡,可選debug:是否打開debug信息,可選,ipv6:是否為ipv6默認不是,可選callback:下載回調(diào)函數(shù),參數(shù)content_len:總長度body_len:以下載長度userdata用戶傳參,可選userdata:回調(diào)自定義傳參
string服務(wù)器ca證書數(shù)據(jù),可選,一般不需要
string客戶端ca證書數(shù)據(jù),可選,一般不需要,雙向https認證才需要
string客戶端私鑰加密數(shù)據(jù),可選,一般不需要,雙向https認證才需要
string客戶端私鑰口令數(shù)據(jù),可選,一般不需要,雙向https認證才需要

返回值

返回值類型解釋
intcode,服務(wù)器反饋的值>=100,最常見的是200.如果是底層錯誤,例如連接失敗,返回值小于0
tabalheaders當(dāng)code>100時,代表服務(wù)器返回的頭部數(shù)據(jù)
string/intbody服務(wù)器響應(yīng)的內(nèi)容字符串,如果是下載模式,則返回文件大小

創(chuàng)建HTTP客戶端

圖片?

六、功能驗證

6.1 GET請求

HTTPGET請求是一種用于從指定資源URI(統(tǒng)一資源標(biāo)識符)請求數(shù)據(jù)的HTTP方法。它通常用于請求服務(wù)器發(fā)送資源(如HTML頁面、圖片等)給客戶端,且請求信息包含在URL中。

下面根據(jù)demo演示HTTP的GET請求用法,示例代碼如下(具體demo可以點此鏈接跳轉(zhuǎn))

示例如下:

圖片?

對應(yīng)log:

圖片?

6.2 POST請求

HTTPPOST請求是一種HTTP方法,用于向指定的資源提交數(shù)據(jù)。與GET請求不同,POST請求的數(shù)據(jù)包含在請求體中,可以提交大量數(shù)據(jù)且數(shù)據(jù)不會顯示在URL中,常用于提交表單數(shù)據(jù)或上傳文件等操作。

下面根據(jù)demo演示HTTP的POST請求方法提交一個表單,示例代碼如下(具體demo可以點此鏈接跳轉(zhuǎn))

示例:

圖片?

對應(yīng)log:

圖片?

6.3 文件上傳

HTTPPOST請求在文件上傳場景中發(fā)揮著關(guān)鍵作用。用戶通過POST請求可以將文件數(shù)據(jù)包含在請求體中發(fā)送給服務(wù)器,而不是像GET請求那樣通過URL傳遞。這種方式允許上傳大量數(shù)據(jù),包括各種類型的文件,如圖片、視頻、文檔等。服務(wù)器接收到請求后,會解析請求體中的文件數(shù)據(jù),并存儲到服務(wù)器上相應(yīng)的位置。文件上傳是HTTP應(yīng)用中常見的功能。

下面根據(jù)demo演示HTTP文件上傳的功能,示例代碼如下(具體demo可以點此鏈接跳轉(zhuǎn))

示例:

圖片?

對應(yīng)log:

圖片?

6.4 文件下載

下面根據(jù)demo演示HTTP文件下載的功能,示例代碼如下(具體demo可以點此鏈接跳轉(zhuǎn))

示例:

圖片?

對應(yīng)log:

圖片?

6.5 處理JSON數(shù)據(jù)

處理json數(shù)據(jù)主要有兩個函數(shù),json.encode(t)和json.decode(str),參考示例代碼:

https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/json

圖片?

6.6 壓縮和解壓

這個例程用和風(fēng)天氣的api做演示,請求到的數(shù)據(jù)配合miniz庫進行解壓,示例代碼如下(具體demo可以點此鏈接跳轉(zhuǎn))

示例:

圖片?

對應(yīng)log:

圖片?

也可以參考例程:

https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/miniz

圖片?

七、總結(jié)

本文檔主要介紹4G通信中http網(wǎng)絡(luò)協(xié)議的應(yīng)用。講解了HTTP基本原理,GET和POST請求,以及文件上傳下載、HTTPS加密、JSON數(shù)據(jù)處理和數(shù)據(jù)壓縮等高級功能,直接燒錄例程即可測試,旨在實現(xiàn)高效、安全的數(shù)據(jù)傳輸。

八、常見問題

8.1 HTTP支持多連接嗎

目前HTTP僅支持單連接,不支持多連接。

8.2 重試多次PDP,HTTP應(yīng)用一直連接失敗

如果重試多次PDP激活,PDP一直激活失敗,或者HTTP一直請求應(yīng)答失敗,則嘗試使用如下手段恢復(fù):

1、使用RESET引腳復(fù)位模塊

2、極端情況下,直接給模塊斷電,再上電,POWERKEY引腳拉低開機

8.3 為什么我只發(fā)了10字節(jié)消息,100次卻消耗了那么多流量?

因為還有HTTP自帶的請求頭。如何統(tǒng)計流量

8.4 為什么頻繁請求會失敗?

支持的http連接總數(shù)有限數(shù)量為tcp連接數(shù)量8個,建議一個http連接返回請求結(jié)果之后,再去請求下一個連接;不要使用循環(huán)定時器方式不斷的發(fā)起新的http請求。

8.5 專網(wǎng)卡訪問白名單

用定向Ip的物聯(lián)網(wǎng)卡,需要把域名或IP加入白名單才能使用。如果不加入白名單會出現(xiàn)無法訪問服務(wù)器的情況.

?審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2900

    文章

    44009

    瀏覽量

    369933
  • 網(wǎng)絡(luò)協(xié)議

    關(guān)注

    3

    文章

    262

    瀏覽量

    21493
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    499

    瀏覽量

    30971
  • SSL
    SSL
    +關(guān)注

    關(guān)注

    0

    文章

    124

    瀏覽量

    25706
收藏 人收藏

    評論

    相關(guān)推薦

    4G模組SIM卡接口電路設(shè)計:從入門到精通

    今天我跟大家探討的是4G模組SIM卡接口電路是怎么設(shè)計的?我們以低功耗4G模組經(jīng)典型號Air780E為例,它支持兩路SIM卡,支持雙卡切換,
    的頭像 發(fā)表于 11-02 11:59 ?176次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b>SIM卡接口電路設(shè)計:從入門到精通

    4G 模組 HTTP 網(wǎng)絡(luò)協(xié)議應(yīng)用 白嫖版!

    今天我們來白嫖的是Air780E模組LuatOS開發(fā)4G通信中HTTP網(wǎng)絡(luò)協(xié)議的應(yīng)用,實現(xiàn)模組
    的頭像 發(fā)表于 10-30 14:22 ?565次閱讀
    <b class='flag-5'>4G</b> <b class='flag-5'>模組</b> <b class='flag-5'>HTTP</b> <b class='flag-5'>網(wǎng)絡(luò)</b><b class='flag-5'>協(xié)議</b>應(yīng)用 白嫖版!

    Air780EP低功耗4G模組AT開發(fā):阿里云應(yīng)用

    Air780EP是合宙推出的一款低功耗4G全網(wǎng)通模組,兼容模組行業(yè)1618經(jīng)典封裝,支持OpenCPU開發(fā)及全功能數(shù)傳AT開發(fā),可廣泛應(yīng)用于多樣化的物聯(lián)網(wǎng)終端。
    的頭像 發(fā)表于 10-25 17:28 ?161次閱讀
    Air780EP<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT開發(fā):阿里云應(yīng)用

    4G模組PSM+超低功耗,手把手教你!

    4G-Cat.1模組優(yōu)異的低功耗表現(xiàn),既有來自硬件設(shè)計的加持,也有軟件協(xié)議算法的幫助。除實驗室數(shù)據(jù)外, 合宙更關(guān)注實網(wǎng)環(huán)境下的功耗表現(xiàn), 呈
    的頭像 發(fā)表于 10-15 07:31 ?281次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b>PSM+超<b class='flag-5'>低功耗</b>,手把手教你!

    Air780EP低功耗4G模組—AT開發(fā)FOTA遠程升級

    ? Air780EP是合宙推出的一款 低功耗4G全網(wǎng)通模組 ,兼容模組行業(yè)1618經(jīng)典封裝,支持OpenCPU開發(fā)及全功能數(shù)傳AT開發(fā),可廣泛應(yīng)用于多樣化的物聯(lián)網(wǎng)終端。 針對客戶朋友的
    的頭像 發(fā)表于 10-07 20:36 ?249次閱讀
    Air780EP<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>—AT開發(fā)FOTA遠程升級

    干貨篇:低功耗4G模組Air780E的串口通信

    ? 今天我們來講解低功耗4G模組Air780E的串口通信的基本用法,小伙伴們,學(xué)起來吧!
    的頭像 發(fā)表于 10-05 14:38 ?389次閱讀
    干貨篇:<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780E的串口通信

    合宙低功耗4G模組Air780EX——硬件設(shè)計手冊02

    在上文我們介紹了合宙低功耗4G模組Air780EX的主要性能和應(yīng)用接口, 本文我們將繼續(xù)介紹Air780EX的射頻接口,電氣特性,實網(wǎng)功耗數(shù)據(jù),結(jié)構(gòu)規(guī)格等內(nèi)容。
    的頭像 發(fā)表于 09-10 16:46 ?471次閱讀
    合宙<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780EX——硬件設(shè)計手冊02

    合宙低功耗4G模組Air780EP——硬件設(shè)計02

    合宙低功耗4G模組Air780EP——硬件設(shè)計
    的頭像 發(fā)表于 09-03 15:07 ?519次閱讀
    合宙<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780EP——硬件設(shè)計02

    合宙低功耗4G模組Air780E——產(chǎn)品規(guī)格書

    合宙低功耗4G模組Air780E的規(guī)格信息速覽
    的頭像 發(fā)表于 09-02 18:04 ?786次閱讀
    合宙<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780E——產(chǎn)品規(guī)格書

    合宙低功耗4G模組Air780EP——硬件設(shè)計01

    Air780EP是一款合宙低功耗LTECat1無線通信模組。 支持FDD-LTE/TDD-LTE的4G遠距離無線 傳輸技術(shù)。 另外,模組提供了USB/UART/I2C等通用接口滿足Io
    的頭像 發(fā)表于 09-02 16:47 ?1474次閱讀
    合宙<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780EP——硬件設(shè)計01

    合宙低功耗4G模組Air780EP——產(chǎn)品規(guī)格書

    合宙低功耗4G模組Air780EP——產(chǎn)品規(guī)格信息介紹
    的頭像 發(fā)表于 08-30 18:07 ?1247次閱讀
    合宙<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780EP——產(chǎn)品規(guī)格書

    合宙低功耗4G模組Air700EAQ——開發(fā)板使用說明

    合宙低功耗4G模組Air700EAQ——開發(fā)板使用說明
    的頭像 發(fā)表于 08-30 17:14 ?998次閱讀
    合宙<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air700EAQ——開發(fā)板使用說明

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

    合宙低功耗4G模組Air780EQ的硬件設(shè)計介紹
    的頭像 發(fā)表于 08-29 18:15 ?2010次閱讀
    合宙<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>Air780EQ——硬件設(shè)計手冊01

    D45A-4G 400W全彩4G球機模組新品上市 超級低功耗顛覆未來

    D45A-4G 400W全天錄像低功耗臻全彩4G球機模組,采用超級低功耗黑科技,彌補傳統(tǒng)低功耗
    的頭像 發(fā)表于 03-20 10:00 ?804次閱讀
    D45A-<b class='flag-5'>4G</b> 400W全彩<b class='flag-5'>4G</b>球機<b class='flag-5'>模組</b>新品上市 超級<b class='flag-5'>低功耗</b>顛覆未來

    合宙 | 微安級超低功耗,【藍牙+4G】二合一模組全新定義等你來

    探討: 一款2秒一次廣播,功耗低于8微安,并且支持二次開發(fā)的超低功耗【藍牙+4G】二合一模組。 超低功耗【藍牙+
    的頭像 發(fā)表于 12-12 15:55 ?1606次閱讀