emqtt 試用(三)mqtt 知識


一、概念

MQTT 協議客戶端庫: https://github.com/mqtt/mqtt.github.io/wiki/libraries

 例如,mosquitto_sub/pub 命令行發布訂閱消息:

mosquitto_sub -t topic -q 2 mosquitto_pub -t topic -q 1 -m "Hello, MQTT!" 

MQTT V3.1.1 版本協議規范: http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html

二、發布訂閱模式

三、客戶端監聽設置

HTTP 發布接口

EMQ 消息服務器提供了一個 HTTP 發布接口,應用服務器或 Web 服務器可通過該接口發布 MQTT 消息:

HTTP POST http://host:8080/mqtt/publish 

Web 服務器例如 PHP/Java/Python/NodeJS 或 Ruby on Rails,可通過 HTTP POST 請求發布 MQTT 消息:

curl -v --basic -u user:passwd -d "qos=1&retain=0&topic=/a/b/c&message=hello from http..." -k http://localhost:8080/mqtt/publish

HTTP 接口參數:

參數 說明
client MQTT 客戶端 ID
qos QoS: 0 | 1 | 2
retain Retain: 0 | 1
topic 主題(Topic)
message 消息

注解

HTTP 發布接口采用 Basic 認證

注解

該接口在 v2.3-beta.2 版本變更為: ‘api/v2/mqtt/publish’, 詳見文檔: 管理監控API (REST API)

MQTT WebSocket 連接

EMQ 消息服務器支持 MQTT WebSocket 連接,Web 瀏覽器可直接通過 MQTT 協議連接服務器:

WebSocket URI: ws(s)://host:8083/mqtt
Sec-WebSocket-Protocol: ‘mqttv3.1’ or ‘mqttv3.1.1’

Dashboard 插件提供了一個 MQTT WebSocket 連接的測試頁面:

http://127.0.0.1:18083/websocket.html 

EMQ 通過內嵌的 HTTP 服務器,實現 MQTT/WebSocket,etc/emq.conf 設置:

## MQTT/WebSocket Listener
listener.ws.external = 8083 listener.ws.external.acceptors = 4 listener.ws.external.max_clients = 64


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM