iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 26
0
自我挑戰組

從python入門到物聯網系列 第 26

Day26 - MQTTlens

前言

昨天在EC2上安裝了 Mosquitto Broker,今天要來用其他裝置連進 EC2 虛擬機的 Broker 上, 透過 Mosquitto Broker 來幫我們收發訊息。

設置EC2的port

收先要開啟 EC2 防火牆的 Port : 1883
這是個重要的步驟,因為 mosquitto Broker 的 Port 預設是 1883,因此,要讓 EC2 允許外部裝置透過這個網路通道跟 MQTT Broker 傳訊。

  1. 開啟EC2

  2. 點選左下方選單中的 Security Groups

  1. 選取自己的裝置後,並選擇上方Actions 裡的 Edit inbound rules

  1. 按下 Add Rule 並依照下圖輸入port:1883

  1. 按下 下方 Save 按鈕

MQTTlens

MQTTLens是Google Chrome瀏覽器插件應用,功能可以連接到MQTT Broker,並進行訂閱與發布到 MQTT topic 的操作。

安裝 MQTTlens

chrome 線上應用程式商店 -> MQTTLens

點擊網址下載套件並開啟

使用 MQTTlens

  1. 按下+ 新增連線設定

  1. 連線設定

  1. 訂閱發布設定

  1. 訂閱主題

訂閱多個主題

主題層級分隔符號:

斜線符號/ 用來切割 Topic 的層級,使 Topic 有等級的結構,下面接著介紹兩個萬用字元。

假設現在有一個 MQTT 主題階層名稱定義如下:

多層級萬用字元:

井字號# 可以訂閱任何層級的 Topic,且一定要加在最後面。

舉例: 訂閱了 a/b/# 則會收到:

  • a/b
  • a/b/e
  • a/b/f
    代表可收到b層級以下所有主題發布的訊息

單一層級萬用字元:

加字號 + 訂閱單一層的主題,可以夾在中間或者後面。

舉例: 訂閱了 a/+ 則會收到:

  • a/b
  • a/c
  • a/d

不會收到:

  • a
  • a/b/e
  • a/b/f

它只會接收到到往下一個層級的主題,因此 a/+ 不會收到 a 主題的訊息 。

手機 MQTT 相關APP

ios

MQTT Terminal pro

操作方式跟MQTTlens類似

  1. 新增要連線的裝置

  2. 設置要訂閱發布的主題

  3. 開始 接收/發布 訊息

android

IoT MQTT Dashboard

操作方式跟也和MQTTlens類似

  1. 新增要連線的裝置

  2. 設置要訂閱發布的主題

  3. 開始 接收/發布 訊息

比較特別的是它發布的功能比較多樣化

可以是按鈕形式,按下去就發布訊息,不用每次都要輸入;也可以數字bar的拉桿,自己選擇最大、最小值,遙控拉桿來傳送數值,滿方便的。

參考資料

https://swf.com.tw/?p=1009

https://blog.gtwang.org/iot/raspberry-pi/raspberry-pi-mosquitto-mqtt-broker-iot-integration/


上一篇
Day25 - AWS EC2 安裝 Mosquitto
下一篇
Day27 - 使用 Python 進行 Publish & Subscribe
系列文
從python入門到物聯網30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言