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

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

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

示例篇:4G模組AT指令之MQTT應(yīng)用!

合宙LuatOS ? 來源:合宙LuatOS ? 作者:合宙LuatOS ? 2024-11-12 11:56 ? 次閱讀

針對(duì)4G模組AT指令的MQTT應(yīng)用,我收集資料,做出示例,整理成文分享給大家,喜歡的可以收藏。

一、MQTT 協(xié)議簡介

1.1 MQTT 概述

MQTT 是一種輕量級(jí)的消息傳輸協(xié)議,旨在在物聯(lián)網(wǎng)IoT)應(yīng)用中實(shí)現(xiàn)設(shè)備間的可靠通信。它使用發(fā)布-訂閱模式,其中包括一個(gè) MQTT 服務(wù)端(代理或服務(wù)器)和多個(gè) MQTT 客戶端之間的通信。

MQTT 協(xié)議具有以下特點(diǎn):

輕量級(jí):MQTT 協(xié)議設(shè)計(jì)簡單,協(xié)議頭部開銷小,適用于資源受限的設(shè)備和網(wǎng)絡(luò)。

低帶寬消耗:MQTT 采用二進(jìn)制編碼,有效地利用網(wǎng)絡(luò)帶寬。

異步通信:客戶端可以隨時(shí)發(fā)布和訂閱消息,無需等待對(duì)方的響應(yīng)。

發(fā)布-訂閱模式:消息發(fā)布者將消息發(fā)布到特定的主題,而訂閱者則訂閱感興趣的主題。這種模式支持松耦合的通信和靈活的消息傳遞。

1.2 MQTT 協(xié)議中重要名詞

username用戶名,password 密碼,clientid 用戶標(biāo)識(shí),mqtt 可以通過前兩個(gè)參數(shù)保證連接的安全,通過 clientid 確保設(shè)備唯一性。

qos 消息質(zhì)量,分為 0,1,2 三個(gè)等級(jí),分別表示只發(fā)一次,至少收到一次和只收到一次,通過 qos 可以根據(jù)數(shù)據(jù)的重要性靈活選擇發(fā)送方式以節(jié)省帶寬和保證數(shù)據(jù)可靠。例如不重要的數(shù)據(jù)采集可使用 qos0 只發(fā)一次不關(guān)心服務(wù)器是否收到,重要的消息通過 qos1 確保能收到,付款信息危險(xiǎn)設(shè)備開關(guān)等場(chǎng)景使用 qos2 保證數(shù)據(jù)到達(dá)的同時(shí)且不重復(fù)。

host 主機(jī),port 端口,mqtt 需要連接的服務(wù)器參數(shù)。host 可以說 ip 或者域名。

topic 主題,根據(jù)主題區(qū)別消息類型和來源,主要用來分類數(shù)據(jù)。同時(shí) mqtt 是發(fā)布訂閱模型,topic 是發(fā)布和訂閱者通信的重要通道。

payload 消息內(nèi)容,發(fā)布和訂閱的具體數(shù)據(jù)。

retain 保留消息,保留消息是一條將保留標(biāo)志(retained flag)置為 true 的普通 MQTT 消息。broker 會(huì)針對(duì)主題依照 QoS 級(jí)別保留最后一條保留消息,當(dāng)訂閱者訂閱主題時(shí)會(huì)立即收到保留消息。broker 僅為每個(gè)主題保留一條保留消息。

二、本教程實(shí)現(xiàn)的功能概述

本文教你合宙 4G 模組使用 AT 命令連接 MQTT 服務(wù)器,實(shí)現(xiàn)模組和服務(wù)器之間數(shù)據(jù)的雙向傳輸!本教程實(shí)現(xiàn)的功能定義是:1、準(zhǔn)備一個(gè) MQTT 服務(wù)器;2、4G 模組插卡開機(jī)后,連接上 MQTT 服務(wù)器,訂閱一個(gè)消息/mqtt/pub;3、使用 MQTT 協(xié)議的 PC 工具(本篇演示時(shí)使用的是 mqttx),用工具連接 mqtt 服務(wù)器,同時(shí)訂閱消息/mqtt/sub;4、4G 模組向工具訂閱的消息/mqtt/sub 發(fā)布消息 data from 4G module,工具可以接收到并顯示出來;5、工具向 4G 模組訂閱的消息/mqtt/pub發(fā)布消息data from tcp server,模組可以接收到數(shù)據(jù)并通過串口輸出顯示6、演示加密 mqtt 通信流程7、演示專網(wǎng)卡和設(shè)置 apn 等特殊情況連接 mqtt 服務(wù)器

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

