【 Edge 】於 Raspberry Pi 安裝與設定 Mosquitto MQTT Message Broker 並進行 Publish 與 Subscription 測試

【 Edge 】於 Raspberry Pi 安裝與設定 Mosquitto MQTT Message Broker 並進行 Publish 與 Subscription 測試
Photo by Colin Watts / Unsplash

內容

  • 學習目標
  • 前置準備作業
  • 安裝 Mosquitto
  • 設定 Mosquitto
  • 透過指令來測試
  • 透過 Python 來測試

學習目標

  • 如何在 Raspberry Pi 安裝與設定 Mosquitto MQTT Message Broker 並進行 PublishSubscription 測試

前置準備作業

  • 準備一台可上網的 Raspberry Pi

安裝 Mosquitto

Step 1. 取得遠端更新伺服器的套件檔案清單

  • 請於終端機輸入下方指令

    sudo apt-get update
    

    ---2022-04-28---1.00.23


Step 2. 安裝 mosquitto

  • 請於終端機輸入下方指令

    sudo apt-get install -y mosquitto mosquitto-clients
    

    ---2022-04-28---1.01.35

設定 Mosquitto

Step 1. 取得 Raspberry Pi 的 IP

  • 請於終端機輸入下方指令

    hostname -I
    

    ---2022-04-28---11.24.49


Step 2. 修改設定檔

  • 請於終端機輸入下方指令

    • 修改 Rpi-IPStep 1 所取得的 IP
    sudo vi /etc/mosquitto/mosquitto.conf
    
    allow_anonymous true
    listener 1883 Rpi-IP
    

    ---2022-04-28---1.03.23


Step 3. 重新開啟 mosquitto

  • 請於終端機輸入下方指令
    sudo service mosquitto stop
    sudo service mosquitto start
    

透過指令來測試

Step 1. 在 Raspberry Pi 端 - Subscriber

  • 請於終端機輸入下方指令

    • 修改 Rpi-IP設定 Mosquitto 段落中 Step 1 所取得的 IP
    mosquitto_sub -h Rpi-IP -t msg/info
    

    ---2022-04-28---1.08.53


Step 2. 在 電腦 端 - Publisher

  • 請於終端機輸入下方指令

    • 修改 Rpi-IP設定 Mosquitto 段落中 Step 1 所取得的 IP
    mosquitto_pub -h Rpi-IP -t msg/info -m "hello world"
    

    ---2022-04-28---1.10.17


Step 3. 確認結果

  • Raspberry Pi 端會看到從 電腦 傳送過來的資訊

---2022-04-28---1.10.40

透過 Python 來測試

Step 1. 在 Raspberry Pi 端與 電腦 端安裝套件

  • 請於終端機輸入下方指令

    pip install paho-mqtt==1.6.1
    

    ---2022-04-28---1.11.34


Step 2. 在 Raspberry Pi 端 - Subscriber

  • 請於 Raspberry Pi 端新增 subscriber.py 的檔案,其內容如下 :

    • 修改 Rpi-IP設定 Mosquitto 段落中 Step 1 所取得的 IP

    ---2022-04-28---1.24.13


Step 3. 在 電腦 端 - Publisher

  • 請於 電腦 端新增 publisher.py 的檔案,其內容如下 :

    • 修改 Rpi-IP設定 Mosquitto 段落中 Step 1 所取得的 IP

    ---2022-04-28---1.15.28


Step 4. 執行 Subscriber 程式

  • 請於 Raspberry Pi 端執行下方指令

    python subscriber.py
    

    ---2022-04-28---1.16.20-1


Step 5. 執行 Publisher 程式

  • 請於 電腦 端執行下方指令

    python publisher.py
    

    ---2022-04-28---1.26.14


Step 6. 確認結果

  • Raspberry Pi 端的 Subscriber 程式會看到從 Publisher` 程式傳送過來的資訊

---2022-04-28---1.27.05

GitHub

List of blogs