IoTF Quickstartを利用する
ページの上のほうにある[Quickstart]という白色の文字をクリックしましょう。
Quickstartでは、ご自分のmbedのデバイスID(確認方法は後述)を登録することでアプリケーションボードのセンサなどの状態データをIoTFへ送信し、IoTFで送信されたデータを時系列のグラフで見ることができます。
mbedからデータを送るには、既存のプログラムをコンパイルしてmbedへインストールします。
レシピを表示する
mbedをIoTFへ接続するため、「物理デバイスをお持ちの場合」の下にある[レシピを表示]をクリックします(図11、※2)。
さまざまなレシピが表示されますが、これから利用するレシピを検索するため、検索バーに"mbed start"を入力して検索してください(図12)。
検索結果のうち、「ARM mbed IoT Starter Kit (Part 1)」を選択します。選択して開いたページ(レシピパレット)には、このレシピを実行するために必要なもの、事前準備、手順が記載されています(図13)。以降の手順を実施するために必要な情報のみを抜粋して紹介していきます。
※2
mbedやアプリケーションボードが手元にない時は、Quickstartの「デバイスがない場合」のレシピを参考にしてシミュレータを使用すれば、すぐにQuickstartの動作を体験することができます。ご興味があれば、ぜひ試用してみてください。
必要な準備
mbedとアプリケーションボード、それからインターネットに接続できる環境とLANケーブルがあれば準備はOKです。
レシピには「Ethernet IoT Starter Kit」を利用することが記載されていますが、温度センサ(LM75B)、3軸加速度センサ(MMA7660)、ポテンショメータ、およびジョイスティックは、アプリケーションボードにも搭載されていますので問題ありません。
クライアント側の手順
ここからは、IoTFへ登録するmbedのデバイスIDの確認と、アプリケーションボードに搭載されたセンサなどのデータをIoTFへ送信する準備を行います。
mbedへの「IBMIoTClientEthernetExample」のインストール
ブラウザでARM mbed Developer Siteを開き、ログインします(図14)。
ログインを済ませたらページ右隅の[Compiler]をクリックして、オンラインIDEを開きましょう。
オンラインIDEのメニューの[インポート]からImport Wizardを実行します。キーワードに"IBMIoTClientEthernetExample"を入力し、[検索]ボタンをクリックしてください(図15)。
検索結果から、mbed LPC1768用のプログラムを選び、[インポート!]をクリックします(図16)。
Import Programダイアログボックスで[Import]をクリックします(図17)。
インポート済みのプログラムを、[コンパイル]をクリックしてコンパイルします(図18)。
成功すると、バイナリファイル「IBMIoTClientEthernetExample_LPC1768.bin」がダウンロードされます。mbedをPCのUSBポートへ接続し、OSからMBEDドライブが認識されたことを確認したうえで、MBEDドライブへバイナリファイルをコピーします(図19)。
MBEDドライブをPCから取り出します。
アプリケーションボードがmbedに接続されていない場合は、mbedとアプリケーションボードを接続してください(PCからmbedを取り外した後に接続しましょう)。
mbed基板中央のリセット・ボタンを押すと、アプリケーションボードの液晶モニタに、以下の文字列が表示されます(図20)。
IBM IoT Cloud Scroll with joystick
液晶モニタの右脇にある「Joystick」と書かれた小さな白い突起を上下に傾けると、液晶モニタに表示される文字列が変わっていきます。
ジョイスティックを2回、下に傾けると、「Device Identity:」という文字列とともに、12文字の数字とアルファベットが表示されます(図21)。これが皆さんのmbedを識別するデバイスIDになります。後ほどデバイスIDをIoTFへ登録しますので、控えておくか表示させておきましょう。
IoTFとmbedがMQTTで通信するためには、mbedがインターネットにつながっている必要があります。
アプリケーションボードのLANポートにLANケーブルを接続し、もう片方のコネクタをルーターに接続してください。mbedがインターネットへの接続に成功すると、アプリケーションボードのRGB LEDが緑色に光ります(途中段階では赤色や黄色に点滅しますが、正常に接続できたタイミングで緑色になります)。
MQTTでデータを送るための準備ができたことは、ジョイスティックをスクロールしてMQTTのステータスが「Connected」になっていることで確認できます。もし「Disconnect」のまま状態が変わらない場合は、アプリケーションボードとルーターがLANケーブルで正しく接続されているかを確認してください。ジョイスティックでスクロールすると、IPアドレスの取得状態やデフォルト・ゲートウェイが正しい設定になっているかを確認することができますので、問題判別に役立ちます。
以上でクライアント側の準備は終了です。
Quickstartでmbedが送信したデータを見る
Quickstartに戻り、デバイスIDを入力してから[進む]をクリックします。
しばらくすると、mbedから各種センサなどの状態を示すデータが時系列の折れ線グラフとして表示されます(図24)。
初期表示では3軸加速度センサ(MMA7660)のAccelXの値が折れ線グラフで表示されますが、他の項目(例では温度)をクリックすると、Tempのグラフに切り替わります(図25)。
グラフの下部には、statusイベントで送信されたJSONデータのデータ・ポイント(キー)と値、およびタイムスタンプがリアルタイムで表示されます。
mbedおよびアプリケーションボードを傾けたり、ジョイスティックを上下左右に動かしたりして、値が変わることを確認しましょう。
また、他のデータ・ポイントのグラフに切り替えて見てみましょう。
第2回のまとめ
第2回では、アプリケーションボードでmbedを拡張し、JSON形式のセンサデータをIoTF QuickstartというMQTTブローカーに送信して、Quickstartからリアルタイムにデータを見るところまでを実践しました。また、MQTTやJSONという技術がどのような特徴を持ち、IoTのどこに用いられているのかを学びました。
今回は1行もコードを書かずにIoTの世界を体験しましたが、次回以降はアプリケーション開発も行いながら、簡単なIoTサービスを試作する予定です。