工欲善其事,必先利其器。在正式介紹本功能示例之前,需要先準(zhǔn)備好以下硬件環(huán)境。

3.1 Air780E開發(fā)板

使用的開發(fā)板是 Air780E 核心板,如下圖所示:

wKgZoWcy0BaAE-nyAATydpDdLnw205.png

此核心板的詳細(xì)使用說明參考:

https://docs.openluat.com/air780e/product/

此核心板的詳細(xì)使用說明參考:Air780E 產(chǎn)品手冊(cè)公用產(chǎn)品資料 - 模組資料中心 (openluat.com)中的 << 開發(fā)板 Core_Air780E 使用說明 VX.X.X.pdf>>,寫這篇文章時(shí)最新版本的使用說明為:20240419155721583_開發(fā)板Core_Air780E使用說明V1.0.5.pdf (vue2.cn);核心板使用過程中遇到任何問題,可以直接參考這份使用說明 pdf 文檔。

3.2 SIM

準(zhǔn)備一張可以上網(wǎng)的 SIM 卡,可以是物聯(lián)網(wǎng)卡,也可以是自己的手機(jī)卡;注意:SIM 卡不能欠費(fèi),可以正常上網(wǎng)!?。?/p>

3.3 PC電腦

準(zhǔn)備一臺(tái)電腦;注意:電腦有 USB 口,并且可以正常上網(wǎng)?。?!

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

準(zhǔn)備一根數(shù)據(jù)線,此數(shù)據(jù)線的作用是,連接 Air780E 開發(fā)板和 PC 電腦,通過 AT 命令完成業(yè)務(wù)邏輯的控制和交互;有兩種數(shù)據(jù)線可以使用,二選一即可;第一種數(shù)據(jù)線是 USB 數(shù)據(jù)線(連接 Air780E 開板的一段是 Type-C 接口),一般來說這種數(shù)據(jù)線如下圖所示:

wKgZomcy0DaAHLJ9AASHzfEd078205.png

普通的手機(jī) USB 數(shù)據(jù)線一般都可以直接使用;第二種數(shù)據(jù)線是 USB 轉(zhuǎn) TTL 串口線,一般來說這種數(shù)據(jù)線如下圖所示:

wKgaomcy0EGAM4kCAAnKq11DN0k968.png

在本教程中,使用的是第一種 USB 數(shù)據(jù)線。

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

按照 SIM 卡槽上的插入方向,插入 SIM 卡,注意不要插反!如下圖所示,將 SIM 卡用力推入卡槽,聽到咔嚓聲音后即可。

wKgZomcy0E6AK745ABBS_8BseQI104.png

wKgaomcy0FmAPVvMABbgxqBX5z8680.png

USB 數(shù)據(jù)線,連接電腦和 Air780E 開發(fā)板,如下圖所示

wKgaoWcy0GSAX0iHABCmUk7W4Zs526.png

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

在正式使用之前,需要安裝裝備好以下軟件。

4.1 Luatools 工具

要想燒錄 AT 固件到4G模組中,需要用到的調(diào)試工具:Luatools詳細(xì)使用說明參考:

Luatools 工具使用說明:
https://docs.openluat.com/Luatools/

4.2 AT 固件

4G 模組中必須燒錄正確的 AT 固件才能支持 AT 命令功能;通過 Luatools 可以燒錄 AT 固件;有兩種方式可以獲取到 Air780E 模組的最新 AT 固件,二選一即可。

第一種方式是通過 Luatools 獲?。?br /> 如下圖所示,可以直接選中最新版本的 AT 固件:

wKgZoWcy0HeAD5mtAAM5OuJJzHs600.png

第二種方式是訪問:

Air780E 固件版本,找到最新版本的固件即可。

4.3 合MQTT 測(cè)試服務(wù)器

