本文へジャンプします。

ニフティクラウド ユーザーガイド

MQTT:クイックスタート

MQTTの利用手順を紹介します。
クイックスタートではニフティクラウドのお申し込みからMQTTサーバーの作成、作成したMQTTサーバーへのメッセージの発行から受信までを紹介します。
ニフティクラウドへの申し込みが完了している場合、このクイックスタートは10分ほどで終了します。

ステップ1:申し込み・ログイン

MQTTを利用するにはニフティクラウドへのお申し込みが必要です。
申し込みが完了したらニフティクラウドコントロールパネルよりMQTTをご利用いただくことができます。

ニフティクラウドへのお申し込み

「ニフティクラウドお申し込み」より、申し込みを行います。

ログイン

「ニフティクラウドコントロールパネル」にアクセスし、@nifty IDとパスワードを入力してログインします。

コントロールパネルのビックメニューよりMQTTを選択します。

ビッグメニュー

ダッシュボード

MQTTのダッシュボードが表示されます。

 MQTTダッシュボード画面

ステップ2:MQTTサーバーの作成

まずはMQTTサーバーを作成してみましょう。
下記ではコントロールパネルからMQTTサーバーを作成する方法を説明します。

MQTTのダッシュボードを表示します。

 MQTTダッシュボード画面

「MQTTサーバーを作成する」をクリックすると、ダイアログが立ち上がり、「MQTTサーバー作成」画面が表示されます。

MQTTサーバー名、管理者ユーザー名、管理者パスワード、メモを入力し、「作成する」ボタンをクリックします。

  • ※ ここで入力した管理者パスワードは、あとで確認することができないので忘れずに保管しておいてください。
  • ※もし管理者パスワードを忘れてしまった場合は後からコントロールパネルで変更することは可能です。
  • ※ここで作成した管理者ユーザーとパスワードはMQTTサーバーにアクセスするために利用します。

 MQTTサーバー作成画面

ダイアログが閉じ、MQTTサーバー一覧に作成されたMQTTサーバーが表示されます。

 MQTTサーバー一覧に作成されたMQTTサーバー画面

ステップ3:メッセージ発行の動作確認

作成されたMQTTサーバーを使ってメッセージの発行を試してみましょう。

Rubyでsubscribeする場合

事前にローカルPCにRubyをインストールしておいてください。
Rubyからmqttに接続するにはgemのmqttを利用します。

GEM
#gem install mqtt --no-ri --no-rdoc -V

ドメイン、MQTTポート、管理者ユーザー名をコントロールパネルより取得します。
管理者パスワードは、MQTTサーバー作成時に入力した値を指定します。

コントロールパネル画面

以下のようなスクリプトを「sub.rb」で保存してください。

require 'mqtt'

host     = 'devmqttdckr001'   #ドメイン
port     = 16000              #MQTTポート
user     = 'admin-user'       #管理者ユーザー名
password = '●●●●●●'     #管理者パスワード

client   = MQTT::Client.connect(
  :host     => host,
  :port     => port,
  :username => user,   
  :password => password
)

client.get('mqtt/#') do |topic,message|
puts "#topic: #message" 
end

メッセージを subscribe する際にトピックを指定する必要があります。
今回は「mqtt/#」というトピックを subscribe するようにコード上で記載しています。
「#」はワイルドカードの役割を果たしているため「mqtt/」配下に発行されたメッセージはすべて subscribe することができます。
サンプルコードが記載できたらコマンドライン上で作成したsub.rbを実行してください。

#ruby sub.rb

この状態でメッセージの発行を行ってみます。
コントロールパネルより作成したMQTTサーバーを選択し、メッセージ発行を選択します。

 メッセージ発行を選択

表示された画面より、任意のメッセージを発行します。
メッセージを発行する際に管理者のユーザー名とパスワードを入力してください。
またメッセージを発行するトピックは「mqtt/demo」を指定してください。
subscribe する際にしていしたトピックとマッチするトピックに対してメッセージを発行しないと subscriber 側はメッセージを受信することができません。
今回は「mqtt/demo」を指定していますが、「mqtt/a」「mqtt/hoge」でも構いません。

入力が完了したらメッセージを発行してみましょう。

 メッセージ発行

起動しておいた sub.rb 側に発行したメッセージの情報が表示されれば成功です。

mqtt/demo: Hello MQTT

推奨画面サイズ 1024×768 以上