1. 程式人生 > >AT指令進行MQTT協議通訊

AT指令進行MQTT協議通訊

        M0M1系列模組,經過1年多的演化後,已存在多套標準的韌體程式。如果使用者需要使用MQTT方式進行通訊,則需要選擇標準AT指令+MQTT的版本。此版本不僅可以支援標準AT指令的SOCKET通訊,還可以支援阿里雲物聯網套件。本文將著重介紹標準MQTT伺服器的連線與通訊。同時,我們的模組可以支援多達10個訂閱號,是目前市場上支援最多訂閱號的AT模組!

        在使用MQTT方式進行通訊時,我們需要知道一點,MQTT的通訊在目前這套韌體中,只支援接收MQTT主動串列埠的輸出方式。所以必須設定模組為狀態輸出開啟,此時模組會通過串列埠提示MQTT伺服器是否連線成功以及斷開的訊息,並且提示接收到的資料。注意,在這種狀態下MQTT斷開後會自動重新進行連線,如果再次連線成功,使用者需要重新進行訂閱號的訂閱。

一、MQTT連線:

1. 開啟模組收到網路資料自動輸出功能:

AT+STATUS=on

功能:開啟/關閉模組狀態輸出功能

查詢指令格式:

AT+STATUS<CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:參考說明

設定指令格式:

AT+STATUS=<status><CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

status:狀態輸出方式

    on:開啟狀態輸出

    off:關閉狀態輸出

2. 設定登入一個賬號為:Mylinks,密碼為:TESTMQTT的MQTT伺服器

AT+MUSER=Mylinks,TESTMQTT

功能:設定/查詢 MQTT的登入使用者名稱和密碼

查詢指令格式:

AT+MUSER<CR><LF>

響應:

+ok=<user,password><CR><LF><CR><LF>

引數:請參考設定引數

設定指令格式:

AT+MUSER=<mode><CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

user:MQTT伺服器登入賬號

password:MQTT伺服器登入密碼

3. 設定一個主題為WILL,訊息為mywill的遺願訊息will message

AT+WILL=WILL,mywill

功能:設定/查詢 WIFI 操作模式(AP/STA/APSTA),重啟後設置生效

查詢指令格式:

AT+WILL<CR><LF>

響應:

+ok=<theme,massage><CR><LF><CR><LF>

引數:請參考設定引數

設定指令格式:

AT+WILL=<theme,message><CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

theme:遺願訊息主題

massage:遺願訊息內容

4. 設定一個內容為client123456的CLIENT ID

AT+MCID=client123456

功能:設定/查詢 MQTT的CLIENT ID

查詢指令格式:

AT+MCID<CR><LF>

響應:

+ok=<client id><CR><LF><CR><LF>

引數:請參考設定引數

設定指令格式:

AT+MCID=<client id><CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

client id:mqtt的client id

5. 設定一個內容為keepalive的數值,預設為60秒

AT+MKEEP=120

功能:設定/查詢 MQTT的keepalive

查詢指令格式:

AT+MKEEP<CR><LF>

響應:

+ok=<time><CR><LF><CR><LF>

引數:請參考設定引數

設定指令格式:

AT+MKEEP=<time><CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

time:mqtt的keepalive的時間

注:此功能在031版本以後才有增加。

6. 連線域名為app.mqlinks.com,埠為1883的的MQTT伺服器

AT+MSOCK=1883,app.mqlinks.com

功能:設定/查詢 MQTT伺服器的域名(或者IP地址)和埠號

查詢指令格式:

AT+MSOCK<CR><LF>

響應:

+ok=<port,ip><CR><LF><CR><LF>

引數:請參考設定引數

設定指令格式:

AT+MSOCK=<port,ip><CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

port:MQTT伺服器的埠號

ip:MQTT伺服器的IP地址或者域名

注:完成以上步驟後,模組開始連線MQTT伺服器,當連線成功後,會出現+MQTT:OK,則連線伺服器成功!當出現+MQTT:FAIL時,則說明從MQTT斷開。如果需要連線阿里雲物聯網套件,只需要將上述步驟改為《勱領M0M1系列WIFI模組——AT指令連線阿里雲物聯網套件》文中內容即可。

二、MQTT通訊功能:

1. 訂閱一個QOS等級為1,主題為test001的訂閱號:

AT+MSUB=QOS1,test001

功能:設定訂閱號和QOS等級

設定指令格式:

AT+MSUB=<qos,sub><CR>