為了方便測(cè)試,提供了免費(fèi)的不可商用的 MQTT 測(cè)試服務(wù)器;

wKgaoWcy0IaAboWwAADsW8wF9I4040.png

ssl 加密鏈接所需要的證書文件:mqttcerts.zip

4.4 PC 端串口工具

在量產(chǎn)的項(xiàng)目硬件設(shè)計(jì)中,一般都是由主控 MCU 通過 UART 給 4G 模組發(fā)送命令實(shí)現(xiàn)具體的業(yè)務(wù)邏輯;在本教程中,為了測(cè)試方便,沒有使用主控 MCU;而是使用了 PC 電腦上的一個(gè)串口工具 SSCOM 給 4G 模組發(fā)送命令來實(shí)現(xiàn)演示功能。

4.5 mqttx 工具下載

MQTTX 是一款功能強(qiáng)大的 MQTT 客戶端應(yīng)用,專為物聯(lián)網(wǎng) (IoT) 和消息傳遞設(shè)計(jì)。它提供了直觀的用戶界面,支持多種連接配置,方便用戶進(jìn)行設(shè)備的快速連接、消息發(fā)布與訂閱,以及數(shù)據(jù)監(jiān)控與管理。安裝教程可參考這篇文章:MQTTX 下載使用詳解

五、MQTT 相關(guān)指令

復(fù)制鏈接查看合宙4G模組MQTT指令:https://docs.openluat.com/air780e/at/app/at_command/#mqtt

六、使用方法舉例

6.1 確認(rèn)開發(fā)板正常開機(jī)并聯(lián)網(wǎng)正常

本次教程所用固件版本是 v1169,通過 luatools 燒錄過固件后可以通過打印來判斷設(shè)備情況,具體參考下圖:

wKgaoWcy0JmABSRkAAR-243myGI065.png

6.2 普通不帶證書使用流程舉例

下面演示及普通連接流程,并進(jìn)行收發(fā)測(cè)試。查看流程時(shí)需要注意指令后面注釋的內(nèi)容,有助于理解指令具體作用

wKgZoWcy0KeAW3SHAAPGyaE51gg074.png

wKgaoWcy0LiARqw_AANjbhfyjwo117.png

可以通過工具看到模組正常上報(bào)了數(shù)據(jù),服務(wù)器下發(fā)模組也能正常收到并通過串口打印出來:

wKgaoWcy0M-AaD0RAAJ6MNLZ8TE442.png

6.3 SSL 帶證書單向認(rèn)證流程舉例

MQTT 單向認(rèn)證加密是指,在 MQTT 通信中僅服務(wù)端驗(yàn)證客戶端身份,以此確保通信數(shù)據(jù)的安全傳輸。下面演示單向認(rèn)證加密連接的流程,并進(jìn)行收發(fā)測(cè)試本次測(cè)試需要準(zhǔn)備好單向認(rèn)證的加密證書,如果使用的是合宙測(cè)試服務(wù)器的話需要下載上面服務(wù)器信息除的加密證書文件。如圖所示:

wKgZomcy0NqAen7LAAG0hBdmJJI534.png

工具選擇加密端口,同時(shí)配置 ca 證書文件,具體如圖所示:

wKgaomcy0OWAdcRbAAHO97Ql0IM750.png

單向認(rèn)證測(cè)試流程如下:

wKgZomcy0PGAaUzzAAgxyZVtj-s434.png

wKgZomcy0QOASGYPAAhP-k6UMfI826.png

wKgZomcy0RCANXLbAAHF9tNoagM658.png

模組與服務(wù)器交互過程通過工具監(jiān)控如圖:

wKgaomcy0RmAROwSAAIOWObPYVE554.png

6.4 SSL 帶證書雙向認(rèn)證流程舉例

MQTT 協(xié)議雙向認(rèn)證加密是指客戶端和服務(wù)器在通信時(shí)都使用數(shù)字證書進(jìn)行身份驗(yàn)證,并使用 TLS 協(xié)議對(duì)通信數(shù)據(jù)進(jìn)行加密,確保數(shù)據(jù)的機(jī)密性和完整性。下面演示雙向認(rèn)證加密連接的流程,并進(jìn)行收發(fā)測(cè)試所需證書文件如圖所示:

