2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ちょっとした確認で動作させるための環境を整えるのは、結構大変だと思います。
C4SAで簡単に環境設定を行って、ニフティクラウドMQTTを操作していきたいと思います。

前準備

C4SAへの登録は事前に済ませておいてください。15日間無料で利用することができます。
クライアント側には、対応ブラウザ以外は用意する必要はありません。

サブスクライバーを作る

キャンバスを作成

では、Pythonを動作させるキャンバスを作成していきます。

newcanlist.png

新規キャンバス作成をクリックしてPythonのキャンパスを選択します。

newcanname.png

キャンバス名を「Subscriber」に設定します。

subcanlist.png

作成が完了しますと、キャンバス一覧で操作可能となります。

subcandisplay.png

キャンバスを開くと、作成したアプリケーションの操作が可能となります。

必要なモジュールをインストール

C4SAは、パッケージなどをインストールするためのCLIの機能を持っています。
この機能で、CLIからMQTTにパブリッシュするためにPahoをインストールします。
CLIを開いて、以下のコマンドを実行します。

pip install paho-mqtt

subcancliinstall.png

動作させるソースを作成する

ここを参考に、サンプルからニフティクラウドMQTTに接続する情報を設定していきます。
ソースの作成は、キャンバスのエディタを利用していきます。

subcanfilenew.png

新規にファイルを作成しますので、新規作成ボタンをクリックします。

subcanfilenew.png

ファイル名を「mqttsub.py」にします。

subcanfileedit.png

エディタで、以下のファイルを書いていきます。

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

以下のような画面になります。

subcanrun.png

続いて、パブリッシャーを作成していきます。

バブリッシャーを作る

続いてパブリッシュするクライアントを作成します。

はじめに

キャンバスの作成と必要なモジュールをインストールまでは同じ操作で、キャンバスを作成します。

動作させるソースを作成する

ニフティクラウドMQTTに接続する情報を設定していきます。ソースの作成は、キャンバスのエディタを利用していきます。

pubcannew.png

キャンバス名を「Publisher」に設定します。

pubcannewfile.png

ファイル名を「mqttpub.py」にします。

エディタで、以下のファイルを書いていきます。

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

pubcanrun.png

先ほど作成して起動しておいたサブスクライバーがわのキャンバスを見てみましょう。

subcanoutput.png

送信したメッセージが表示されています。

最後に

いかがでしたでしょうか?
簡単にニフティクラウドMQTTを操作することができました。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?