MQTT 在Windows下搭建MQTT伺服器

2021-08-08 10:27:21 字數 2191 閱讀 8660

mq 遙測傳輸 (mqtt) 是輕量級基於**的發布/訂閱的訊息傳輸協議,設計思想是開放、簡單、輕量、易於實現。這些特點使它適用於受限環境。該協議的特點有:

最近在專案中要使用mqtt協議,需要搭建乙個mqtt伺服器來進行除錯,在網路上找了一天,找到的大多數都是mqtt客戶端,最後發現這篇部落格寫的教程可以使用,特此記錄。

在尋找mqtt伺服器的過程中,我發現的mosquitto是一款「an open source mqtt v3.1/v3.1.1 broker」——開源的mqtt**伺服器,其下也有windows的安裝包。

最後參考了前面部落格說的,搭建了apollo伺服器,這裡使用的apollo 1.7.1。

使用apollo搭建mqtt伺服器步驟:

建立例項之後會在bin目錄下生成mybroker資料夾,其中 etc\apollo.xml 檔案下是配置伺服器資訊的檔案,etc\users.properties 檔案包含連線mqtt伺服器時用到的使用者名稱和密碼,初始預設帳號是admin,密碼password;

進入 mybroker\bin\ 目錄,在cmd輸入命令「apollo-broker.cmd run」,可以使用tab鍵自動補全,執行後輸出資訊如下:

其中我們要留意的:

mqtt伺服器tcp連線埠:tcp:

後台web管理頁面:或

登入伺服器後,如果mqtt伺服器有客戶端連線,後台會顯示如下

在python環境下有mqtt客戶端包——paho-mqtt。

pip install paho-mqtt
下面是mqtt客戶端**清單

import paho.mqtt.client as mqtt

defon_connect

(client, userdata, flags, rc):

print("connected with result code "+str(rc))

client.subscribe("lettuce")

defon_message

(client, userdata, msg):

print(msg.topic+" "+str(msg.payload))

client = mqtt.client()

client.username_pw_set("admin", "password") # 必須設定,否則會返回「connected with result code 4」

client.on_connect = on_connect

client.on_message = on_message

host = "127.0.0.1"

client.connect(host, 61613, 60)

client.loop_forever()

下面是往mqtt伺服器發布訊息的**

import paho.mqtt.publish as publish

host = "127.0.0.1"

publish.single("lettuce", "payload", hostname=host, port=61613,

auth=)

2023年7月28日更新:

最近發現了一款比較好的開源mqtt伺服器:emq。linux下部署教程可以參考這篇文章:emq初體驗——在centos7上部署mqtt伺服器

windows下部署可以到官網查閱相關資料。

2023年8月15日更新:

注意:後台web管理頁面被設定為只能本地訪問,如果想用其他主機訪問該管理頁面,需要修改「」為「

相關配置檔案:apache-apollo-1.7.1\bin\mybroker\etc\apollo.xml,大約61行:

bind=""/>

bind=""/>

MQTT 在Windows下搭建MQTT伺服器

mq 遙測傳輸 mqtt 是輕量級基於 的發布 訂閱的訊息傳輸協議,設計思想是開放 簡單 輕量 易於實現。這些特點使它適用於受限環境。該協議的特點有 最近在專案中要使用mqtt協議,需要搭建乙個mqtt伺服器來進行除錯,在網路上找了一天,找到的大多數都是mqtt客戶端,最後發現這篇部落格寫的教程可以...

MQTT伺服器搭建Windows

執行 在這個目錄下按shift 右鍵開啟命令列,輸入 bin activemq.bat start 回車,出現這個畫面說明mqtt伺服器已經開始執行了,按ctrl c停止執行 訪問控制台 我們可以訪問mqtt的web控制台,在瀏覽器輸入位址http hostlocal 8161,預設使用者名稱和密碼...

在windows環境下搭建TensorFlow

安裝python python 3.6.1 amd64.exe 加入python.exe pip pip3加入環境變數 在cmd下執行 pip3 install upgrade tensorflow import tensorflow as tf hello tf.constant hello,te...