wKgZomcy0SmAJZlQAAIw-T6JJDw010.png

工具配置加密證書如圖:

wKgZomcy0UqAFvDWAAGJDhqQDVY847.png

雙向認(rèn)證測(cè)試流程:

wKgaomcy0VmAMwZoAAwgnGcNzZM165.png

wKgZoWcy0WuAThkUAAvX16uvvhY786.png

wKgZomcy0Y2AIS84AAxWg2Lt_mk287.png

wKgaomcy0Z2AYvMpAAcFMZAZOk0453.png

wKgZoWcy0amASHAIAAIFsXJC628937.png

交互日志如下:

wKgaoWcy0bOAVvzWAAHPQEda_Z0018.png

七、APN 設(shè)置與專網(wǎng)卡

用戶根據(jù)自己使用的網(wǎng)絡(luò)類型來區(qū)分,sim 卡可以分為公網(wǎng)卡和專網(wǎng)卡兩種;對(duì)于如何判斷自己手里的 sim 卡是公網(wǎng)卡還是專網(wǎng)卡可以通過下面兩種辦法區(qū)分:

咨詢sim卡供應(yīng)商;

如果有apn賬號(hào)、或者有密碼、或者有加密類型,則可以認(rèn)為是專網(wǎng)卡。

對(duì)于公網(wǎng)卡和專網(wǎng)卡設(shè)置和查詢有不同的指令,合宙 780E 4G 模組設(shè)置和查詢 APN 相關(guān)指令可以參考下圖:

wKgaomcy0cGAAjITAAM2Lbzfu3o532.png

APN 及專網(wǎng)卡常見問題1、模塊如何設(shè)置 APN

1)如果是公網(wǎng)SIM卡,不需要用戶主動(dòng)設(shè)置APN,軟件自動(dòng)去網(wǎng)絡(luò)端查詢APN進(jìn)行設(shè)置。

2)如果是專網(wǎng)SIM卡,首先咨詢SIM卡提供商APN參數(shù),然后通過AT+CPNETAPN=mode,“apnname”,“user”,“pwd”,authmoded進(jìn)行專網(wǎng)卡的參數(shù)設(shè)置。

2、專網(wǎng)卡連接服務(wù)器失敗

1)有的專網(wǎng)卡沒設(shè)置APN的情況下也能激活PDP,但是不能連專網(wǎng)卡指定的服務(wù)器,或者開機(jī)后模塊沒自動(dòng)激活PDP,這個(gè)時(shí)候參考1,檢查APN參數(shù)是否設(shè)置正確。

2)如果有其他廠家的模塊,對(duì)比測(cè)試下是否連接正常。

3)如果無法百分百保證服務(wù)器配置沒問題,最好在服務(wù)器端用wireshark抓包,或者在服務(wù)器上安裝一個(gè)第三方工具,開啟一個(gè)服務(wù)器端口來對(duì)比測(cè)試。

4)用定向Ip的物聯(lián)網(wǎng)卡,需要把域名或IP加入白名單才能使用。

3、專網(wǎng)卡訪問白名單 用定向 IP 的物聯(lián)網(wǎng)卡,需要把域名或 IP 加入白名單才能使用,下面列出模塊會(huì)訪問的域名或 IP 服務(wù)器。

wKgaoWcy0dCAea7xAAM4OF3jnsU611.png

八、常見問題和注意事項(xiàng)

8.1 注意事項(xiàng)

1、發(fā)送 MIPSTART 命令后,收到 OK 僅僅表示 4G 模塊開始處理這條命令,并不表示 TCP 已經(jīng)連接成功;只有收到 CONNECT OK 才是成功的應(yīng)答;2、發(fā)送 MCONNECT 命令后,收到 OK 僅僅表示 4G 模塊開始處理這條命令,并不表示 MQTT 已經(jīng)連接成功;只有收到 CONNACK OK 才是成功的應(yīng)答;3、發(fā)送 MSUB 命令后,收到 OK 僅僅表示 4G 模塊開始處理這條命令,并不表示 MQTT 已經(jīng)訂閱成功;只有收到 SUBACK 才是成功的應(yīng)答;4、發(fā)送 MPUB 命令后,如果 QOS 不是 0,則收到 OK 僅僅表示 4G 模塊開始處理這條命令,并不表示 MQTT 已經(jīng)發(fā)布成功;只有收到 PUBACK(QOS 為 1 時(shí))或者 PUBCOMP(QOS 為 2 時(shí))才是成功的應(yīng)答;

