United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

DesignSpark IoTクラウドでDesignSpark IoTキットを試す! パート2: キットをクラウドへつなぐ

先日、DesignSparkが新たに提供するIoTデータプラットフォームである「DesignSpark IoT クラウド」がリリースされた。これに伴い、様々な大気の情報を収集するのに役立つDesignSpark IoTキットの発売が開始する。

パート1では、まず新たにリリースしたDesignSpark IoTクラウドで何ができるのか、IoTキットには何が含まれており、どんな情報が収集できるのか紹介した。

パート2では、実際にキットをどのようにしてIoTクラウドへとつなげるのか、具体的な手順について紹介を行っていく。

必要な手順はすべてで7ステップだ。

  1. DesignSpark IoTクラウドのアカウントの登録とデバイスの追加
  2. Arduino IDEのインストール
  3. Arduino IDEへのWio Linkボード開発ライブラリの追加
  4. Wio Linkボードのドライバの確認
  5. DesignSpark IoTキットのライブラリインストール
  6. Wio Linkボードへのデータ収集を行うプログラムの書き込み
  7. 情報を共有するためコミュニティへ登録

IMG_5371_8628f47834f09b79308ee7ec15bd8d3519c79fbb.jpg

1.    DesignSpark IoTクラウドのアカウントの登録とデバイスの追加

