Windows下MQTT代理服務器的搭建


前言:

        最近小編在折騰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->下載。

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

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

4. 命令面板進入該目錄,執行emq start。

5. 瀏覽器打開 http://localhost:18083就可以進入EMQ的web控制台了。

6. EMQ管控后台默認賬號: admin 密碼: public,如果忘記了也可以在安裝目錄的etc\plugins的emqx_auth_username.conf,打開文件可以看到賬號密碼了。

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

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

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

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

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

12. EQM代理后台也可以看到剛剛發布訂閱與連接信息了。

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

 

其他:

1. EMQ的端口枚舉如下:

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

3. 啟動mqtt服務后,可以根據端口查看進程,然后根據進程號關閉該服務。


免責聲明!

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



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