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

前回 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コード

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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で送る方法を紹介します。