[ Data Visualization ] Python 串接 Mosquitto MQTT Broker

學習目標

  • 透過 Python 傳送數據到 Mosquitto MQTT Broker

前置準備作業

  1. 一台已連上網路的電腦

  2. 已安裝 Mosquitto MQTT Broker 【 安裝教學 】

  3. 已安裝 Node-RED 【 安裝教學 】

  4. 已設定完成 Node-RED 串接 Mosquitto MQTT Broker 【 設定教學 】

  5. 已設定 Node-RED 設定 Dashboard 【 設定教學 】


Step 1. 撰寫 Python 串接程式

  • 更新程式中的 MQTT_SERVER,請自行更改為 Mosquitto MQTT Broker 所在位置,亦即是 AWS EC2 Ubuntu Server 所在的 IP 位置
  • 將下方程式存檔為【 檔名.py 】
    • Python 程式的副檔名為【 py 】
    • 檔名的部份請自行命名,本範例命名為【 mosquitto_mqtt.py 】
import paho.mqtt.client as mqtt  
import time  
import json  
import random

# *********************************************************************
# MQTT Config

dataChnId1 = "Temperature"  
MQTT_SERVER = "54.159.81.55"  
MQTT_PORT = 1883  
MQTT_ALIVE = 60  
MQTT_TOPIC1 = "Sensor/" + dataChnId1 + "/Room1" 

# *********************************************************************

mqtt_client = mqtt.Client()  
mqtt_client.connect(MQTT_SERVER, MQTT_PORT, MQTT_ALIVE)    

while True:  
  t0 = random.randint(0,30)
  payload = {"dataChnId":dataChnId1,"value":t0}
  print(dataChnId1 + " : " + str(t0))
  mqtt_client.publish(MQTT_TOPIC1, json.dumps(payload), qos=1)
  time.sleep(10)


Step 3. 安裝 Python 的 paho-mqtt 套件

在 TERMINAL 處輸入下方指令進行安裝套件
pip install paho-mqtt

★ 此指令代表使用 Python 的套件管理工作【 pip 】來安裝【 paho-mqtt 】套件

安裝完成畫面


Step 4. 執行 Python Code

在 TERMINAL 處輸入下方指令執行程式
python 檔名.py

★ 此指令代表使用【 python 】編譯器來執行【 檔名.py 】的程式
★ 本範例程式命名為 mcs_api.py,故此處執行方式為【 python mosquitto_mqtt.py 】


Step 5. TERMINAL 執行畫面


Step 6. 開啟 Node-RED 編輯頁面

❖ 6.1【 debug 】 頁籤 

❖ 6.2  點選右上角的 【 dashboard 】 頁籤  ➙ 【 Site 頁籤右邊的開啟視窗 】 按鈕

❖ 6.3  Node-RED Dashbaord 顯示數據畫面


Reference
GitHub
List of blogs
ALL RIGHTS RESERVED. COPYRIGHT © 2018. Designed and Coded by Makee.io