Windows下MQTT代理伺服器的搭建

beiqiaosu發表於2023-05-16

前言:

        最近小編在折騰Arduino,為了讓板子聯網又買了ESP8266 NODEMCU (wifi模組,也是一個微控制器)。雖然能透過燒錄的程式透過http請求自己的伺服器介面,但是顯然並不符合當下主流的物聯網方式,並且定時請求介面還浪費資源。

        於是就引出了MQTT協議,在網上我也找了關於MQTT代理服務的軟體也有很多。比如Eclipse基金會的Mosquitto ,以及Apache的 Apollo,當然還有很多主要看自己的需求,而我選擇了國內的EMQ。

 

MQTT簡介:

        MQTT(Message Queuing Telemetry Transport,訊息佇列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支援所有平臺,幾乎可以把所有聯網物品和外部連線起來,被用來當做感測器和制動器(比如透過Twitter讓房屋聯網)的通訊協議。

 

EMQ簡介:

        EMQ X Enterprise 企業級物聯網 MQTT 訊息平臺,支援百萬級物聯網裝置一站式接入、MQTT&CoAP 多協議處理、低時延實時訊息通訊。支援基於 SQL 的內建規則引擎,靈活處理/轉發訊息到後端服務,儲存訊息資料到各種資料庫,或橋接 Kafka、RabbitMQ 等企業中介軟體。

 

實現思路:

1. 使用EMQ搭建MQTT的代理伺服器。

2. 後臺(PHP)可以透過phpMQTT類庫或者透過安裝擴充套件作為客戶端連線mqtt代理,釋出訊息或訂閱主題,和將訊息存入資料庫等等。

3. 硬體Esp8266 NodeMCU透過mqtt庫連線代理,同樣的釋出訊息或者訂閱主題。

 

搭建過程:

1. EMQ官網點選下載,產品->EMQ X Broker->下載。

Windows下MQTT代理伺服器的搭建

2. 根據自己系統,選擇下載。

Windows下MQTT代理伺服器的搭建

3. 解壓縮之後,得到下面目錄

Windows下MQTT代理伺服器的搭建

4. 命令皮膚進入該目錄,執行emq start。

Windows下MQTT代理伺服器的搭建

5. 瀏覽器開啟 就可以進入EMQ的web控制檯了。

Windows下MQTT代理伺服器的搭建

6. EMQ管控後臺預設賬號: admin 密碼: public,如果忘記了也可以在安裝目錄的etc\plugins的emqx_auth_username.conf,開啟檔案可以看到賬號密碼了。

Windows下MQTT代理伺服器的搭建

7. 代理服務已經建立,接下來就可以透過mqtt客戶端連線測試一下,這裡的客戶端推薦EMQ的線上客戶端,這裡小編就安利一款國外的客戶端 “MQTT.fx”的軟體,可以在網上搜尋下載,接下來也以這個舉例。

Windows下MQTT代理伺服器的搭建

8. 建立一個MQTT代理伺服器,就是剛剛本地啟動的,輸入以下類似地址。

Windows下MQTT代理伺服器的搭建

9. 點選connect就馬上連線,當右邊圓點是綠色表示連線成功,接下來就可以測試一下訂閱和釋出了。

Windows下MQTT代理伺服器的搭建

10. 訂閱一個主題,名稱可以自己隨意定義。

Windows下MQTT代理伺服器的搭建

11. 在對應主題下發布一條訊息,就是剛剛建立的,然後內容隨便填寫,點選訂閱就可以看到該主題的訊息了。

Windows下MQTT代理伺服器的搭建

Windows下MQTT代理伺服器的搭建

12. EQM代理後臺也可以看到剛剛釋出訂閱與連線資訊了。

Windows下MQTT代理伺服器的搭建

Windows下MQTT代理伺服器的搭建

Windows下MQTT代理伺服器的搭建

13. ESP8266 NODEMCU連線代理服務,也可以訂閱指定的主題,釋出或接收訊息完成硬體的操作。比如控制LED開關,給另一主題傳送板子的溫度訊息等等。

 

其他:

1. EMQ的埠列舉如下:

Windows下MQTT代理伺服器的搭建

2. 本地關閉MQTT服務, 進入軟體目錄命令輸入emqx stop

Windows下MQTT代理伺服器的搭建

3. 啟動mqtt服務後,可以根據埠檢視程式,然後根據程式號關閉該服務。

Windows下MQTT代理伺服器的搭建


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70029959/viewspace-2952286/,如需轉載,請註明出處,否則將追究法律責任。

相關文章