8.2 常見問題

1、780E 支持的 MQTT 版本

MQTT3.1.1

2、連接服務(wù)器失敗

1、檢查下模塊信號(hào)、網(wǎng)絡(luò)注冊(cè)、網(wǎng)絡(luò)附著、PDP激活狀態(tài)。

2、檢查下SIM卡是否欠費(fèi)【4G模塊有一種欠費(fèi)表現(xiàn):無法注冊(cè)4G網(wǎng)絡(luò),可以注冊(cè)2G網(wǎng)絡(luò)】。

3、使用mqtt.fx,連接服務(wù)器確認(rèn)一下是否可以連接成功,排除服務(wù)器故障。

4、部分國外的開源項(xiàng)目提供免費(fèi)的MQTT代理服務(wù)器,因?yàn)榫W(wǎng)絡(luò)的原因,國內(nèi)存在嚴(yán)重的延遲或者丟包現(xiàn)象,導(dǎo)致程序運(yùn)行出現(xiàn)問題。

5、確認(rèn)是不是域名解析失敗導(dǎo)致,可以通過AT+CDNSGIP=確認(rèn)一下域名是否能正常解析(注意:該命令只有在執(zhí)行完at+cstt、at+ciicr、at+cifsr后才能正常工作),不能正常解析,可以通過AT+CDNSCFG=ip1,ip2設(shè)置域名解析服務(wù)器。

6、在 MIPSTART /SSLMIPSTART返 回 CONNECT OK后 才 能 發(fā) MCONNECT命令,而且要立即發(fā),否則會(huì)被服務(wù)器踢掉。

3、頻繁掉線是什么原因

1、檢查下是否存在代碼邏輯錯(cuò)誤,導(dǎo)致異常。

2、檢查下是否不斷重啟,導(dǎo)致異常。

3、檢查下服務(wù)器網(wǎng)絡(luò)是否穩(wěn)定,不要用內(nèi)網(wǎng)穿透方式搭建服務(wù)器。

4、檢查下使用環(huán)境是否網(wǎng)絡(luò)覆蓋不好,例如車庫、地下、電梯、山區(qū)等。

5、檢查下模塊信號(hào)、網(wǎng)絡(luò)注冊(cè)、網(wǎng)絡(luò)附著、PDP激活狀態(tài)。

6、排查是否為設(shè)備天線問題:發(fā)出來設(shè)備的天線調(diào)試指標(biāo)參數(shù)給合宙技術(shù)支持人員;曾經(jīng)有一個(gè)客戶天線指標(biāo)明顯有問題,導(dǎo)致10幾個(gè)小時(shí)出現(xiàn)30次左右掉線;后來重新調(diào)試天線之后,40個(gè)小時(shí)出現(xiàn)幾次掉線。7、如果經(jīng)常出現(xiàn)連接被動(dòng)斷開:

1) 檢查下mqtt keep alive的時(shí)間,一般建議使用2分鐘【如果每2分鐘內(nèi)都有應(yīng)用數(shù)據(jù)收發(fā),則可以把mqtt keep alive的時(shí)間設(shè)置的長一點(diǎn)兒】,除非有強(qiáng)制要求,否則不能太長,也不能太短。不建議超過4分鐘,基站策略會(huì)關(guān)閉長時(shí)間沒有數(shù)據(jù)傳輸?shù)倪B接,太長時(shí)間可能會(huì)導(dǎo)致連接被基站關(guān)閉;不建議少于1分鐘,太短時(shí)間可能會(huì)因?yàn)榫W(wǎng)絡(luò)環(huán)境波動(dòng)導(dǎo)致上行數(shù)據(jù)發(fā)送超時(shí),可能超過1.5倍的心跳時(shí)間,從而被服務(wù)器主動(dòng)斷開連接。

