97人妻精品一区二区三区软件,人妻偷拍在线,插丝袜美女小穴视频,美女午夜福利在线

      • <i id="89dc3"></i>
        當(dāng)前位置: 首頁 >應(yīng)用方案 >技術(shù)應(yīng)用 >

        Mosquitto詳解和基于Mosquitto實(shí)現(xiàn)MQTT通訊教程


        Mosquitto簡介

        Mosquitto 是一個(gè)輕量級的開源消息代理,遵守 MQTT(Message Queuing Telemetry Transport)協(xié)議。Mosquitto通常用于 IoT(物聯(lián)網(wǎng))設(shè)備之間的消息傳遞。以下是對 Mosquitto 的詳細(xì)介紹:

        Mosquitto特性

        輕量級Mosquitto 的設(shè)計(jì)使其適用于資源有限的設(shè)備,能夠在小型服務(wù)器和單板計(jì)算機(jī)上運(yùn)行。

        支持多種平臺:可以在Linux、Windows 和 macOS 等多個(gè)操作系統(tǒng)上運(yùn)行。

        多用戶:支持多客戶端連接,能夠處理大量并發(fā)會話。

        支持QoS 級別:支持MQTT 的三種服務(wù)質(zhì)量(QoS)級別,允許用戶根據(jù)需求選擇消息傳遞的可靠性。

        QoS 0:最多一次交付

        QoS 1:至少一次交付

        QoS 2:只有一次交付

        持久性:支持將消息持久化到磁盤,便于在重啟后恢復(fù)會話狀態(tài)。

        Mosquitto使用場景

        物聯(lián)網(wǎng)應(yīng)用:廣泛用于智能家居、工業(yè)自動化、環(huán)境監(jiān)控等領(lǐng)域,設(shè)備間可以通過低帶寬的網(wǎng)絡(luò)進(jìn)行高效的消息傳遞。

        移動應(yīng)用:支持低功耗設(shè)備,以降低電池消耗,并實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸。

        節(jié)點(diǎn)間通信:在分布式系統(tǒng)中,Mosquitto 可用于不同節(jié)點(diǎn)之間的異步通信。

        Mosquitto組件

        BrokerMosquitto 的核心是消息代理(Broker),負(fù)責(zé)接收、過濾、存儲和轉(zhuǎn)發(fā)消息。所有的通信都通過 Broker 進(jìn)行。

        Client:連接到Broker 的應(yīng)用或設(shè)備,可以是發(fā)布者(Publisher)、訂閱者(Subscriber)或二者兼具。

        Mosquitto安全性

        認(rèn)證與授權(quán):支持通過用戶名和密碼進(jìn)行用戶認(rèn)證,可對主題進(jìn)行訪問控制。

        SSL/TLS 加密:支持加密連接,保護(hù)數(shù)據(jù)傳輸?shù)陌踩浴?/span>

        Mosquitto安裝與使用

        安裝Mosquitto 可以通過 Docker、包管理工具(如 apt、yum)或編譯源代碼安裝。

        配置:可以通過配置文件輕松定制其行為,如連接參數(shù)、認(rèn)證等。

        命令行工具:提供mosquitto_pub mosquitto_sub 命令行工具用于快速發(fā)布和訂閱消息。

        Mosquitto社區(qū)與支持

        Mosquitto 擁有活躍的開發(fā)社區(qū),提供豐富的文檔和支持渠道。開發(fā)者可以從 GitHub 或官方文檔查找資源,解決問題或貢獻(xiàn)代碼。

        總結(jié)的來說Mosquitto 是一個(gè)強(qiáng)大而靈活的消息代理,非常適合需要高效通信的物聯(lián)網(wǎng)和分布式應(yīng)用場景。它的輕量級和易用性,使其成為開發(fā)者和企業(yè)的熱門選擇。

        Mosquitto通訊相關(guān)環(huán)境

        使用MQTTX軟件以及一個(gè)實(shí)際的串口服務(wù)器進(jìn)行連接與通訊。串口服務(wù)器使用ebyte公司單串口服務(wù)器進(jìn)行連接。

        Mosquitto部署的系統(tǒng):Debian 12

        使用SSH遠(yuǎn)程服務(wù)器進(jìn)行安裝,SSH開啟Root權(quán)限或者使用sudo權(quán)限進(jìn)行部署(不建議正式部署場景直接使用Root權(quán)限)。

        Mosquitto通訊相關(guān)地址

        Mosquitto官網(wǎng):https://mosquitto.org

        Debian官網(wǎng):https://www.debian.org

        MQTTX官網(wǎng):https://mqttx.app

        串口服務(wù)器:http://www.sunredled.com/product/2124.html

        串口服務(wù)器的使用可以參考:

        Mosquitto的安裝與部署

        首先,在服務(wù)器或設(shè)備上安裝Mosquitto工具。可以在Mosquitto官網(wǎng)找到安裝方法。這里我們演示在Debian 12系統(tǒng)上進(jìn)行簡單安裝。安裝相對簡單,您可以參考官方指南進(jìn)行安裝。

        大多數(shù)開源系統(tǒng)已將Mosquitto添加到源中,可以直接使用apt-get install mosquitto進(jìn)行安裝。

        apt-get install mosquitto

        1  Mosquitto的安裝與部署

        安裝完成后,打開配置文件,根據(jù)實(shí)際需求配置Mosquitto。

        vim /etc/mosquitto/mosquitto.conf

        2  Mosquitto配置

        有關(guān)詳細(xì)配置信息,請參閱官方手冊。這里我們簡要總結(jié)一下。

        # 監(jiān)聽的端口

        port 1883

        # 使用TLS/SSL加密的端口

        # port 8883

        # 使用WebSocket協(xié)議的端口

        # listener 9001

        # protocol websockets

        # 允許匿名連接

        allow_anonymous true

        # 用戶名和密碼認(rèn)證

        password_file /etc/mosquitto/passwd

        # 設(shè)置客戶端ID前綴

        # clientid_prefix client-

        # 設(shè)置日志文件路徑

        log_dest file /var/log/mosquitto/mosquitto.log

        可以根據(jù)需要修改以下參數(shù):

        l port:設(shè)置Mosquitto監(jiān)聽的端口,默認(rèn)是1883。如果使用TLS/SSL加密,可以取消注釋并修改為8883。

        l listener:如果要使用WebSocket協(xié)議,可以取消注釋并設(shè)置一個(gè)新的端口。

        l allow_anonymous:設(shè)置是否允許匿名連接。如果設(shè)為false,則需要設(shè)置用戶名和密碼認(rèn)證。

        l password_file:指定存儲用戶名和密碼的文件路徑??梢允褂?/span>mosquitto_passwd命令生成該文件。

        l clientid_prefix:設(shè)置客戶端ID的前綴??梢杂糜跇?biāo)識不同類型的客戶端。

        l log_dest:設(shè)置日志文件的路徑,用于記錄Mosquitto的日志信息。

        為方便起見,我們進(jìn)行簡單配置:設(shè)置端口并允許匿名連接。

        # Place your local configuration in /etc/mosquitto/conf.d/

        # A full description of the configuration file is at

        # /usr/share/doc/mosquitto/examples/mosquitto.conf.example

        pid_file /run/mosquitto/mosquitto.pid

        persistence true

        persistence_location /var/lib/mosquitto/

        allow_anonymous true

        log_dest file /var/log/mosquitto/mosquitto.log

        include_dir /etc/mosquitto/conf.d

        listener 1883

        listener 9001

        protocol websockets

        配置完成后,重新啟動Mosquitto服務(wù)以使更改生效。

        Linux上,使用systemd管理Mosquitto服務(wù)的情況下:

        sudo systemctl restart mosquitto

        Windows上,使用服務(wù)管理器來重啟Mosquitto服務(wù):

        txt

        net stop mosquitto

        net start mosquitto

        macOS上,使用launchctl來重啟Mosquitto服務(wù):

        txt

        sudo launchctl stop homebrew.mxcl.mosquitto

        sudo launchctl start homebrew.mxcl.mosquitto

        根據(jù)不同的操作系統(tǒng)和安裝方式,可能會有所不同。請根據(jù)你的實(shí)際情況選擇適當(dāng)?shù)拿顏碇貑?/span>Mosquitto服務(wù)。

        Mosquitto連接MQTT服務(wù)器

        配置成功后,您可以使用設(shè)備連接MQTT服務(wù)器。打開NE2-D11串口服務(wù)器配置軟件,根據(jù)需要選擇鏈路并將工作模式更改為MQTT模式。

        3  Mosquitto連接MQTT服務(wù)器

        填入實(shí)際MQTT服務(wù)器的地址和端口。

        4  Mosquitto連接MQTT服務(wù)器

        然后開始設(shè)置MQTT參數(shù)。選擇標(biāo)準(zhǔn)的「MQTT 3.1.1」,根據(jù)Mosquitto配置填入「設(shè)備名稱」、「用戶名」、「密碼」。在此示例中,我們使用匿名連接,因此隨意填寫用戶信息。

        5  Mosquitto連接MQTT服務(wù)器

        訂閱和發(fā)布設(shè)置根據(jù)實(shí)際情況進(jìn)行配置。我們使用MQTTX軟件模擬服務(wù)器的數(shù)據(jù)采集和指令下發(fā)。因此,隨意填寫訂閱和發(fā)布主題。

        6  Mosquitto連接MQTT服務(wù)器

        設(shè)置完成后,保存并重新啟動設(shè)備。通過產(chǎn)品指示燈觀察是否成功連接到服務(wù)器。

        MQTT模擬通訊

        成功連接到服務(wù)器后,可以開始通訊。我們使用MQTTX軟件進(jìn)行模擬通訊。

        7  Mosquitto連接MQTT服務(wù)器

        連接MQTTX軟件后,配置好訂閱和發(fā)布主題

        8  Mosquitto連接MQTT服務(wù)器

        9  Mosquitto連接MQTT服務(wù)器

        發(fā)送數(shù)據(jù)進(jìn)行通訊。使用XCOM串口工具模擬產(chǎn)品串口采集的數(shù)據(jù)發(fā)送到服務(wù)器。會發(fā)現(xiàn)MQTTX軟件成功接收到通過串口發(fā)送的數(shù)據(jù)。

        10  Mosquitto連接MQTT服務(wù)器

        然后使用MQTTX軟件發(fā)送數(shù)據(jù),模擬服務(wù)器下發(fā)指令,同樣可以看到XCOM軟件成功接收到MQTTX發(fā)送的數(shù)據(jù)。

        11  Mosquitto連接MQTT服務(wù)器

        至此,關(guān)于Mosquitto的MQTT通訊教程就到此結(jié)束。有興趣的朋友可以繼續(xù)探索。

        Mosquitto其他功能配置

        *用戶和密碼

        Mosquitto的配置文件中添加用戶和密碼認(rèn)證,可以按照以下步驟進(jìn)行操作:

        1.創(chuàng)建一個(gè)密碼文件,用于存儲用戶名和密碼??梢允褂?/span>mosquitto_passwd命令生成密碼文件。例如,執(zhí)行以下命令創(chuàng)建一個(gè)名為passwd的密碼文件:

        mosquitto_passwd -c /etc/mosquitto/passwd <username>

        替換<username>為你要創(chuàng)建的用戶名。然后會提示輸入密碼,輸入密碼后會生成密碼文件。

        2.Mosquitto的配置文件中添加以下行來啟用用戶名和密碼認(rèn)證:

        txt

        password_file /etc/mosquitto/passwd

        allow_anonymous false

        這里的/etc/mosquitto/passwd應(yīng)該是你在第一步中創(chuàng)建的密碼文件的路徑。

        3.保存并關(guān)閉配置文件。

        4.重啟Mosquitto服務(wù)以使配置生效。具體的重啟方法可以參考前面的回答。

        配置完成后,客戶端連接Mosquitto時(shí)需要提供正確的用戶名和密碼才能進(jìn)行連接和訪問。


        今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多串口服務(wù)器、數(shù)傳電臺、lora模塊等無線數(shù)傳模塊產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(微信號:cdebyte)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!


        相關(guān)閱讀:

        1、MQTT協(xié)議詳解及物聯(lián)網(wǎng)應(yīng)用特點(diǎn)

        2、串口服務(wù)器快速接入MQTT3.1協(xié)議服務(wù)器鏈接配置教程

        3、西門子PLC利用函數(shù)塊連接MQTT服務(wù)器發(fā)布消息教程

        4、Node-RED工具M(jìn)QTT IN節(jié)點(diǎn)的動態(tài)用法

        5、基于以太網(wǎng)模組接入標(biāo)準(zhǔn)MQTT協(xié)議教程詳解


        點(diǎn)擊撥打: 億佰特官網(wǎng) 4000-330-990