国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

基于RabbitMQ的MQTT插件搭建MQTT服務,使用MQTTX進行收發測試

ymyang / 2025人閱讀

摘要:本文基于的插件,針對進行簡單的測試。包括協議的介紹,的安裝配置開啟插件及基于進行的測試。協議是基于發布訂閱模型的物聯網消息傳遞協議。對傳輸消息有三種服務質量最多一次,這一級別會發生消息丟失或重復,消息發布依賴于底層網絡。

本文 基于Rabbit MQ的mqtt插件,針對MQTT進行簡單的測試。 包括MQTT協議的介紹,rabbitmq的安裝、配置、開啟mqtt插件及基于MQTTX進行的測試。

MQTT協議

隨著5G時代的到來,連接一切正在成為現實。大量設備的接入和設備管理給網絡寬帶、通信協議和平臺服務體系結構帶來了巨大的挑戰。

MQTT協議是基于發布-訂閱模型的物聯網消息傳遞協議。由于其實現簡單、易于實現、支持QoS和小分組,已占據物聯網協議的一半
特點如下:

  • 輕量級的和可靠的:緊湊的MQTT包,能夠在嚴格受限的設備硬件和高延遲/低帶寬網絡上穩定傳輸
  • 更好的生態:其客戶端和SDK覆蓋所有語言平臺,是AWS IoT Core Azure IoT Hub等頂級云廠商的物聯網平臺標準通信協議,是物聯網的實際標準
  • 發布-訂閱模型:基于發布-訂閱模型。發布-訂閱模型的優點是發布者和訂閱者之間的解耦:不需要在訂閱者和訂閱者之間建立直接連接,也不需要同時在線
  • 為物聯網而生:提供全面的物聯網應用功能,如心跳機制、Will消息、QoS質量級別+離線消息、異步機制、主題和安全管理
  • 對負載內容屏蔽的消息傳輸機制。
  • QoS: 對傳輸消息有三種服務質量 (QoS):
    • 最多一次,這一級別會發生消息丟失或重復,消息發布依賴于底層 TCP/IP 網絡。即:<=1
    • 至多一次,這一級別會確保消息到達,但消息可能會重復。即:>=1
    • 只有一次,確保消息只有一次到達。即:=1。在一些要求比較嚴格的計費系統中,可以使用此級別
  • 數據傳輸和協議交換的最小化 (協議頭部只有 2 字節),以減少網絡流量
  • 通知機制: 異常中斷時通知傳輸雙方

適用范圍:在低帶寬、不可靠的網絡下提供基于云平臺的遠程設備的數據傳輸和監控。

rabbitmq的安裝

rabbitmq的安裝

基于PackageCloud yum源安裝

以在centos 7.2中安裝為例

配置rabbitmq yum源

在Red Hat 7 或 CentOS 7 上面 基于PackageCloud yum源安裝rabbitmq

創建rabbitmq.repo 文件
vi /etc/yum.repos.d/rabbitmq.repo

#### Zero dependency Erlang##[rabbitmq_erlang]name=rabbitmq_erlangbaseurl=https://packagecloud.io/rabbitmq/erlang/el/7/$basearchrepo_gpgcheck=1gpgcheck=1enabled=1# PackageCloud"s repository key and RabbitMQ package signing keygpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkey       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.ascsslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300[rabbitmq_erlang-source]name=rabbitmq_erlang-sourcebaseurl=https://packagecloud.io/rabbitmq/erlang/el/7/SRPMSrepo_gpgcheck=1gpgcheck=0enabled=1gpgkey=https://packagecloud.io/rabbitmq/erlang/gpgkeysslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300#### RabbitMQ server##[rabbitmq_server]name=rabbitmq_serverbaseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearchrepo_gpgcheck=1gpgcheck=1enabled=1# PackageCloud"s repository key and RabbitMQ package signing keygpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey       https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.ascsslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300[rabbitmq_server-source]name=rabbitmq_server-sourcebaseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/SRPMSrepo_gpgcheck=1gpgcheck=0enabled=1gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkeysslverify=1sslcacert=/etc/pki/tls/certs/ca-bundle.crtmetadata_expire=300

安裝依賴

install these dependencies from standard OS repositories

yum install socat logrotate -yyum install erlang  -y

安裝rabbitmq

yum install  rabbitmq-server  -y

啟動rabbitmq

#配置開機啟動chkconfig rabbitmq-server on/sbin/service rabbitmq-server start/sbin/service rabbitmq-server status/sbin/service rabbitmq-server stop

開啟必要的插件