2) 檢查下是否在1.5倍的mqtt keep alive的時(shí)間,沒有成功發(fā)送數(shù)據(jù)到服務(wù)器,就會(huì)被被服務(wù)器主動(dòng)斷開,這種情況一般都是發(fā)送數(shù)據(jù)超時(shí)引起的。

8、如果要降低掉線率,可通過如下方式設(shè)置【注意:在網(wǎng)絡(luò)環(huán)境不變的情況下,降低掉線率意味著會(huì)增加響應(yīng)延時(shí)】A. mqtt keep alive的時(shí)間,一般建議使用2分鐘【如果每2分鐘內(nèi)都有應(yīng)用數(shù)據(jù)收發(fā),則可以把mqtt keep alive的時(shí)間設(shè)置的長一點(diǎn)兒】,除非有強(qiáng)制要求,否則不能太長,也不能太短。不建議超過4分鐘,基站策略會(huì)關(guān)閉長時(shí)間沒有數(shù)據(jù)傳輸?shù)倪B接,太長時(shí)間可能會(huì)導(dǎo)致連接被基站關(guān)閉;不建議少于1分鐘,太短時(shí)間可能會(huì)因?yàn)榫W(wǎng)絡(luò)環(huán)境波動(dòng)導(dǎo)致上行數(shù)據(jù)發(fā)送超時(shí),可能超過1.5倍的心跳時(shí)間,從而被服務(wù)器主動(dòng)斷開連接。

B. 減少Q(mào)os1和Qos2的publish使用,允許的話建議都使用Qos0。

4、有沒有認(rèn)證機(jī)制

有,每個(gè)設(shè)備有clientid、username、password。

5、client id 是否允許重復(fù)

不允許重復(fù),重復(fù)的話,服務(wù)器會(huì)踢掉上一個(gè)相同id的設(shè)備。

6、Qos0、1、2 如何選擇

應(yīng)用允許的情況下,建議使用Qos0,Qos1和Qos2會(huì)加重網(wǎng)絡(luò)負(fù)擔(dān),在網(wǎng)絡(luò)擁堵和較差的情況下,數(shù)據(jù)傳輸?shù)拇螖?shù)越多,掉線的概率就會(huì)越高。

7、是否支持 ssl

支持證書配置,支持單向認(rèn)證和雙向認(rèn)證

支持如下六種加密套件:

0X0035 TLS_RSA_WITH_AES_256_CBC_SHA

0X002F TLS_RSA_WITH_AES_128_CBC_SHA

0X0005 TLS_RSA_WITH_RC4_128_SHA

0X0004 TLS_RSA_WITH_RC4_128_MD5

0X000A TLS_RSA_WITH_3DES_EDE_CBC_SHA

0X003D TLS_RSA_WITH_AES_256_CBC_SHA256

8、MQTT SSL 如何使用

參考上面流程或者翻閱AT手冊(cè),如果SSL的參數(shù)配置不變,則每次開機(jī)運(yùn)行過程中,僅設(shè)置一次即可

9、為什么 mqtt ssl 訪問失敗

1、檢查服務(wù)器是否支持模塊支持的加密套件。

2、發(fā)日志文件給合宙技術(shù)支持人員分析。

10、MQTT 支持多連接嗎

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

11、MQTT 的遺囑如何使用

通過AT+MCONFIG命令可以設(shè)置遺囑的qos、retain標(biāo)志、topic、payload;在如下幾種(包含但是又不僅限于如下情況)情況下,服務(wù)器會(huì)主動(dòng)發(fā)布遺囑消息到訂閱的客戶端:1、模塊和服務(wù)器通信異常(例如模塊突然關(guān)機(jī)、模塊進(jìn)入了一個(gè)沒有網(wǎng)絡(luò)信號(hào)的環(huán)境等)超過1.5倍(一般是1.5倍,但不排除服務(wù)器可以修改這個(gè)時(shí)間)的 keep alive時(shí)間(可以通過AT+MCONNECT設(shè)置keep alive時(shí)間)。2、模塊主動(dòng)執(zhí)行AT+MDISCONNECT或者AT+MIPCLOSE。

12、MPUB 命令中,payload 包含"如何發(fā)送?

