ちょっとした確認で動作させるための環境を整えるのは、結構大変だと思います。
C4SAで簡単に環境設定を行って、ニフティクラウドMQTTを操作していきたいと思います。
前準備
C4SAへの登録は事前に済ませておいてください。15日間無料で利用することができます。
クライアント側には、対応ブラウザ以外は用意する必要はありません。
サブスクライバーを作る
キャンバスを作成
では、Pythonを動作させるキャンバスを作成していきます。
新規キャンバス作成をクリックしてPythonのキャンパスを選択します。
キャンバス名を「Subscriber」に設定します。
作成が完了しますと、キャンバス一覧で操作可能となります。
キャンバスを開くと、作成したアプリケーションの操作が可能となります。
必要なモジュールをインストール
C4SAは、パッケージなどをインストールするためのCLIの機能を持っています。
この機能で、CLIからMQTTにパブリッシュするためにPahoをインストールします。
CLIを開いて、以下のコマンドを実行します。
pip install paho-mqtt
動作させるソースを作成する
ここを参考に、サンプルからニフティクラウドMQTTに接続する情報を設定していきます。
ソースの作成は、キャンバスのエディタを利用していきます。
新規にファイルを作成しますので、新規作成ボタンをクリックします。
ファイル名を「mqttsub.py」にします。
エディタで、以下のファイルを書いていきます。
# coding=utf8
import paho.mqtt.client as mqtt
USERNAME = "[管理者ユーザー名]"
PASSWORD = "[パスワード]"
def on_connect(client, userdata, result):
print("Connected with result code " + str(result))
def on_message(client, userdata, msg):
print(msg.topic + " " + str(msg.payload))
if __name__ == '__main__':
client = mqtt.Client()
client.username_pw_set(USERNAME, PASSWORD)
client.on_connect = on_connect
client.on_message = on_message
client.connect("[ドメイン]", [MQTTポート])
client.subscribe("topic/#")
client.loop_forever()
動作させてみる
CLIを再度開いて、以下のコマンドを実行します。
python mqttsub.py
以下のような画面になります。
続いて、パブリッシャーを作成していきます。
バブリッシャーを作る
続いてパブリッシュするクライアントを作成します。
はじめに
キャンバスの作成と必要なモジュールをインストールまでは同じ操作で、キャンバスを作成します。
動作させるソースを作成する
ニフティクラウドMQTTに接続する情報を設定していきます。ソースの作成は、キャンバスのエディタを利用していきます。
キャンバス名を「Publisher」に設定します。
ファイル名を「mqttpub.py」にします。
エディタで、以下のファイルを書いていきます。
# coding=utf8
import paho.mqtt.client as mqtt
USERNAME = "[管理者ユーザー名]"
PASSWORD = "[パスワード]"
if __name__ == '__main__':
client = mqtt.Client()
client.username_pw_set(USERNAME, PASSWORD)
client.connect("[ドメイン]", [MQTTポート])
client.publish("topic", "C4SA test message")
動作させてみる
CLIを再度開いて、以下のコマンドを実行します。
python mqttpub.py
先ほど作成して起動しておいたサブスクライバーがわのキャンバスを見てみましょう。
送信したメッセージが表示されています。
最後に
いかがでしたでしょうか?
簡単にニフティクラウドMQTTを操作することができました。