#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()



トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS