sangoの使い方 - Python編¶
Pythonからsangoを使う方法について説明します。
Rubyでsangoを使うには以下の手順で行います。
pipでライブラリをインストール
クライアントの実装
確認した環境
python 2.7.8
paho-mqtt 1.0
1. pipでライブラリをインストール¶
pythonでは paho-mqtt を使います。なお、 mosquitto のライブラリもありますが、すでに開発が終了していますので、ご注意ください。
pip install paho-mqtt
2. クライアントの実装¶
mqtt.Client()
でMQTTクライアントのインスタンスを作成し、connectを実
行すれば接続します。デフォルトではMQTT 3.1で接続するようになっています
ので、 protocol
という引数を与えて3.1.1で接続するようにします。
connect後は get
でSubscribeを行ったり、 publish
でPublishを行っ
たりできます。
Connect¶
Connect部分はPub/Subともに共通です。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import paho.mqtt.client as mqtt
MQTTHOST = "free.mqtt.shiguredo.jp"
USERNAME = "example@github"
PASSWORD = "password"
# 3.1.1用のClientを作成します
client = mqtt.Client(protocol=mqtt.MQTTv311)
# ユーザー名とパスワードを設定します
client.username_pw_set(USERNAME, PASSWORD)
# 接続します
client.connect(MQTTHOST)
Subscribe¶
TOPIC = "shirou@github/a/b"
# Subscribeします
client.subscribe(TOPIC)
# メッセージを待ち受けるループに入ります
client.loop_forever()
Publish¶
TOPIC = "shirou@github/a/b"
# Publishします
client.publish(TOPIC, "message from python")
# そのままだとすぐにプロセスが終了してしまいますので、Publishし終わるまで待ちます
import time
time.sleep(0.05)
Comments
comments powered by Disqus