響應:

+ok=<CR><LF><CR><LF>

引數:

qos:取值為QOS0,QOS1,QOS2

sub:主題號

注意:當訂閱的主題號重複時,會提示錯誤!訂閱號總數為10個。
 

2. 釋出一個QOS等級為1,主題為test002,內容為hello world的釋出號:

AT+MPUB=QOS1,11,test002

>hello world

+ok=11

功能:釋出一個數據

指令格式:

AT+MPUB=<qos,len,pub><CR>

響應:

>

+ok=len<CR><LF><CR><LF>

引數:

qos:取值為QOS0,QOS1,QOS2

len:訊息內容的資料長度

pub:釋出號的主題

說明:指令接收成功後,模組會先返回>用於提示接收資料,此時串列埠等於接收3秒,此時輸入串列埠資料等於len或者兩位元組之間超時10ms以上,則串列埠資料自動截斷髮送。
 

3. MQTT資料接收:

當模組接從伺服器接收到訂閱的資料內容,則會主動輸出格式為+MQD,len,sub,data的串列埠資料,如收到:

+MQD,11,test001,how are you,則收到的訂閱號為test001,訊息內容長度為11,內容為how are you

三、MQTT其它指令

1. 取消一個訂閱號:

AT+MUSU=test001

功能:取消訂閱號

指令格式:

AT+MUSU=<sub><CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

sub:訂閱的主題

說明:只有之前訂閱過的主題,才可以使用此命令並提示成功

2.關閉MQTT伺服器連線

AT+MCLOSE

功能:關閉與MQTT伺服器的連線

查詢指令格式:

AT+MCLOSE<CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:無

如果遇到模組使用上的問題,可以進群號為519630819的QQ群進行交流。

相關產品,請關注:shop.mqlinks.com

相關推薦

AT指令進行MQTT協議通訊

        M0M1系列模組,經過1年多的演化後,已存在多套標準的韌體程式。如果使用者需要使用MQTT方式進行通訊,則需要選擇標準AT指令+MQTT的版本。此版本不僅可以支援標準AT指令的SOCKET通訊,還可以支援阿里雲物聯網套件。本文將著重介紹標準MQTT伺服器的連線

使用 AT 指令進行 Socket 通訊

BC26 支援使用 Socket 進行 TCP 和 UDP 協議通訊,這兩個協議也是 BC26 支援的眾多通訊協議的基礎。本文講解如何使用這兩個協議與伺服器端進行通訊。在學習這篇文章前,請首先使用AT+CPSMS=0指令將節電模式(PSM)關閉。否則每隔十來秒,MCU 就進入休眠狀態,讓你不得不重啟評估板,相

FPGA作為從機與STM32進行SPI協議通訊---Verilog實現 [轉]

一.SPI協議簡要介紹 SPI,是英語Serial Peripheral Interface的縮寫,顧名思義就是序列外圍裝置介面。SPI,是一種高速的,全雙工,同步的通訊匯流排,並且在晶片的管腳上只佔用四根線,節約了晶片的管腳,同時為PCB的佈局上節省空間,提供方便,正

AT指令進行HTTP互動

        超文字傳輸協議(HTTP,HyperText Transfer Protocol)是網際網路上應用最為廣泛的一種網路協議。所有的WWW檔案都必須遵守這個標準。設計HTTP最初的目的是為了提供一種釋出和接收HTML頁面的方法。使用者通過M0M1系列的模組可使用2

esp8266用mqtt協議通訊

之前用esp8266做的東西是通過tcp連線來和伺服器端通訊的,伺服器端需要自己管理所有的連線,每個連線要做心跳包,還要考慮通訊訊息的可靠性。偶然看到了mqtt協議,發現可以拿來用。 安裝MQTT客戶端 下載客戶端連線 把下載好檔案解

FPGA作為從機與STM32進行SPI協議通訊---Verilog實現

FPGA作為從機與STM32進行SPI協議通訊—Verilog實現 0 一.SPI協議簡要介紹 SPI,是英語Serial Peripheral Interface的縮寫,顧名思義就是序列外圍裝置介面。SPI,是一種高速的,全雙工,同步的通訊匯流排,並且在

【物聯網雲端對接-4】通過MQTT協議與百度雲進行雲端通訊

