<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 詳解:低功耗4G模組HTTP網(wǎng)絡(luò )協(xié)議應用!

詳解:低功耗4G模組HTTP網(wǎng)絡(luò )協(xié)議應用!

發(fā)布人:13673998452 時(shí)間:2025-01-10 來(lái)源:工程師 發(fā)布文章

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


一、HTTP概述


1.1 簡(jiǎn)介

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

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


1.2 請求報文

圖片

●method:請求方法,GET和POST是最常見(jiàn)的HTTP方法。

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

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

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

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

●請求報文示例如下:

圖片

1.3 響應報文

圖片

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

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

●phrase:原因短語(yǔ)。

●Headerlines:響應報文頭。

●Entitybody:響應報文體,即我們真正要的內容。

●響應報文示例如下:

圖片

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


1.4 HTTP請求方法

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

●GET:獲取資源方法

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

●HEAD:獲取頭部報文方法

●PUT:傳輸文件方法

●DELETE:刪除指定資源方法


1.5 HTTP狀態(tài)碼

HTTP狀態(tài)碼由三個(gè)十進(jìn)制數字組成,第一個(gè)十進(jìn)制數字定義了狀態(tài)碼的類(lèi)型。響應分為五類(lèi):

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

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

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

●客戶(hù)端錯誤(400–499),客戶(hù)端錯誤,請求包含語(yǔ)法錯誤或無(wú)法完成請求;

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


二、演示功能概述

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

本教程實(shí)現的功能定義是:

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


三、硬件環(huán)境


3.1 Air780E核心板


3.2 SIM卡

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


3.3 PC電腦

WINDOWS系統,其他暫無(wú)特別要求;


3.4 數據通信線(xiàn)

USB數據線(xiàn),暫無(wú)特別要求;


四、軟件環(huán)境


4.1 Luatools工具

要想燒錄AT固件到4G模組中,需要用到調試工具:Luatools;

詳細使用說(shuō)明參考:Luatools工具使用說(shuō)明。

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

  • 一鍵獲取最新固件:自動(dòng)連接服務(wù)器,輕松下載最新的模組固件。

  • 固件與腳本燒錄:便捷地將固件及腳本文件燒錄至目標模組中。

  • 串口日志管理:實(shí)時(shí)查看模組通過(guò)串口輸出的日志信息,并支持保存功能。

  • 串口調試助手:提供簡(jiǎn)潔的串口調試界面,滿(mǎn)足基本的串口通信測試需求。

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


4.2 準備需要燒錄的代碼

首先要說(shuō)明一點(diǎn):腳本代碼,要和固件的bin文件一起燒錄。


4.2.1 燒錄的底層固件文件

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

圖片

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

圖片


4.2.2 燒錄的腳本代碼

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

下載流程參考下圖:

圖片

圖片

下載的文件解壓,找到

LuatOS-Air780E-masterdemohttpmain.lua,如圖:

圖片


4.3 燒錄步驟


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

使用帶有數據通信功能的數據線(xiàn),不要使用僅有充電功能的數據線(xiàn);


4.3.2 識別4G模組的boot引腳

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

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


1、當我們模塊沒(méi)開(kāi)機時(shí),按著(zhù)BOOT鍵然后長(cháng)按PWR開(kāi)機。

2、當我們模塊開(kāi)機時(shí),按著(zhù)BOOT鍵然后點(diǎn)按重啟鍵即可。

圖片


4.3.3 識別電腦的正確端口

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

圖片

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


4.3.4 用LuatOS工具燒錄
  • 新建項目

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

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

圖片

Luatools版本沒(méi)問(wèn)題的話(huà),就點(diǎn)擊LuaTOols右上角的“項目管理測試”按鈕,如下圖所示:

圖片

這時(shí)會(huì )彈出項目管理和燒錄管理的對話(huà)框,如下圖:

圖片

  • 開(kāi)始燒錄

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

圖片

點(diǎn)擊下載后,我們需要進(jìn)入boot模式才能正常下載。

圖片

圖片


五、API說(shuō)明


http客戶(hù)端:

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


參數

image.png

返回值

image.png

創(chuàng )建HTTP客戶(hù)端

圖片


六、功能驗證


6.1 GET請求

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

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

示例如下:

圖片

對應log:

圖片

6.2 POST請求

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

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

示例:

圖片

對應log:

圖片

6.3 文件上傳

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

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

示例:

圖片


對應log:

圖片


6.4 文件下載

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

示例:

圖片


對應log:

圖片

6.5 處理JSON數據

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

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

圖片


6.6 壓縮和解壓

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

示例:

圖片

對應log:

圖片

也可以參考例程:

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

圖片


七、總結

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


八、常見(jiàn)問(wèn)題


8.1 HTTP支持多連接嗎

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


8.2 重試多次PDP,HTTP應用一直連接失敗

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

1、使用RESET引腳復位模塊

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


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

因為還有HTTP自帶的請求頭。如何統計流量


8.4 為什么頻繁請求會(huì )失敗?

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


8.5 專(zhuān)網(wǎng)卡訪(fǎng)問(wèn)白名單

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


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




相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>