まず、DesignSpark IoTクラウド (https://designspark.allthingstalk.com)へアクセスし、Emailアドレスとユーザーネーム、パスワードを入力してアカウントを作成する。

このとき、アドレス確認メールが迷惑フォルダに入る場合があるので注意してほしい。

ログインが完了し、左上のドロップダウンをクリックするとこのような画面を見ることができるはずだ。

dashboard_ac1545e88ac6820613724dd933e5fb9b2700d4a0.png

DesignSpark IoTクラウド Dashboard

各ユーザーは「Ground」と「コミュニティ」を見ることができ、最初に自動的にPlaygroundに追加されているが何もないはずだ。コミュニティに参加したい場合は、コミュニティを開き「Join Community」をクリックする。

また、次にデバイスを追加する。左上のドロップダウンから、Playgroundを選択し、「+CONNECT DEVICES」をクリックする。すると以下のようなカタログが複数表示される。

Catalogue_662a9f96a146b1220e09ba16765ce3cf8e4d9ecb.png

DesignSpark IoTクラウド Devices Catalogue

今回のキットは左上の「Air Quality Measurement Kit」なので、これを選択する。すると、何も値が表示されていない仮想のデバイスが追加される。

このとき、右上のSETTINGS→Authenticationを開き、表示されるDevice IDDevice Tokensを控えておく。これは後でWio Linkボードの認証に必要になる。

authentication_86ffa3cbbfb2cfd8f3c3fff4b5fbe35f5275bcd5.png

Device AUTHENTICATION

また、デバイスの名前が初期の「Air Quality Management Kit」から適切な名前に変更することをお勧めする。今回は「Air Quality Japan Hodogaya Office」に変更した。

デバイスには位置情報を取得するセンサは取り付けていないため、今回は手動でデバイスの位置を設定しておいた。

2.    Arduino IDEのインストール

Wio LinkボードのプログラミングのためにArduino IDEが必要となる。既にインストールをしている方も多いとは思うが、今回利用するライブラリなどにはバージョン1.8.0以上が必要になるので注意してほしい。

Arduino IDEのダウンロードはこちらから

3.    Arduino IDEへのWio Linkボード開発ライブラリの追加

Arduino IDEの環境設定からボードマネージャに以下を追加する。

http://arduino.esp8266.com/stable/package_esp8266com_index.json

ArduinoIDE%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A_b8cc8cb1ef6fd66fb0a665c93660c7eb17ce6748.png

Arduino IDEの環境設定

ツール→ボード→ボードマネージャの追加から、「Wio Link」と検索して「ESP8266」を追加する。

boadmanager_124edc2b5e0b1f90333fd1f84dceb8a5b4a77cbb.png

ボードマネージャでESP8266を追加する様子

これでツール→ボードから「Seeed Wio Link」が選択できるようになった。以降、Arduino IDEでプログラミングを行う際にはこのボードを選択する。

4.    Wio Linkボードのドライバの確認

今回、私が試したOSはWidowsであるが、場合によっては標準でドライバがインストールされない場合がある。その場合にはFTDIドライバのインストールが必要となる。以下から自身の環境に合ったドライバをインストール可能だ。

http://www.ftdichip.com/Drivers/VCP.htm

上記のドライバダウンロード後解凍し、Wio LinkボードをPCと接続する。デバイスマネージャを開き、ポート(COMとLPT)にある、対象のデバイスを右クリック、プロパティを開く。ドライバの手動更新から、先ほどダウンロードしたファイルがはいったフォルダを選択するとドライバが読み込まれる。

なお、MacやLinux環境ではこうしたドライバのインストールは基本的には必要ない。

Macの場合はディレクトリ/dev/ttyXXXとして見えるはずだ。

5.    DesignSpark IoTキットのライブラリのインストール

Arduino IDEで必要になる、DesignSpark IoTキットのライブラリは以下からダウンロードできる(Link切れの場合はこの記事のコメントに連絡してほしい)。ZIP形式になっている。

ライブラリDownload

ダウンロードしたライブラリは、このZIPファイルのままでは追加できない。一度解凍し、以下のように、それぞれの環境に合わせて適切な場所にコピーする。サブフォルダをすべてコピーすること

  • Windows

Mydocuments/Arduino/Libraries/

  • MacOS

Documents/Arduino/Libraries/

きちんとコピーされると以下のようになるはずだ。

AddLibraries1_b0715600a5b8ab3f35a72184bd85296174d33e50.png

Arduinoライブラリにサブフォルダをすべてコピーした様子

6.    Wio Linkボードへのデータ収集を行うプログラムの書き込み

それではプログラムを書き込む前に、Wio Linkボードにそれぞれのセンサを接続しよう。以下の図を参考にしてセンサを接続する。

ConnectGrov_76b138f3f1d87658440cb3a05755471dee241333.png

Wioリンクボードへの接続:①Wio Linkボード、②温度/湿度センサ、③ガスセンサ

図のように接続できたら、PCと接続する。

ここからはArduino IDE上での作業となる。まずツール→ボードから「Seed Wio Link board」を選択し、ツール→ポートから適切なCOMポートを選択。

また少しわかりづらいかもしれないが、以下の手順でスケッチの例を開く。

ファイル→スケッチ例→ATT_IoT→wio→DesignSpark_AQ_V1

うまく開くことができると、このようなプログラムが開くはずだ。

program-main1_c60c02fd68d455ca9c8b1d987b892ab05dd89869.png

スケッチ例を開いた様子

同時に、keys.hというファイルも開かれている。

program-keys_c89dae20e35e0cce58781c8e653f2654a9e70270.png

keys.h

ここで、「1.DesignSpark IoTクラウドのアカウントの登録とデバイスの追加」で作成した仮想のデバイスのDevice IDDevice Tokens、そして自身の周囲で利用可能なWiFiのSSIDとパスワードを設定する。ただし、WiFiの暗号化設定に関しては自動で選択されるため気にしなくて大丈夫なはずだ。

それでは「➡」ボタンをクリックコンパイルしよう。エラーが出なければきちんとコンパイルされ、ボードへと書き込まれるはずだ。

一般的なArduinoやその互換ボードなどのデバッグにはシリアルモニタが利用できる。ツール→シリアルモニタを開いてみる。

SuccessSerial_02183d7c767c6943056f3b568e04d8d9c7e86c2b.png

書き込み成功時のシリアルモニタへの出力

WiFiに適切に接続され、MQTTサーバとのコネクションが確立されていれば成功している。

これで作成した仮想のデバイスと、現実のデバイスが結び付けられ、デバイスからアップロードされたデータがDesignSpark IoTクラウドへと収集できるようになった。なお、サーバにデータを送信する頻度は30秒に一回だ。

7.    情報を共有するためコミュニティへ登録

ここまでうまくいっていれば、自身のデバイスの情報が収集できているはずだ。しかし、このままでは最初のマップの図のように他のユーザーからそのデータを確認することができない。

まずDesignSpark IoTクラウドにログインし、デバイスが情報を取得できているか確認する。もしできていなければどこか設定が間違っているかもしれない。うまくいっていれば、以下のように複数のセンサの値が表示されているはずだ。

YourDeviceFinal_5a1a6cca39bd8aa1edaa63e42d5f37e8f3cb8cee.png

デバイスのセンサ値の表示

それでは、情報を共有するため、右上のSETTINGS→SHARE DATAを開こう。

ここでCOMMUNITIESにいくつかのコミュニティが見えるはずなので、ここで登録したデバイスのデータを共有したいコミュニティのボタンをONにする。これで共有は完了だ。

ただし、位置情報は静的に設定しないといけないため、正しい場所に設定しよう。

以上で、DesignSpark IoTキットをDesignSpark IoTクラウドへと接続し、収集したデータをアップロードすることができるようになった。IoTクラウドへとアカウントを登録し、今回登録した「Air Quality Japan Hodogaya Office」を確認してほしい。

最後に

今回はパート1に引き続き、DesignSpark IoTクラウドの活用例を、IoTキットを用いて紹介した。

現在、様々なIoT技術が出現/発展し、注目を浴びている。その中で、今回紹介したDesignSpark IoTクラウドは「情報のシェア」において非常に有力なツールとなるだろう。また、蓄積したデータを可視化、さらに分析することによって、例えば大気汚染といった課題の解決の糸口や、ソリューションの提供が可能になるかもしれない。

まだ開始したばかりのサービスであるが、無料で登録でき、AllTingsTalkと互換性がある。是非一度登録してみてほしい。

https://designspark.allthingstalk.com/

またAllThingsTalkはGithubに多くのSDKなどを公開している。開発者に興味がある人は一度チェックしてみると良いだろう。

https://github.com/allthingstalk

パート1はこちら

Hi, Everyone. I was master of University of Electro-communication, and bachelor of University of Hiroshima city. Now, I often work at Deloitte Tohmatsu Cyber. Also, I always check and translate some articles here. My major is about LoRa/LoRaWAN, IoT, CAN(Controller Area Network), these Security, etc. Please contact me, don't hesitate. My region: information science, radio, network, iot, iiot, security, lora, lorawan, 802.11ah, etc.