- IoT Platformの作成
- 必要情報の設定(1/2)
- 必要情報の設定(2/2)
- コマンドによる確認
IoT Platformの作成
IoT Bluemixのカタログから、
Internet of Things Platformを選択
遷移先のページでLiteを選択し、Create
Liteプランでは 500デバイス上限で、200MBまでの通信が使える。
遷移先のページでLaunch
デバイスタイプの設定
左のメニューからDEVICESを選択。
Add Deviceを選択。
Create device type
もう一度Create device type
デバイスタイプの名前を設定
ここで設定した名前が「デバイスタイプ」となる。
他の人が使っていない名前にする必要がある。
入力したらnextを押して進む。
次にテンプレートを選ぶ画面になるが、選択しなくてOK。
そのままNext。
最後に確認画面が出るので、Next。
メタデータの設定も空欄でOK。
今までNextと書かれていた部分がCreateになるので、クリック。
すると最初の画面に戻り、先程設定した値が選択されていることを確認してNext。
Device IDを設定する。
入力したらNext。
またメタデータの入力画面になるので、空欄でOK。
次の画面で2通りの選択肢が与えられるが、自分は入力欄にトークンを入力した。
入力したら確認画面になるので、Addを押して作成。
作成したら、Organization IDをメモっておく。(URLにも入っている)
ここまでで、
- デバイスタイプ
- デバイスID
- トークン
- Organization ID
あとはAPI Keyを設定する。
API Keyの設定
上記の流れで来ると、まだデバイスタイプのウィンドウが開いていると思うので、×ボタンで閉じる。メニューのAPPSを選択。
Generate API Keyをクリック。
API KeyとAuthentication Tokenをメモして、Generateをクリック。
特に、Authentication Tokenは再確認しづらい(できない?)ので、確実に保存しておく。
mosquittoによる確認
mosquittoのコマンドで確認-uオプションや-Pオプションはシングルクォーテーションでくくっておかないと、文字列とターミナルソフトによっては変数展開されてしまう。
サブスクライブ(Subscribe)コマンド(【パラメータ】を上記で取得したものに置き換え)
mosquitto_sub -i a:【Organization ID】:【App ID(任意の文字列)】 -h 【Organization ID】.messaging.internetofthings.ibmcloud.com -u '【API Key】' -P '【Authentication Token】' -t "iot-2/type/【デバイスタイプ】/id/【デバイスID】/evt/【トピック】/fmt/json" -d上記コマンドを実行し、
Subscribed (mid: 1): 0このようなステータスで止まっていればサブスクライブ中。
サブスクライブとは別のターミナルで以下のパブリッシュ側コマンドを実行。
パブリッシュ(Publish)コマンド(【パラメータ】を上記で取得したものに置き換え)
mosquitto_pub -i d:【Organization ID】:【デバイスタイプ】:【デバイスID】 -h 【Organization ID】.messaging.internetofthings.ibmcloud.com -u "use-token-auth" -P '【トークン】' -t "iot-2/evt/【トピック】/fmt/json" -m '{"d":{"q":"適当なJSONメッセージ。dやqも変えて良い"}}' -d上記コマンドを実行すると、サブスクライブ側で
{"d":{"q":"適当なJSONメッセージ。dやqも変えて良い"}}のようにパブリッシュしたjsonメッセージが受信できているはず。
これで無料でMQTTブローカーが手に入る。