百度雲的天工物聯網服務目前包括:物接入、物解析、物管理、時序資料庫和規則引擎等5大部分,本篇文章僅介紹物接入。天工物聯網的物接入,從開發者的角度來說相對有些複雜,需要多步操作才能實現一個雲裝置的建立,下面我們將詳細介紹一下相關的步驟:第一步:建立例項(類似工程中的專案概念)支

【ESP8266】、ESP8266通訊使用的AT指令

可用 本地ip border station 查詢參數 pcl 內部 執行 通訊 一、AT指令介紹   AT(Attention), AT指令一般應用於終端設備和PC應用之間建立連接。通過AT指令來控制。 二、常用AT指令   AT指令主要分為: 基礎AT指令,WIFI功能

【物聯網雲端對接-4】通過MQTT協議與百度雲進行雲端通信

src 發布 訂閱 操作 websocket 編寫 通用 頁面 開發 百度雲的天工物聯網服務目前包括:物接入、物解析、物管理、時序數據庫和規則引擎等5大部分,本篇文章僅介紹物接入。 天工物聯網的物接入,從開發者的角度來說相對有些復雜,需要多步操作才能實現一個雲設備的創建,

iOS開發之使用MQTT協議實現遠程通訊

lis height msg PE contex 特性 AC eva http p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px "PingFang SC" } p.p2 { margin: 0.0px 0.0px 0

mqtt協議實現即時通訊-activemq nginx.支援JS,JAVA,微信小程式

MQTT協議通訊   簡述:            使用MQTT協議實現後臺推送、及時通訊等功能。本案例實現了web-js端、微信小程式端、Java client端、Java serv

使用nodeMCU平臺mqtt協議實現物聯網通訊

國外有個哥們已經寫了一份如何使用nodeMCU平臺玩轉mqtt協議(連結請看附錄),我覺得大部分寫的已經算很清楚,不過有些點,沒提到,我碰了很多次壁,所以呢,我就基於他的文章,加上一些補充。 前言 nodeMCU, MQTT是什麼,本文就不做詳細介紹了。 一個最常見的物

andoid 串列埠通訊發射AT指令

  1:下載 android_serialport_api 原始碼 提取如下程式碼,新增到自己的程式碼 實現  cm10_2v16:/ # busybox stty -F /dev/ttyS1 ispeed 9600 ospeed 9600 cs8 cm10_2v16

廈門才茂CM6200通訊模組 AT指令如下

廈門才茂提供的CM6200是一款簡訊開發模組,俗稱簡訊貓; 廈門才茂技術人員提供了兩個軟體 串列埠工具是純AT指令的! 串列埠號是從這裡看的!(前提是電腦上面查插上了CM 6200簡訊模組) 裝置管理器-埠-COM3;  預設的波特率是115200

利用boost庫網路通訊協議進行串列埠通訊的問題

菜狗玩ROS最近遇到一個問題,叫做error: stray ‘\200’ in program,除錯多次發現是因為貼上網頁程式碼,導致帶有中文字元,將報錯的一行程式碼前的空格刪除再調整格式,便可以通過編譯。 然而問題又來啦,執行生成的讀取串列埠的節點時,遇到這樣一個問題:

基於MQTT協議進行應用開發

來自:http://www.cnblogs.com/secondtononewe/p/6073089.html 官方協議有句如下的話來形容MQTT的設計思想: “It is designed for connections with remote locations

一個串列埠通訊程式,適用於3g模組傳送簡單AT指令

原始碼如下: #include <stdio.h> #include <string.h> #include <sys/types.h> #include <errno.h> #include <sys

基於MicroPython結合ESP8266模組實現TCP通訊AT指令版)

轉載請註明文章來源,更多教程可自助參考docs.tpyboard.com,QQ技術交流群:157816561,公眾號:MicroPython玩家匯  實驗目的 - 學習ESP8266模組(ESP-01)的使用。 - 進一步學習TPYBoardv10x中UART模組的使用。 - 結合ESP-01

Mqtt協議IOS端移植2

and cat otto client end abi 本地 top 解析 MqttFramework.h #import <Foundation/Foundation.h> #import "MQTTClient.h" #import "Busines

Apache2.4使用require指令進行訪問控制–允許或限制IP訪問/通過User-Agent禁止不友好網絡爬蟲

被拒絕 pid apach res 禁止 阻止 加載 -s case 從Apache2.2升級到Apache2.4後,發現原來用來限制部分IP和垃圾網絡爬蟲的訪問控制規則不起作用,查詢後才發現,Apache2.4中開始使用mod_authz_host這個新的模塊來進行訪問控