加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

解讀 ARMxy 嵌入式工業(yè)計算機上 MQTT 通信協(xié)議的卓越案例

09/24 08:33
627
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

MQTT?通信協(xié)議案例

1?案例說明

案例功能:使用?node-red?工具與?libmosquitto(MQTT version 3.1.1 client library) 的?API?通過?MQTT?代理服?務(wù)器通信?;?MQTT?通信協(xié)議,實現(xiàn)發(fā)布和訂閱消息功能。

程序流程圖如下

2?案例測試

本案例使用設(shè)備?node-red?工具與上位機 Ubuntu Mosquitto 工具通信。請通過網(wǎng)線將設(shè)備?ETH1、上位機連接至?公網(wǎng),確??烧TL問互聯(lián)網(wǎng)。

下表提供了可用的在線公共 MQTT 服務(wù)器,可根據(jù)需要自行切換。

?2

服務(wù)器名稱 Broker地址 TCOPP端口 web?socket
HiveMQ broker.hivemq.com 1883 8000
Mosquitto test.mosquitto.org 1883 80
Eclipse mqtt.eclipseprojects.io 1883 80/443
EMQX(國內(nèi)) Broker-cn.e mqx.io 1883 8083/8084

1 )Mosquitto ??工具安裝

Mosquitto 是一款開源的 MQTT 消息代理(服務(wù)器)軟件,提供輕量級的、支持可發(fā)布/可訂閱的的消息推送模?式。本文?node_mqtt.json?案例采用?node-red?與?Mosquitto 工具演示 MQTT 通信協(xié)議的通信功能。由于上位機 Ubun?tu?系統(tǒng)作為通信對象,因此需在 Ubuntu 終端執(zhí)行如下命令安裝 Mosquitto 工具。

Host#????sudo apt-get install mosquitto-clients

?

2)?設(shè)備發(fā)布/上位機訂閱

設(shè)備啟動,執(zhí)行?node-red?程序,將上位機登錄到node-red?部署系統(tǒng)。?node-red 自帶?mqtt?通信協(xié)議模塊,執(zhí)行以下操作,啟用mqtt?模塊。

展開節(jié)點選項,往下拉啟動?mqtt?模塊。(默認(rèn)啟動)

在上位機執(zhí)行如下命令,使用mosquitto_sub?工具訂閱?MQTT?主題。

Host#????mosquitto_sub ?-h ?broker.hivemq.com ?-p??1883??-t??test/data

參數(shù)解析:

-h: ?指定 MQTT?服務(wù)器;

-p: ?指定 MQTT 服務(wù)器?TCP?端口;

-t: ?定義 MQTT 主題,可自定義命名。

為便于測試,我司提供的經(jīng)驗證的 MQTT?通信協(xié)議為案例“ node-rednode_red_mqtt?”目錄下的 mqtt.json?文件。請參考上方“導(dǎo)入節(jié)點文件?”步驟導(dǎo)入對應(yīng)節(jié)點文件。

導(dǎo)入文件成功后,點擊右上角部署按鈕,啟動程序。

成功連接上設(shè)備后,顯示設(shè)備已連接。

執(zhí)行以下操作,發(fā)布消息至 MQTT 服務(wù)器。

??設(shè)備發(fā)布

消息發(fā)布成功后,上位機將從 MQTT 服務(wù)器接收到對應(yīng)的消息。

??上位機訂閱

3)?上位機訂閱/設(shè)備發(fā)布

在上位機執(zhí)行如下命令發(fā)布消息至 MQTT 服務(wù)器。

Host#????mosquitto_pub ?-h ?broker.hivemq.com ?-p ?1883 ?-t??test/data2??-m ?beilai

備注:訂閱主題更改為?test/data2。

??上位機發(fā)布

消息發(fā)布成功后,node-red?將從 MQTT 服務(wù)器接收到對應(yīng)消息。

??設(shè)備訂

相關(guān)推薦

電子產(chǎn)業(yè)圖譜