日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

转 【MQTT】在Windows下搭建MQTT服务器

發布時間:2025/3/15 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转 【MQTT】在Windows下搭建MQTT服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MQTT簡介

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

  • 使用發布/訂閱消息模式,提供一對多的消息發布,解除應用程序耦合。
  • 對負載內容屏蔽的消息傳輸。
  • 使用 TCP/IP 提供網絡連接。
  • 小型傳輸,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,以降低網絡流量。
  • 使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制。
  • 有三種消息發布服務質量:?
    • “至多一次”,消息發布完全依賴底層 TCP/IP 網絡。會發生消息丟失或重復。這一級別可用于如下情況,環境傳感器數據,丟失一次讀記錄無所謂,因為不久后還會有第二次發送。
    • “至少一次”,確保消息到達,但消息重復可能會發生。
    • “只有一次”,確保消息到達一次。這一級別可用于如下情況,在計費系統中,消息重復或丟失會導致不正確的結果。

?

Mosquitto是一款「An Open Source MQTT v3.1/v3.1.1 Broker」——開源的MQTT代理服務器,其下也有Windows的安裝包。

但是我使用的是Win10 64位系統,這兩個都下載安裝后不是報錯就是缺少dll文件,不能使用。

最后參考了前面博客說的,搭建了Apollo服務器,這里使用的Apollo 1.7.1。

  • 官網:http://activemq.apache.org/index.html
  • 下載地址:http://activemq.apache.org/apollo/download.html
  • 快速開始教程:http://activemq.apache.org/apollo/documentation/getting-started.html

搭建MQTT服務器

使用Apollo搭建MQTT服務器步驟:

  • 下載Apollo服務器并解壓,在CMD環境運行其工作目錄下的...\bin\apollo.cmd,命令后面帶上參數「create mybroker」,創建服務器實例。這里需要Java環境,系統環境變量下要有JAVA_HOME。
  • 創建實例之后會在bin目錄下生成mybroker文件夾,其中?...\etc\apollo.xml文件下是配置服務器信息的文件,...\etc\users.properties文件包含連接MQTT服務器時用到的用戶名和密碼,初始默認帳號是admin,密碼password;
  • 進入...\mybroker\bin\?目錄,在CMD輸入命令「apollo-broker.cmd run」,可以使用TAB鍵自動補全,運行后輸出信息如下:
  • 其中我們要留意的:

    MQTT服務器TCP連接端口:tcp://0.0.0.0:61613

    后臺Web管理頁面:https://127.0.0.1:61681/或http://127.0.0.1:61680/

    登錄服務器后,如果MQTT服務器有客戶端連接,后臺會顯示如下

    Python的MQTT客戶端

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

    安裝命令

    pip install paho-mqtt

      

    ?

    客戶端代碼清單

    下面是MQTT客戶端代碼清單

    import paho.mqtt.client as mqttdef on_connect(client, userdata, flags, rc):print("Connected with result code "+str(rc))client.subscribe("lettuce")def on_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_messageHOST = "127.0.0.1"client.connect(HOST, 61613, 60) client.loop_forever()

      

    ?

    ?

    下面是往M

    發布消息代碼

    QTT服務器發布消息的代碼

    import paho.mqtt.publish as publishHOST = "127.0.0.1"publish.single("lettuce", "payload", hostname=HOST, port=61613,auth={'username': "admin", 'password':"password"})

      

    .

    ?


    更新

    2017年7月28日更新:

    最近發現了一款比較好的開源MQTT服務器:EMQ。Linux下部署教程可以參考這篇文章:EMQ初體驗——在CentOS7上部署MQTT服務器

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

    2017年8月15日更新:

    注意:后臺Web管理頁面被設置為只能本地訪問,如果想用其他主機訪問該管理頁面,需要修改「http://127.0.0.1:61680/」為「http://0.0.0.0:61680/」。

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

    <web_admin bind="http://127.0.0.1:61680"/> <web_admin bind="https://127.0.0.1:61681"/>

    轉載于:https://www.cnblogs.com/saryli/p/8964145.html

    總結

    以上是生活随笔為你收集整理的转 【MQTT】在Windows下搭建MQTT服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。