前回 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で送る方法を紹介します。