IoT(Internet of Things)研修を受けてきました

Amazon Elasticsearch Service, Amazon Web Services, AWS CLI, AWS IoT, IoT(Internet of Things), Kibana, セミナー・イベント

こんにちは。ソリューション開発部の栗田です。

ここ数年でIoTという言葉を聞く機会が何度もありましたが、業務で関わる機会もなく完全にIoT弱者となっていました。これはまずいと思い、JavaDay2016や、AWS Summit Tokyo2016でIoTに関するセッションを聞き、今回IoT/クラウド・チュートリアルに参加させてもらいましたのでご紹介したいと思います。

IoTって結局何なの?というところからスタートしましたが、「様々なセンサーでデータを取得し、Internetで情報を送ってその情報を何かに使おうよ!」という理解をしました。

ビジネスを考えるときには、何のセンサーを使ってどういう値を取得し、それを何に使うかということを考えないといけません。

例えば、明るさを測定し、照明の明るさを調整したり、サーバールームの温度を測定し、温度調整をするといった事に利用している事例があるそうです。干してある洗濯物の湿度を測って、乾いたらスマートフォンに通知がくるとかあるといいなと思いました。

今回の研修では、距離を測るセンサーを利用し、Raspberry Piでその値を取得しAWSに送るという内容を実施しました。実はAWS Summit Tokyo2016でIoTのハンズオンも受けたのですが、内容的にはほぼ同じ内容でした。何が違うかというとIoTゲートウェイ部分が違い、Raspberry Piではなく専用のデバイスを利用しました。実運用レベルではRaspberry Piは消費電力等も考えると厳しいので検証で使う程度で考えておいた方が良いそうです。

これが今回利用したセンサーの「超音波距離センサーHC-SR04(2~180cm)」です。

超音波距離センサーHC-SR04

記載してある通り、測定範囲は2~180cmまでとなります。

距離を測る仕組みは、超音波を放ち、その超音波が何かに当たり反射して戻ってくるまでの時間を利用します。下記が計算式となります。

センサーと対象物との距離(cm) =
Echoの出力時間(秒) / 2(往復→片道) * 音速(約340m/秒) * 100(m→cm)

例えば、その時間が0.0003秒かかったとすると、0.0003 / 2 * 340 * 100 =5.1cm となります。

距離を一定時間ごとに測定しAWSに情報を送信する

この距離を一定時間ごとに測定し、AWSに情報を送信します。

詳細な説明は省略しますが、AWS IoTElasticsearch Serviceを利用します。AWS CLIを利用して、AWSとの通信の認証情報をRaspberry Piに登録します。そして、Raspberry Piから情報をAWS IoTに送信し、そのデータがElasticsearch Serviceに送信され、Kibanaで参照します。Kibanaとは、Elastic社が提供するログデータ解析/可視化ツールです。実際に測定結果を可視化したのが下の写真になります(縦が距離、横が時間)。

Raspberry Piから情報をAWS IoTに送信し、データがElasticsearch Serviceに送信され、Kibanaで参照する

最後に、研修の中で少し触れたNode-REDというハードウェアデバイス/APIおよびオンラインサービスを接続するツールが面白かったので紹介します。こちらはRaspberry Pi用OSに標準インストールされています。下の写真のようにブラウザ上でFlowを編集できます。Twitterと連動ができる様になっているので、Twitterでlight-onとつぶやくとLEDが点灯し、light-offとつぶやくとLEDが消灯するFlowを作ってみました。

Node-REDというハードウェアデバイス/APIおよびオンラインサービスを接続するツール

Twitterでつぶやいてみます!

Twitterでつぶやく

LEDが点灯した!

ブレッドボード上のLEDが点灯する

そして、この流れを受けてなんと社内でIoT部が発足しました!社内のおじさまに講師をしてもらい、マイコンやIoTを勉強します。スマートフォンからミニ四駆の制御等を予定していますので、活動の際には報告したいと思います。

  • 株式会社アークシステムの来訪管理・会議室予約システム BRoomHubs
  • 低コスト・短納期で提供するまるごとおまかせZabbix