こんにちは、 @dz_ こと大平かづみです。
Prologue - はじめに
センサーデータを Azure に送って、可視化する試みです!
まずは構成について整理します。
構成
Azure にも IoT に関するサービスがたくさんありますが、今回はできるだけ簡単にできるよう、以下の構成としました。
用途 | 使うもの |
---|---|
マイコン | ESP-WROOM-02 |
開発環境 | Arduino IDE |
クラウド連携 | Azure Event Hubs, Azure Stream Analytics |
可視化 | Microsoft Power BI |
マイコンおよび開発環境
まず、マイコンボードには、インターネットへ通信ができるように ESP-WROOM-02 というWiFiモジュールを利用します。
ESP-WROOM-02 は Arduino IDE を用いて Arduino 互換のプログラムを書くことができます。また、 Arduino の WiFiライブラリにのっとったライブラリが提供されており、簡単に WiFi 機能を利用できます。
なお、ESP-WROOM-02 は、単体で利用することもできるし、開発ボードも市販されています。それぞれの利用方法を下記の記事にまとめておりますので、必要に応じてご参照くださいませ。
(左:ESP-WROOM-02単体、右:ESP-WROOM-02開発ボード)
これ以降は、ESP-WROOM-02 で Arduino のスケッチを実行できる状態であることを前提に話を進めます。
クラウド連携および可視化
Azure Event Hubs
マイコンは複雑な処理や通信には向かないため、比較的簡単にデータを送れるよう Azure Event Hubs を利用します。
簡単といっても、認証機構は必要です。Azure Event Hubs は SAS (Shared Access Signature: 共有アクセス署名) を用いて認証しますので、セキュリティが甘いというわけではありませんのでご安心ください。
Azure Stream Analytics
そして、後述する Power BI に連携させるには、Azure Stream Analytics を利用します。Stream Analytics はリアルタイムのイベント処理が可能で、多くの入出力に対応しています。今回であれば、Event Hubs からの入力と、Power BI への出力(※)を利用します。
※ Azure Stream Analytics の Power BI への出力は、2016年2月においてはプレビュー版での提供です。
Microsoft Power BI
Power BI はデータを分析して可視化できる、非常にパワフルな分析ソリューションです。最近ではウェブ公開機能のプレビュー版もリリースされており、自作せずにデータを公開できるようになるとのことで、期待です。
これらのサービスを組み合わせることで、ESP-WROOM-02 から送信したセンサーデータを自由に分析・可視化できるようになります。
というこで、次回はこの構成でモノをインターネットにつないでみますよ!
Epilogue - おわりに
これらの Azure でのソリューションについては、 @yuyalush 吉田パクえさんにアドバイスをいただきました。ありがとうございます!
上記の構成で検証はできているので、引き続き実践編をまとめていきます。