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這個新的模塊來進行訪問控