準備
前編の続きになります。また、IBM Cloud ライトアカウントにおける「Internet of Things Platform」について、下記の資料をもとに、「What's Next Pink」と「MiCS5524搭載 ガスセンサモジュール」がつながった「Rapsberry Pi Zero WH」を、「Internet of Things Platform」にデバイス登録します。
資料
Rapsberry Pi Zero WH側準備
Raspberry Pi Zero WH上の「Node-RED」にアクセスし、下図のようになるように、「出力」のWatson IoTノードを配置、設定します。
「出力」のWatson IoTノードを配置直後は、「IBM IoT Device」と表示されていますので、「IBM IoT Device」をダブルクリックし、設定画面で、下図のように設定します。
Credentialsの項目は、デバイスタイプとデバイスIDが表示されますので、設定する人や組織によって異なります。
画面右上の「デプロイ」をクリックしてRaspberry Pi側のNode-REDは準備完了です。
IBM Cloud側準備
前述の資料を読んでいればとても簡単な操作です。
IBM Cloud側のNode-REDで、Raspberry Pi側からのデータを受信し、IBM Cloudant内のデータベースに格納するだけです。IBM Cloudantは、資料で触れているように、IBM Cloud側で「Node-RED Starter」でNode-RED環境を用意する際には、一緒に用意されますので、説明は省略します。詳しくは前述の資料の無料のIBM Cloudライトアカウントで始めるIoTのHello Worldをご確認ください。
IBM Cloud側Node-RED
IBM Cloud側でのNode-REDでは、下図のようにフローを組みます。
カテゴリ「入力」の「ibmiot」、「出力」の「debug」、「ストレージ」の「cloudant(cloudant out)」を配置し、線で結びます。
1つ1つ見ていきます。
ibmiot
「Internet of Things Platform」にデバイス登録したデバイスタイプやデバイスIDを下図のように入力し、「完了」をクリックします。
cloudant(cloudant out)
ノードの左側に線でつなぐための口があります。右ではありません。設定は3箇所です。Serviceの欄は、Node-RED環境作成ときにCloudant環境を同時に有効化していれば、自動で挿入されます。
入力後、「完了」をクリックします。
debug
これは、「ibmiot」と線でつなぐだけです。
デプロイ
各ノードを設定し終えたら画面右上の「デプロイ」をクリックします。Raspberry Pi側でセンサー値を取得し、IBM Cloud側のNode-REDに送信し、IBM Cloud側のNode-REDの虫型アイコンのデバッグタブで受信値を確認できます。
また、Cloudantの管理画面にアクセスし、受信値がデータベースに格納されていることを確認します。
IBM Cloudの「リソース・リスト」>>「Services」>> Cloudantのサービス名の順にクリックし、表示される「Launch Cloudant Dashboard」をクリックします。
表示されるデータベース一覧から、IBM Cloud側のNode-REDで設定したデータベース名を選び、格納されているデータを表示します。
まとめ
前編と後編に分けて、ハードウェア側とクラウド側でそれぞれ説明しました。ハードウェア側からクラウド側にデータを送る方法がわかれば応用が効くはずです。