精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

AT開發HTTP應用:Air780EP低功耗4G模組

青山老竹農 ? 來源:jf_75140285 ? 2024-10-25 17:29 ? 次閱讀

? 已經寫了一篇基于Air780EP模組AT開發的FOTA遠程升級指南, 有客戶朋友詢問能否講講HTTP應用部分? 本期特別安排——涵蓋HTTP基本應用流程、GET/POST/SSL請求示例、斷點續傳、常見問題等內容。

Air780EP是一款 低功耗4G全網通模組 ,兼容模組行業1618經典封裝,支持OpenCPU開發及全功能數傳AT開發,可廣泛應用于多樣化的物聯網終端。

一、相關準備工作

1.1 硬件準備

1.2 軟件準備

  • 串口調試工具
    如果沒有準備,推薦使用LLCOM:
  • AT固件下載

進入AT固件下載頁面按下Ctrl+F,搜索AirM2M_780EP_LTE_AT,即可找到Air780EP模塊所使用的AT固件。

本文使用示例為:

AirM2M_780EP_V1007_LTE_AT版本固件

推薦選用:相關型號固件名稱后面數字版本號最高的最新relase版本進行調試。

二、HTTP應用基本流程

合宙低功耗4G模塊支持HTTP和HTTPS協議,HTTP應用的基本流程如下:

  1. 激活PDP
  2. 初始化HTTP服務
  3. 設置HTTP會話參數
  4. 如果要支持SSL,配置SSL參數
  5. 如果使用POST命令,輸入POST數據
  6. 發起HTTP請求
  7. 收到HTTP應答,讀取應答數據
  8. 終止HTTP服務

相關注意事項:

第1步如果出現異常,首先需要排查HTTP連接和請求參數是否正常,通過Postman是否可以請求成功,模塊上網是否正常(AT+CEREG?);

第2步到第5步,只要輸入格式正確,基本不會出問題;如果出錯,可以跳過,直接處理第6步的異常;

第6步和第7步如果出現異常:終止HTTP服務,有選擇性的去激活PDP;然后再有選擇性的激活PDP,從第2步開始重新執行。

三、HTTP GET請求示例

具體指令和參數使用說明,可參考AT指令手冊:

圖片?

相關注意事項:

01. 請求及應答

發送AT+HTTPACTION命令后,收到OK僅僅表示4G模塊開始處理這條命令,并不表示請求發送成功,收到了應答。

只有收到+HTTPACTION: n,statusCode,len才表示請求結束,statusCode表示應答成功,其余都表示應答失敗。

02. 數據大小限制

HTTP應答數據的緩沖區大小為4KB,如果返回的http body數據超過了這個大小,則需要 斷點下載 ——可以使用AT+HTTPPARA命令,通過設置BREAK和BREAKEND參數來實現。

03. HTTP被動斷開

發送AT+HTTPACTION命令,和服務器建立了HTTP連接后,如果連接異常被動斷開,會輸出+HTTPACTION: ,,提示。

04. PDP被動激活

先來看下PDP被動激活時的AT命令處理序列,如果不理解AT命令含義,請自行參考AT手冊。

+PDP DEACT // 出現PDP去激活的URC上報

后面如果沒做任何處理,接著做HTTP請求會失敗,可以按照下方的建議處理。

應對處理每次結束,都需要重新走一遍HTTP請求流程:

第一種方法:

AT+CIPSHUT // 關閉移動場景

第二種方法:

AT+CIPSHUT // 關閉移動場景

AT+CGDCONT=5,"IP",""http://請填寫實際APN

AT+CGACT=1,5

第三種方法:

AT+CFUN=0 // 進入飛行模式

AT+CFUN=1 // 退出飛行模式

第四種方法:

AT+RESET // 重啟模塊

參考下發流程中收到"+SAPBR 1: DEACT"錯誤提示,表示PDP被動去激活,為異常處理的觸發點。

圖片?

四、HTTP POST請求示例

POST請求流程與GET流程基本一致,只有指令參數:

AT+HTTPACTION=0

變為:

AT+HTTPACTION=1

具體指令和參數使用說明,可參考AT指令手冊:

圖片?

五、HTTPS SSL請求示例

本示例為帶SSL證書雙向驗證功能的HTTPS過程,具體指令和參數使用說明,可參考AT指令手冊:

圖片?

圖片?

六、HTTP斷點續傳示例

在實際的應用場景中,可能需要下載一個非常大的文件,例如幾百K字節、幾M字節,但是****4G模塊中HTTP可用的內存緩沖區Air780EP模塊只有4KB左右。 當文件大小超過這個緩沖區時,就要使用斷點續傳功能來分段下載處理了。

