MQTT和CoAP在EMQX里怎么實現(xiàn)連接

本篇內容主要講解“MQTT和CoAP在EMQ X里怎么實現(xiàn)連接”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MQTT和CoAP在EMQ X里怎么實現(xiàn)連接”吧!

成都創(chuàng)新互聯(lián)公司長期為超過千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為白塔企業(yè)提供專業(yè)的網(wǎng)站設計、網(wǎng)站制作,白塔網(wǎng)站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發(fā)。

Step 1:啟動 EMQ X Broker,打開 CoAP 插件,并確保插件的運行狀態(tài)。

關于如何安裝和啟動 EMQ X Broker,你可以在這里找到幫助。

打開 Dashboard,點擊左側插件,右側搜索 CoAP ,點擊啟動,運行 CoAP 插件( 默認端口 5683 )。

MQTT和CoAP在EMQ X里怎么實現(xiàn)連接

MQTT 的 PUB/SUB 模型中,為了實現(xiàn)端到端通訊,需要設備之間通過 topic 作為橋梁,我們使用 coap_to_mqttmqtt_to_coap兩個 topic ,分別作為 CoAP 到 MQTT 的消息 topic ,和 MQTT 到 CoAP 的消息 topic 。

MQTT 與 CoAP 都支持發(fā)布/訂閱機制,MQTT 依靠的是報文中的 Topic 字段,而 CoAP 協(xié)議類基于 REST 設計,在 EMQ X Broker 中:

PUTGET: 作為 Publish Subscribe

URI :路徑映射 topic ,規(guī)則為:主題名 topic_name 轉化為路徑 /mqtt/topic_name ,即 topic 加上 /mqtt/ 前綴。

URI Query: 路徑參數(shù)攜帶了終端信息,包括終端、用戶名、密碼。

# 示例
put "coap://host:port/mqtt/$topic?c=$client&u=$username&p=$password"
get "coap://host:port/mqtt/$topic?c=$client&u=$username&p=$password"

# -m get | put | post ...
# method 請求方式

# coap://host:port
# CoAP 協(xié)議路徑格式,host 和 port ,填寫 EMQ X Broker 部署的IP,和CoAP插件的端口(默認5683)

# /mqtt/$topic 
# 指 mqtt 的 topic ,需要轉換,規(guī)則:
# topic 名稱 topic_name ,在 CoAP 中需要使用 /mqtt/topic_name

# URI Query
# c :終端
# u :用戶名
# p :密碼

至此,準備工作已經完成。

Step 2:邀請第一位參會者,MQTT 客戶端

將 MQTT X(EMQ 旗下開源 MQTT 桌面客戶端)連接至你的 EMQ X Broker,并為它訂閱主題 coap_to_mqtt

MQTT和CoAP在EMQ X里怎么實現(xiàn)連接

Step 3:邀請第二位參會者,CoAP 客戶端。

本文中使用的 CoAP 客戶端是 libcoap 。

# 先安裝 libcoap
# 使用 git 下載,或者使用下載鏈接 https://github.com/obgm/libcoap/archive/refs/tags/v4.2.1.zip
git clone https://github.com/obgm/libcoap.git
# 如果你使用下載鏈接下載,unzip 解壓
# unzip libcoap-4.2.1.zip

# 進入 libcoap 文件目錄
cd libcoap
# 切換至穩(wěn)定版本 作者使用的是 v4.2.1
# 如果你使用本文中的下載鏈接下載,不需要切換版本。
git checkout v4.2.1
# 安裝配置
./autogen
# ./autogen 的過程中可能會遇到部分依賴缺失的情況(比如 autoconf 和 automake ),按照提示安裝對應依賴即可。
./configure --enable-documentation=no --enable-tests=no
# 打包
make
Step 4:開始通信

安裝完成后,CoAP 終端 PUT 消息到 coap_to_mqtt 主題。

# CoAP 終端發(fā)送消息 hello EMQ X world,  i am coap,topic 為 coap_to_mqtt
./examples/coap-client -m put -e "hello EMQ X world, i am coap"  "coap://127.0.0.1/mqtt/coap_to_mqtt?c=coap20211&u=tom&p=secret"
# 命令中的 127.0.0.1 替換為你的 EMQ X Broker 部署地址

我們可以看到 MQTT X 收到了來自 CoAP 的問候。

MQTT和CoAP在EMQ X里怎么實現(xiàn)連接

現(xiàn)在為 CoAP 終端訂閱 mqtt_to_coap 主題。

# CoAP 終端訂閱 mqtt_to_coap 主題,-s 20表示訂閱維持20秒
./examples/coap-client -m get -s 20 "coap://127.0.0.1/mqtt/mqtt_to_coap?c=client1&u=tom&p=secret"

MQTT X 發(fā)送 hello coap, i am mqtt welcome to EMQ X Wrold!mqtt_to_coap 主題。

MQTT和CoAP在EMQ X里怎么實現(xiàn)連接

CoAP 也收到了來自 MQTT 的回應。

./examples/coap-client -m get -s 20 "coap://127.0.0.1/mqtt/mqtt_to_coap?c=client1&u=tom&p=secret"
hello coap , i am mqtt ,welcome to EMQ World

到此,相信大家對“MQTT和CoAP在EMQ X里怎么實現(xiàn)連接”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

新聞名稱:MQTT和CoAP在EMQX里怎么實現(xiàn)連接
本文鏈接:http://bm7419.com/article44/gosoee.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、網(wǎng)站維護、網(wǎng)站建設、微信小程序、響應式網(wǎng)站、營銷型網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網(wǎng)站建設