PCのカメラから人物を推定してその物体の座標をMQTTで送る その2

前回 PCのカメラから人物を推定してその物体の座標をMQTTで送る その1 に引き続き、今回はPythonでMQTTをpublishするコードを紹介します。

必要なライブラリのインストール

MQTTブローカーとSubscriberの準備

MQTTのブローカーはshiftrを使用し、こちらの記事(私のブログです)を参考にしてNode-RED上にMQTTのPublishとSurbsribeアプリを作成しました。

shiftr.ioをブローカーとして使いhtmlサイトとNode-REDでMQTTで通信する方法

MQTTの設定はこちら。

テストでNode-REDからPublishを行い、Subscribeでメッセージを受信できることを確認します。

MQTTメッセージをPublishするPythonコード

import paho.mqtt.client as mqtt
import time

BROKER = "public.cloud.shiftr.io"  # Shiftr.ioのブローカー
PORT = 1883
TOPIC = "pythontest"
USERNAME = "public"
PASSWORD = "public"

# MQTT クライアントの作成
client = mqtt.Client()

# 認証情報を設定
client.username_pw_set(USERNAME, PASSWORD)

# MQTTブローカーに接続
client.connect(BROKER, PORT, 60)

# メッセージを送信
for i in range(5):
    message = f"Hello MQTT {i}"
    client.publish(TOPIC, message)
    print(f"Sent message: {message}")
    time.sleep(2)  # 2秒間隔で送信

# 接続を終了
client.disconnect()

実行します。

このように無事にPythonからPulishしたMQTTメッセージをNode-REDで受信することができました。

次回は、前回の人物検出したデータをのMQTTで送る方法を紹介します。