成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

基于RabbitMQ的MQTT插件搭建MQTT服務(wù),使用MQTTX進(jìn)行收發(fā)測(cè)試

ymyang / 2066人閱讀

摘要:本文基于的插件,針對(duì)進(jìn)行簡(jiǎn)單的測(cè)試。包括協(xié)議的介紹,的安裝配置開啟插件及基于進(jìn)行的測(cè)試。協(xié)議是基于發(fā)布訂閱模型的物聯(lián)網(wǎng)消息傳遞協(xié)議。對(duì)傳輸消息有三種服務(wù)質(zhì)量最多一次,這一級(jí)別會(huì)發(fā)生消息丟失或重復(fù),消息發(fā)布依賴于底層網(wǎng)絡(luò)。

本文 基于Rabbit MQ的mqtt插件,針對(duì)MQTT進(jìn)行簡(jiǎn)單的測(cè)試。 包括MQTT協(xié)議的介紹,rabbitmq的安裝、配置、開啟mqtt插件及基于MQTTX進(jìn)行的測(cè)試。

MQTT協(xié)議

隨著5G時(shí)代的到來(lái),連接一切正在成為現(xiàn)實(shí)。大量設(shè)備的接入和設(shè)備管理給網(wǎng)絡(luò)寬帶、通信協(xié)議和平臺(tái)服務(wù)體系結(jié)構(gòu)帶來(lái)了巨大的挑戰(zhàn)。

MQTT協(xié)議是基于發(fā)布-訂閱模型的物聯(lián)網(wǎng)消息傳遞協(xié)議。由于其實(shí)現(xiàn)簡(jiǎn)單、易于實(shí)現(xiàn)、支持QoS和小分組,已占據(jù)物聯(lián)網(wǎng)協(xié)議的一半
特點(diǎn)如下:

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

適用范圍:在低帶寬、不可靠的網(wǎng)絡(luò)下提供基于云平臺(tái)的遠(yuǎn)程設(shè)備的數(shù)據(jù)傳輸和監(jiān)控。

rabbitmq的安裝

rabbitmq的安裝

基于PackageCloud yum源安裝

以在centos 7.2中安裝為例

配置rabbitmq yum源

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

創(chuàng)建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

啟動(dòng)rabbitmq

#配置開機(jī)啟動(dòng)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插件,也可同時(shí)開啟 rabbitmq-plugins enable rabbitmq_web_mqttrabbitmq-plugins enable rabbitmq_mqtt# 查看已經(jīng)安裝的插件,輸出結(jié)果見下圖rabbitmq-plugins list# 禁止xxx插件,如rabbitmq_mqttrabbitmq-plugins disable rabbitmq_mqtt# 查看開啟的插件,返回[rabbitmq_management,rabbitmq_mqtt].more /etc/rabbitmq/enabled_plugins

配置用戶

用戶權(quán)限配置請(qǐng)參考access-control

當(dāng)服務(wù)器第一次開始運(yùn)行,并檢測(cè)到它的數(shù)據(jù)庫(kù)未初始化或已被刪除,它將使用以下資源初始化一個(gè)新的數(shù)據(jù)庫(kù)

默認(rèn)的Virtual Host and User如下:

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

為了安全和能遠(yuǎn)程登錄管理頁(yè)面,需要?jiǎng)h除guest用戶并創(chuàng)建新用戶,用戶的標(biāo)簽有5種:administrator ,monitoring,policymaker,management和none ,詳見rabbitmq management

#查看用戶列表:rabbitmqctl list_users --formatter=json# 刪除guest用戶rabbitmqctl delete_user guest#增加用戶rabbitmqctl add_user "admin"  根據(jù)提示輸入密碼,如輸入20212021#增加vhost, 根據(jù)需要執(zhí)行,默認(rèn)的vhost為/rabbitmqctl add_vhost vnode22# 給用戶賦予權(quán)限#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" ".*" ".*" ".*"# 給用戶增加管理員標(biāo)簽rabbitmqctl set_user_tags admin administrator

安裝驗(yàn)證

登錄管理頁(yè)面

http://172.25.11.22:15672/#/
輸入用戶 admin / 20212021 進(jìn)行登錄,首頁(yè)展示如下:

測(cè)試MQTT

安裝mqttx

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

配置exchanges

新增加一個(gè)exchange,類型是: topic

在mqttx中配置收發(fā)客戶端

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/122119.html

相關(guān)文章

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

    摘要:超簡(jiǎn)單深度睡眠模式下遠(yuǎn)程采集溫濕度信息項(xiàng)目背景相關(guān)技術(shù)深度睡眠模式溫濕度采集數(shù)據(jù)收發(fā)前后端實(shí)現(xiàn)后端前端項(xiàng)目背景自己用收納箱做了一個(gè)用于存放打印耗材的干燥箱,想用閑置的開發(fā)板和溫濕度傳感器做一個(gè)遠(yuǎn)程溫濕度監(jiān)測(cè)的小項(xiàng)目。 ...

    pkhope 評(píng)論0 收藏0
  • 離線安裝rabbitMQ

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

    superPershing 評(píng)論0 收藏0
  • MQTT如何快速助你產(chǎn)品化

    摘要:時(shí)間就是金錢,效率就是生命本教程助力開發(fā)者使用協(xié)議快速產(chǎn)品化。摘要借助具備及聯(lián)網(wǎng)功能的,快速部署到客戶產(chǎn)品上,助力開發(fā),縮短開發(fā)周期,快速實(shí)現(xiàn)產(chǎn)品商業(yè)化。 時(shí)間就是金錢,效率就是生命 本教程助力開發(fā)者使用MQTT協(xié)議快速產(chǎn)品化。 摘要 借助具備MQTT及聯(lián)網(wǎng)功能的DTU,快速部署到客戶產(chǎn)品...

    sutaking 評(píng)論0 收藏0
  • 基于ONENET云平臺(tái)數(shù)據(jù)MQTT協(xié)議使用及模擬數(shù)據(jù)和搭建

    登錄與添加: 首先,我們打開ONENET云平臺(tái) 然后選擇登錄 ?登錄以后我們選擇多協(xié)議接入中的MQTT ?接著我們點(diǎn)擊添加產(chǎn)品按鈕 ? ? 輸入產(chǎn)品名稱丶行業(yè)丶類別丶簡(jiǎn)介 ? 技術(shù)參數(shù)中聯(lián)網(wǎng)方式我們可以根據(jù)實(shí)際情況來(lái)選擇,設(shè)備接入?yún)f(xié)議選擇MQTT協(xié)議,操作系統(tǒng)選擇uC/OS系統(tǒng),網(wǎng)絡(luò)運(yùn)營(yíng)商選擇移動(dòng)。接著系統(tǒng)會(huì)彈出一個(gè)頁(yè)面我們選擇立即添加設(shè)備 ?也可以從設(shè)備列表進(jìn)行添加設(shè)備 ?設(shè)備名稱可...

    不知名網(wǎng)友 評(píng)論0 收藏0
  • ESP32學(xué)習(xí)筆記(46)——MQTT客戶端

    摘要:一簡(jiǎn)介實(shí)現(xiàn)方式實(shí)現(xiàn)協(xié)議需要客戶端和服務(wù)器端通訊完成,在通訊過(guò)程中,協(xié)議中有三種身份發(fā)布者代理服務(wù)器訂閱者。其中,消息的發(fā)布者和訂閱者都是客戶端,消息代理是服務(wù)器,消息發(fā)布者可以同時(shí)是訂閱者。 ...

    Jenny_Tong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

ymyang

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<