下文以“下載一個119345字節的文件”為例,來說明如何使用斷點續傳功能(注意:本示例僅僅演示了正常流程的HTTP AT命令,完整流程以及異常處理流程請參考本文應用流程部分)。

圖片?

圖片?

七、常見問題Q&A

以下針對客戶朋友們實際應用中的反饋,整理了HTTP應用中的常見問題:

01. HTTP支持多連接嗎?

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

02. HTTPS如何使用?

本文主要描述了基本流程和異常處理,對于HTTPS使用方法沒有做過多描述。這一部分,請自行參考 AT指令手冊HTTP章節下《使用方法舉例》 中的"帶SSL證書驗證功能的HTTPS流程"使用方法;支持的SSL參數,請自行參考AT+SSLCFG命令說明。如果SSL的參數配置不變,則每次開機運行過程中,僅設置一次即可。

03. 重試多次PDP,HTTP應用一直連接失敗?

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

  • 使用RESET引腳復位模塊;
  • 極端情況下,直接給模塊斷電,再上電,POWER KEY引腳拉低開機。

04. HTTP下載的大文件,如何可靠的發送給MCU(AT流控)?

需要在斷點續傳流程指令里開頭加入AT+IFC的配置指令:

AT+HTTPREAD

+HTTPREAD: 3072

...... //此處輸出3072字節數據

OK

此處的3072字節數據,是模塊通過UART AT口發送給MCU。在實際傳輸過程中,由于串口芯片驅動、MCU端的處理能力、波特率的選擇都存在不確定性,可能會導致MCU端接收到的數據,實際上沒有3072字節,這就要求UART AT口打開流控功能。

模塊支持硬件流控和軟件流控兩種:

硬件流控,參考如下步驟操作:

  • 模塊和MCU的UART口,CTS、RTS要交叉相連
  • MCU端固件要支持并且打開硬流控功能
  • MCU端要發送AT+IFC=2,2命令到模塊端,打開模塊端的硬流控功能

軟件流控,參考如下步驟操作:

  • MCU端固件要支持并且打開軟流控功能
  • MCU端要發送AT+IFC=1,1命令到模塊端,打開模塊端的軟流控功能

05. 為什么我只發了10字節消息,100次卻消耗了很多流量?

因為還有HTTP自帶的請求頭。

06. 為什么頻繁請求會失???

HTTP連接總數數量有限,且不支持HTTP2多路復用連接,因此建議等一個HTTP連接返回請求結果之后,再去請求下一個連接;不要使用循環定時器方式不斷的發起新的HTTP請求。

07. 如何POST文件?

主要是使用AT+HTTPDATA命令錄入文件數據后,發送AT+HTTPACTION=1利用POST上傳。

08. 數據發送接收緩存問題如何解決?

AT版本有緩存機制,內存中有一個的緩沖區(Air780EP模塊AT固件HTTP緩存為4KB),發送和接受使用的是同一塊緩沖區。

發送和收到數據后,插入此緩沖區,然后通過AT口輸出URC,提示收到的數據長度;緩沖區滿之后,再收到新數據,會丟棄新收到的數據,并通過AT口輸出URC提示出錯;需要讀取數據時,發送AT+HTTPREAD命令讀取,可分段讀取,也可全部讀取。

?

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

    關注

    5069

    文章

    19021

    瀏覽量

    303400
  • HTTP
    +關注

    關注

    0

    文章

    501

    瀏覽量

    31065
  • 模組
    +關注

    關注

    6

    文章

    1436

    瀏覽量

    30296