1、消息中內(nèi)嵌的雙引號(hào)請(qǐng)用22 表達(dá);控制字符回車r(0x0D) 請(qǐng)用D 表達(dá);;控制字符換行n(0x0A )請(qǐng)用A 表達(dá) ;控制字符反斜杠 (0x5C ) 請(qǐng)用5C表達(dá)。2、如果是 MCU 發(fā)消息,可能需要用\22 ,\0D ,\0A ,\5C 來表達(dá),即 需要轉(zhuǎn)義成\ 。

13、重試多次 PDP,MQTT 應(yīng)用一直連接失敗

如果重試多次PDP激活,PDP一直激活失敗,或者M(jìn)QTT一直連接失敗,則嘗試使用如下手段恢復(fù):1、使用RESET引腳復(fù)位模塊。2、極端情況下,直接給模塊斷電,再上電,POWER KEY引腳拉低開機(jī)。

14、數(shù)據(jù)接收緩存問題

可通過AT+MQTTMSGSET命令設(shè)置是否緩存,詳情參考AT手冊(cè)。1、不緩存:通過AT+MQTTMSGSET=0設(shè)置;收到訂閱的publish報(bào)文后,立即通過AT口輸出主題、payload長度、payload內(nèi)容,每個(gè)報(bào)文中支持的payload內(nèi)容最長1360字節(jié)。2、內(nèi)存緩存:通過AT+MQTTMSGSET=1設(shè)置;內(nèi)存中有一個(gè)緩存表,最多支持緩存4條publish報(bào)文;收到訂閱的publish報(bào)文后,插入緩沖表中的空閑位置,然后通過AT口輸出存儲(chǔ)位置;緩存表滿之后,新收到的publish報(bào)文會(huì)覆蓋最舊的publish報(bào)文。

注意:緩存表位于內(nèi)存中,斷電或者重啟后,緩存表中的數(shù)據(jù)會(huì)被清空;建議收到數(shù)據(jù)時(shí),通過AT+MQTTMSGGET及時(shí)讀取出來,以防緩沖區(qū)滿覆蓋丟失數(shù)據(jù)。

15、數(shù)據(jù)發(fā)送問題

AT+MPUB最大publish 2384字節(jié),AT+MPUBEX長度取值范圍1-4100。

分享完畢

