隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,MQTT(Message Queuing Telemetry Transport)消息隊(duì)列遙測傳輸協(xié)議,作為一種輕量級(jí)的通訊協(xié)議,被廣泛應(yīng)用于物聯(lián)網(wǎng)設(shè)備之間的通訊。
MQTT 是一種基于發(fā)布/訂閱(publish/subscribe)
模式的輕量級(jí)通訊協(xié)議,該協(xié)議構(gòu)建于TCP/IP
協(xié)議上。MQTT
最大優(yōu)點(diǎn)在于,可以以極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。
本次教程中,將探討如何基于EMQX平臺(tái)自建MQTT服務(wù)器,并實(shí)現(xiàn)設(shè)備之間的高效通訊。無論是在工業(yè)控制、智能家居還是智能城市等領(lǐng)域,搭建自己的MQTT服務(wù)器都能為我們帶來更大的靈活性和可擴(kuò)展性。讓我們一起深入了解這個(gè)過程,為物聯(lián)網(wǎng)應(yīng)用打下堅(jiān)實(shí)的基礎(chǔ)。
上面架構(gòu)圖來自EMQX官網(wǎng),其中中間綠色部分即我們要搭建的MQTT Broker
,MQTT
服務(wù)器搭建完成后,我們可以通過各種編程語言類庫對服務(wù)器發(fā)起連接請求,以及主題發(fā)布和訂閱。而編程語言類庫中我們就可以使用workerman的mqtt擴(kuò)展庫與服務(wù)器進(jìn)行通信。
Quality of Service
,即消息的發(fā)送質(zhì)量,主要有QoS 0
、QoS 1
、QoS 2
三個(gè)等級(jí),下面分別介紹下:
EMQX平臺(tái)作為一款開源的MQTT消息服務(wù)器,提供了穩(wěn)定可靠的消息傳輸服務(wù)。本次教程中,我們將探討如何基于EMQX平臺(tái)自建MQTT服務(wù)器,并實(shí)現(xiàn)設(shè)備之間的高效通訊。無論是在工業(yè)控制、智能家居還是智能城市等領(lǐng)域,搭建自己的MQTT服務(wù)器都能為我們帶來更大的靈活性和可擴(kuò)展性。
EMQX 官網(wǎng):https://www.emqx.io
本次教程中,我們將使用 Docker 部署,使用 Docker 指令直接部署,可以使用以下命令
docker pull emqx/emqx
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest
安裝完成后,打開瀏覽器,并在地址欄中輸入 http://localhost:18083
以訪問 EMQX
儀表板,您可以從那里連接到客戶端或檢查運(yùn)行狀態(tài)。
默認(rèn)用戶名: admin
默認(rèn)密碼:public
進(jìn)入 EMQX 管理頁面
MQTTX 客戶端我們選用workerman
的mqtt
擴(kuò)展庫與服務(wù)器進(jìn)行通信。workerman/mqtt
是一個(gè)基于workerman的異步mqtt 客戶端庫,可用于接收或者發(fā)送mqtt協(xié)議的消息。支持QoS 0
、QoS 1
、QoS 2
。支持MQTT
、3.1
、3.1.1
、5
版本。
composer require workerman/mqtt
版權(quán)聲明
作者:Tinywan
原文:https://mp.weixin.qq.com/s/uoGou8mdWLcDS20JRbiHzg
本文版權(quán)歸作者和workerman官方共有。歡迎轉(zhuǎn)載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。
歡迎關(guān)注開源技術(shù)小棧
微信公眾號(hào),一起進(jìn)步!掃描下方二維碼即可
贊一個(gè)