国产 日韩 欧美 成人,欧美一级黄片视频播放,日本免费激情视频,人妻丝袜精品中文字幕

當前位置: 首頁 >應用方案 >技術應用 >

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


Mosquitto簡介

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

Mosquitto特性

輕量級Mosquitto 的設計使其適用于資源有限的設備,能夠在小型服務器和單板計算機上運行。

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

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

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

QoS 0:最多一次交付

QoS 1:至少一次交付

QoS 2:只有一次交付

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

Mosquitto使用場景

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

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

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

Mosquitto組件

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

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

Mosquitto安全性

認證與授權:支持通過用戶名和密碼進行用戶認證,可對主題進行訪問控制。

SSL/TLS 加密:支持加密連接,保護數據傳輸的安全性。

Mosquitto安裝與使用

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

配置:可以通過配置文件輕松定制其行為,如連接參數、認證等。

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

Mosquitto社區(qū)與支持

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

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

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

使用MQTTX軟件以及一個實際的串口服務器進行連接與通訊。串口服務器使用ebyte公司單串口服務器進行連接。

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

使用SSH遠程服務器進行安裝,SSH開啟Root權限或者使用sudo權限進行部署(不建議正式部署場景直接使用Root權限)。

Mosquitto通訊相關地址

Mosquitto官網:https://mosquitto.org

Debian官網:https://www.debian.org

MQTTX官網:https://mqttx.app

串口服務器:http:///product/2124.html

串口服務器的使用可以參考:

Mosquitto的安裝與部署

首先,在服務器或設備上安裝Mosquitto工具??梢栽贛osquitto官網找到安裝方法。這里我們演示在Debian 12系統(tǒng)上進行簡單安裝。安裝相對簡單,您可以參考官方指南進行安裝。

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

apt-get install mosquitto

1  Mosquitto的安裝與部署

安裝完成后,打開配置文件,根據實際需求配置Mosquitto。

vim /etc/mosquitto/mosquitto.conf

2  Mosquitto配置

有關詳細配置信息,請參閱官方手冊。這里我們簡要總結一下。

# 監(jiān)聽的端口

port 1883

# 使用TLS/SSL加密的端口

# port 8883

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

# listener 9001

# protocol websockets

# 允許匿名連接

allow_anonymous true

# 用戶名和密碼認證

password_file /etc/mosquitto/passwd

# 設置客戶端ID前綴

# clientid_prefix client-

# 設置日志文件路徑

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

可以根據需要修改以下參數:

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

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

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

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

l clientid_prefix:設置客戶端ID的前綴??梢杂糜跇俗R不同類型的客戶端。

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

為方便起見,我們進行簡單配置:設置端口并允許匿名連接。

# 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服務以使更改生效。

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

sudo systemctl restart mosquitto

Windows上,使用服務管理器來重啟Mosquitto服務:

txt

net stop mosquitto

net start mosquitto

macOS上,使用launchctl來重啟Mosquitto服務:

txt

sudo launchctl stop homebrew.mxcl.mosquitto

sudo launchctl start homebrew.mxcl.mosquitto

根據不同的操作系統(tǒng)和安裝方式,可能會有所不同。請根據你的實際情況選擇適當的命令來重啟Mosquitto服務。

Mosquitto連接MQTT服務器

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

3  Mosquitto連接MQTT服務器

填入實際MQTT服務器的地址和端口。

4  Mosquitto連接MQTT服務器

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

5  Mosquitto連接MQTT服務器

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

6  Mosquitto連接MQTT服務器

設置完成后,保存并重新啟動設備。通過產品指示燈觀察是否成功連接到服務器。

MQTT模擬通訊

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

7  Mosquitto連接MQTT服務器

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

8  Mosquitto連接MQTT服務器

9  Mosquitto連接MQTT服務器

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

10  Mosquitto連接MQTT服務器

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

11  Mosquitto連接MQTT服務器

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

Mosquitto其他功能配置

*用戶和密碼

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

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

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

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

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

txt

password_file /etc/mosquitto/passwd

allow_anonymous false

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

3.保存并關閉配置文件。

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

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


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


相關閱讀:

1、MQTT協(xié)議詳解及物聯(lián)網應用特點

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

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

4、Node-RED工具MQTT IN節(jié)點的動態(tài)用法



點擊撥打: 億佰特官網 4000-330-990