#author("2022-09-18T17:37:14+09:00","siio","siio") [[How2MQTT]] Raspberry PiのPythonからMQTTを使うメモ。 MQTTについては、以下を参照のこと。 - http://is.ocha.ac.jp/~siio/index.php?How2MQTT - http://is.ocha.ac.jp/~siio/index.php?How2HomeKit_MQTT - http://is.ocha.ac.jp/~siio/index.php?How2Homebridge_Mqttthing - http://is.ocha.ac.jp/~siio/index.php?How2ESP32MQTT *PythonからMQTTする [#fda86cac] MQTTを扱うライブラリはいくつかある様子。paho-mqttというライブラリがよく使われているようなので、これを使うことにした。 こちらを参考にした。 - https://qiita.com/emqx_japan/items/b63c918fe137a6db4b37 **paho-mqttのインストール [#x53f3d7c] インストールしたばかりのRaspberry Piにはpipがなかったのでインストール。 sudo apt install pip paho-mqttをインストール pip install paho-mqtt **サンプルプログラム [#od811bd5] #!/usr/bin/python from paho.mqtt import client as mqtt_client address='localhost' port=1883 debug_topic='light/debug' sub_topic='light/setOn' pub_topic='light/getOn' client_id=f'python_856389663' #something random #username='' #passwor='' def on_connect(client, userdata, flags, rc): if rc==0: print("Connection established.") client.publish(debug_topic,"Python client connected.") else: print("Failed to connect: %d\n",rc) def on_message(client, userdata, msg): print(msg.payload.decode()) client=mqtt_client.Client(client_id) #client.username_pw_set(username,password) client.on_connect=on_connect client.connect(address,port) client.subscribe(sub_topic) client.on_message=on_message client.loop_forever()