收藏 人收藏

    評論

    相關推薦

    AT指令速通FTP:合宙Air780EP模塊超詳細教程

    合宙Air780EP低功耗4G模組AT開發接入FTP超詳細示例!
    的頭像 發表于 08-20 17:40 ?2327次閱讀
    AT指令速通FTP:合宙<b class='flag-5'>Air780EP</b>模塊超詳細教程

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

    Air780EP是一款合宙低功耗LTECat1無線通信模組。 支持FDD-LTE/TDD-LTE的4G遠距離無線 傳輸技術。 另外,模組提供
    的頭像 發表于 09-02 16:47 ?1527次閱讀
    合宙<b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b><b class='flag-5'>Air780EP</b>——硬件設計01

    FTP應用看這篇!合宙Air780EP低功耗4G模組AT開發示例

    ? Air780EP是合宙的[低功耗4G模組]之一,支持全系列的AT指令以及LuatOS腳本二次開發。 本文應各位大佬邀請,詳細講解了
    的頭像 發表于 09-29 09:36 ?1754次閱讀
    FTP應用看這篇!合宙<b class='flag-5'>Air780EP</b><b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT<b class='flag-5'>開發</b>示例

    超實用!阿里云應用——Air780EP低功耗4G模組AT開發示例

    ? Air780EP是合宙推出的一款[低功耗4G全網通模組],兼容模組行業1618經典封裝,支持OpenCPU
    的頭像 發表于 10-08 09:55 ?1292次閱讀
    超實用!阿里云應用——<b class='flag-5'>Air780EP</b><b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT<b class='flag-5'>開發</b>示例

    Air780EP低功耗4G模組AT開發示例:阿里云應用篇

    ?Air780EP是合宙推出的一款[低功耗4G全網通模組],兼容模組行業1618經典封裝,支持OpenCPU
    的頭像 發表于 10-14 14:22 ?844次閱讀
    <b class='flag-5'>Air780EP</b><b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT<b class='flag-5'>開發</b>示例:阿里云應用篇

    Air780EP模塊AT開發-HTTP應用指南

    Air780EP模塊AT開發-HTTP應用指南
    的頭像 發表于 07-22 14:38 ?574次閱讀
    <b class='flag-5'>Air780EP</b>模塊AT<b class='flag-5'>開發</b>-<b class='flag-5'>HTTP</b>應用指南

    合宙低功耗4G模組Air780EP——產品規格書

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

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

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

    基站定位與Wi-Fi定位看這篇!合宙Air780EP低功耗4G模組AT開發示例

    ?Air780EP是合宙的[低功耗4G模組]之一,支持全系列的AT指令以及LuatOS腳本二次開發。 本文應各位大佬邀請,特別講解
    的頭像 發表于 09-25 07:26 ?430次閱讀
    基站定位與Wi-Fi定位看這篇!合宙<b class='flag-5'>Air780EP</b><b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT<b class='flag-5'>開發</b>示例

    RNDIS網卡應用看這篇!合宙Air780EP低功耗4G模組AT開發示例

    ?Air780EP是合宙的低功耗4G模組之一,支持全系列的AT指令以及LuatOS腳本二次開發。 本文應各位大佬邀請,特別講解
    的頭像 發表于 09-30 06:59 ?476次閱讀
    RNDIS網卡應用看這篇!合宙<b class='flag-5'>Air780EP</b><b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT<b class='flag-5'>開發</b>示例

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

    ? Air780EP是合宙推出的一款 低功耗4G全網通模組 ,兼容模組行業1618經典封裝,支持OpenCPU
    的頭像 發表于 10-07 20:36 ?288次閱讀
    <b class='flag-5'>Air780EP</b><b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>—AT<b class='flag-5'>開發</b>FOTA遠程升級

    MQTT應用:Air780EP低功耗4G模組AT開發

    本文應各位大佬邀請,詳細講解Air780EP模組MQTT應用的多個AT命令。
    的頭像 發表于 10-25 17:27 ?245次閱讀
    MQTT應用:<b class='flag-5'>Air780EP</b><b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT<b class='flag-5'>開發</b>

    Air780EP低功耗4G模組AT開發:阿里云應用

    Air780EP是合宙推出的一款低功耗4G全網通模組,兼容模組行業1618經典封裝,支持OpenCPU
    的頭像 發表于 10-25 17:28 ?202次閱讀
    <b class='flag-5'>Air780EP</b><b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT<b class='flag-5'>開發</b>:阿里云應用

    AT開發FOTA遠程升級:Air780EP低功耗4G模組

    ?針對客戶朋友的應用反饋,特編輯本篇文章:基于Air780EP模組AT開發的FOTA遠程升級指南。
    的頭像 發表于 10-25 17:31 ?274次閱讀
    AT<b class='flag-5'>開發</b>FOTA遠程升級:<b class='flag-5'>Air780EP</b><b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>

    低功耗4G模組Air780EP之fskv開發示例

    ?今天我們學習合宙低功耗4G模組Air780EP的fskv開發示例。 一、簡介 兼容fdb的函數 使用fdb的flash空間,啟用時也會替代
    的頭像 發表于 11-01 07:28 ?138次閱讀
    <b class='flag-5'>低功耗</b><b class='flag-5'>4G</b><b class='flag-5'>模組</b>:<b class='flag-5'>Air780EP</b>之fskv<b class='flag-5'>開發</b>示例