MQTT 協議客戶端庫: https://github.com/mqtt/mqtt.github.io/wiki/librarieshtml
例如,mosquitto_sub/pub 命令行發佈訂閱消息:git
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.htmlgithub
EMQ 消息服務器提供了一個 HTTP 發佈接口,應用服務器或 Web 服務器可經過該接口發佈 MQTT 消息:web
HTTP POST http://host:8080/mqtt/publish
Web 服務器例如 PHP/Java/Python/NodeJS 或 Ruby on Rails,可經過 HTTP POST 請求發佈 MQTT 消息:api
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 | 消息 |
註解bash
HTTP 發佈接口採用 Basic 認證服務器
註解websocket
該接口在 v2.3-beta.2 版本變動爲: ‘api/v2/mqtt/publish’, 詳見文檔: 管理監控API (REST API)curl
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