審核編輯 黃宇

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

    關(guān)注

    15

    文章

    5499

    瀏覽量

    118734
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2902

    文章

    44132

    瀏覽量

    370474
  • 模組
    +關(guān)注

    關(guān)注

    6

    文章

    1416

    瀏覽量

    30245
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    648

    瀏覽量

    22393
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    實(shí)例 4G模組軟件json數(shù)據(jù)處理!

    今天我會(huì)把4G模組軟件的json數(shù)據(jù)處理整理成文,以低功耗模組Air780E為例,一一展示出來:
    的頭像 發(fā)表于 11-12 12:17 ?27次閱讀

    示例 關(guān)于4G模組的模塊信息!

    今天我會(huì)把4G模組的模塊信息做出詳細(xì)介紹,做出示例,展示給大家,如果覺得有用的話請(qǐng)點(diǎn)贊收藏。
    的頭像 發(fā)表于 11-12 12:07 ?36次閱讀
    <b class='flag-5'>示例</b><b class='flag-5'>篇</b>  關(guān)于<b class='flag-5'>4G</b><b class='flag-5'>模組</b>的模塊信息!

    MQTT協(xié)議深度應(yīng)用:Air780E模組AT指令的創(chuàng)新實(shí)踐

    今天我講解的是關(guān)于4G模組AT指令MQTT應(yīng)用,有興趣的朋友可以閱讀本文深度學(xué)習(xí)。
    的頭像 發(fā)表于 11-11 09:30 ?592次閱讀
    <b class='flag-5'>MQTT</b>協(xié)議深度應(yīng)用:Air780E<b class='flag-5'>模組</b>AT<b class='flag-5'>指令</b>的創(chuàng)新實(shí)踐

    4G模組UDP應(yīng)用的最佳實(shí)踐!

    今天說的是4G模組UDP應(yīng)用,展示最佳實(shí)踐,送你參考。
    的頭像 發(fā)表于 11-08 09:24 ?138次閱讀
    <b class='flag-5'>4G</b><b class='flag-5'>模組</b><b class='flag-5'>之</b>UDP應(yīng)用的最佳實(shí)踐!

    Air780E模組AT指令下的MQTT應(yīng)用:技術(shù)指南

    今天我要講的是Air780E模組AT指令下的MQTT應(yīng)用,希望對(duì)大家有所幫助。
    的頭像 發(fā)表于 11-07 14:02 ?154次閱讀
    Air780E<b class='flag-5'>模組</b>AT<b class='flag-5'>指令</b>下的<b class='flag-5'>MQTT</b>應(yīng)用:技術(shù)指南

    低功耗4G模組:Air780EPfskv開發(fā)示例

    ?今天我們學(xué)習(xí)合宙低功耗4G模組Air780EP的fskv開發(fā)示例。 一、簡介 兼容fdb的函數(shù) 使用fdb的flash空間,啟用時(shí)也會(huì)替代fdb庫 功能上與EEPROM是類似的 fskv與fdb
    的頭像 發(fā)表于 11-01 07:28 ?114次閱讀
    低功耗<b class='flag-5'>4G</b><b class='flag-5'>模組</b>:Air780EP<b class='flag-5'>之</b>fskv開發(fā)<b class='flag-5'>示例</b>

    白嫖4G 模組 MQTT 通信功能!

    今天我們白嫖的是4G 模組 MQTT 通信功能!以AIR708E開發(fā)板為例 從MQTT介紹,演示功能概述,準(zhǔn)備硬件環(huán)境,準(zhǔn)備軟件環(huán)境,代碼示例
    的頭像 發(fā)表于 10-30 14:53 ?788次閱讀
    白嫖<b class='flag-5'>篇</b>:<b class='flag-5'>4G</b> <b class='flag-5'>模組</b> <b class='flag-5'>MQTT</b> 通信功能!

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

    本文應(yīng)各位大佬邀請(qǐng),詳細(xì)講解Air780EP模組MQTT應(yīng)用的多個(gè)AT命令。
    的頭像 發(fā)表于 10-25 17:27 ?199次閱讀
    <b class='flag-5'>MQTT</b>應(yīng)用:Air780EP低功耗<b class='flag-5'>4G</b><b class='flag-5'>模組</b>AT開發(fā)

    ML307A 4G模組硬件設(shè)計(jì)手冊(cè)

    基于ML307A ?4G模組的硬件設(shè)計(jì)指導(dǎo)手冊(cè)
    發(fā)表于 10-24 16:50 ?0次下載

    日志模組日志總體介紹

    的各種故障進(jìn)行分析。 二、4G模組日志的幾種類型界 4G 模組的日志有兩種類型: 業(yè)務(wù)日志和底層日志。業(yè)務(wù)日志是指在用模組的客戶代碼輸出的日
    的頭像 發(fā)表于 10-24 07:16 ?129次閱讀
    日志<b class='flag-5'>篇</b>:<b class='flag-5'>模組</b>日志總體介紹

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

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

    RNDIS網(wǎng)卡應(yīng)用看這篇!合宙Air780EP低功耗4G模組AT開發(fā)示例

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

    FTP應(yīng)用看這篇!合宙Air780EP低功耗4G模組AT開發(fā)示例

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

    ESP32S2 WROVER在使用AT指令獲取4G模組時(shí),dte會(huì)報(bào)超時(shí)怎么解決?

    模組:ESP32 S2 WROVER 4G模組:合宙Air724UG 在使用AT指令獲取4G模組
    發(fā)表于 06-27 06:54

    [天拓四方]4G MQTT網(wǎng)關(guān)在物聯(lián)網(wǎng)應(yīng)用中的優(yōu)勢(shì)探討

    ,因其高效、可靠、簡單的特性,在物聯(lián)網(wǎng)領(lǐng)域得到了廣泛的應(yīng)用。而4G MQTT網(wǎng)關(guān),作為連接物聯(lián)網(wǎng)設(shè)備和MQTT服務(wù)器的橋梁,其在物聯(lián)網(wǎng)應(yīng)用中的作用愈發(fā)凸顯。本文將探討4G
    的頭像 發(fā)表于 05-28 17:22 ?440次閱讀