# 開啟管理插件rabbitmq-plugins enable rabbitmq_management#開啟mqtt插件,也可同時開啟 rabbitmq-plugins enable rabbitmq_web_mqttrabbitmq-plugins enable rabbitmq_mqtt# 查看已經安裝的插件,輸出結果見下圖rabbitmq-plugins list# 禁止xxx插件,如rabbitmq_mqttrabbitmq-plugins disable rabbitmq_mqtt# 查看開啟的插件,返回[rabbitmq_management,rabbitmq_mqtt].more /etc/rabbitmq/enabled_plugins

配置用戶

用戶權限配置請參考access-control

當服務器第一次開始運行,并檢測到它的數據庫未初始化或已被刪除,它將使用以下資源初始化一個新的數據庫

默認的Virtual Host and User如下:

  • 一個名為/(斜杠)的虛擬主機,
  • 一個名為guest的用戶,默認密碼為guest,被授予對/虛擬主機的完全訪問權。注意:"guest"用戶只能從本地主機連接

為了安全和能遠程登錄管理頁面,需要刪除guest用戶并創建新用戶,用戶的標簽有5種:administrator ,monitoring,policymaker,management和none ,詳見rabbitmq management

#查看用戶列表:rabbitmqctl list_users --formatter=json# 刪除guest用戶rabbitmqctl delete_user guest#增加用戶rabbitmqctl add_user "admin"  根據提示輸入密碼,如輸入20212021#增加vhost, 根據需要執行,默認的vhost為/rabbitmqctl add_vhost vnode22# 給用戶賦予權限#https://www.rabbitmq.com/access-control.html# First ".*" for configure permission on every entity# Second ".*" for write permission on every entity# Third ".*" for read permission on every entityrabbitmqctl set_permissions -p "/" "admin" ".*" ".*" ".*"# 給用戶增加管理員標簽rabbitmqctl set_user_tags admin administrator

安裝驗證

登錄管理頁面

http://172.25.11.22:15672/#/
輸入用戶 admin / 20212021 進行登錄,首頁展示如下:

測試MQTT

安裝mqttx

下載mqttx, 然后直接安裝,安裝后打開如下:
mqttx下載地址

配置exchanges

新增加一個exchange,類型是: topic

在mqttx中配置收發客戶端

可以看到,發送到mq中的消息,訂閱者可以立即收到

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/122119.html

相關文章

  • (超簡單)ESP8266深度睡眠模式下遠程采集溫濕度信息

    摘要:超簡單深度睡眠模式下遠程采集溫濕度信息項目背景相關技術深度睡眠模式溫濕度采集數據收發前后端實現后端前端項目背景自己用收納箱做了一個用于存放打印耗材的干燥箱,想用閑置的開發板和溫濕度傳感器做一個遠程溫濕度監測的小項目。 ...

    pkhope 評論0 收藏0
  • 離線安裝rabbitMQ

    摘要:安裝步驟整體軟件環境軟件版本語言安裝離線安裝是使用這種編程語言開發的,所以安裝的前提是安裝語言。這次全都是離線安裝,以便在遠離的生產環境部署。 安裝步驟 整體軟件環境 |軟件|版本||-|-||RHEL |7 update3||Erlong|19.3||rabbitMQ|3.6.10| Erlong語言安裝離線安裝 rabbitMQ是使用erlang這種編程語言開發的,所以安裝rabb...

    superPershing 評論0 收藏0
  • MQTT如何快速助你產品化

    摘要:時間就是金錢,效率就是生命本教程助力開發者使用協議快速產品化。摘要借助具備及聯網功能的,快速部署到客戶產品上,助力開發,縮短開發周期,快速實現產品商業化。 時間就是金錢,效率就是生命 本教程助力開發者使用MQTT協議快速產品化。 摘要 借助具備MQTT及聯網功能的DTU,快速部署到客戶產品...

    sutaking 評論0 收藏0
  • 基于ONENET云平臺數據MQTT協議使用及模擬數據和搭建

    登錄與添加: 首先,我們打開ONENET云平臺 然后選擇登錄 ?登錄以后我們選擇多協議接入中的MQTT ?接著我們點擊添加產品按鈕 ? ? 輸入產品名稱丶行業丶類別丶簡介 ? 技術參數中聯網方式我們可以根據實際情況來選擇,設備接入協議選擇MQTT協議,操作系統選擇uC/OS系統,網絡運營商選擇移動。接著系統會彈出一個頁面我們選擇立即添加設備 ?也可以從設備列表進行添加設備 ?設備名稱可...

    不知名網友 評論0 收藏0
  • ESP32學習筆記(46)——MQTT客戶端

    摘要:一簡介實現方式實現協議需要客戶端和服務器端通訊完成,在通訊過程中,協議中有三種身份發布者代理服務器訂閱者。其中,消息的發布者和訂閱者都是客戶端,消息代理是服務器,消息發布者可以同時是訂閱者。 ...

    Jenny_Tong 評論0 收藏0

發表評論

0條評論

ymyang

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<