FRISKサイズのIoT向けデバイス「Nefry(ねふりー)」で取得したセンサーのデータをAmbientでグラフ化する方法を、わみ(@wamisnet)さんに寄稿していただきました。オリジナルはこちらです。
こんにちは、外部ライターのわみ(@wamisnet)です。愛知県でネットワークの勉強をしている学生です。2014年ごろから電子工作を始め、今回紹介するFRISKサイズのIoT向けデバイス「Nefry(ねふりー)」を自作しました。
IoTといえば、データを取ることはもちろんですが、データの蓄積や分析が大切です。
今回は、簡単にデータを蓄積・グラフ化してくれる「Ambient」 というサービスを使って、Nefryで取得したセンサーのデータをグラフ化する方法を紹介します。
- Nefryとは
- Wi-Fiを初期搭載
- スタンドアロンで動かせる
- 外部サービス連携が簡単
- Ambientとは
- つくってみよう!
- 事前準備
- Nefryのセットアップ
- Ambientの登録
- Ambientにチャネルを作成
- プログラムの書き込み
- Arduino IDEを使う
- プログラムをダウンロードして使う
- NefryとAmbientの連携
- Ambientでグラフを見てみよう
- まとめ
01. Nefryとは
「Nefry(ねふりー)」は手軽にIoTに挑戦できるFRISKサイズのデバイスです。
公式サイトから、詳細なドキュメントや制作例を確認できます。
Wi-Fiを初期搭載
Nefryは、Wi-Fiモジュールの ESP-WROOM-02を初期搭載 しています。簡単にインターネットに接続できるので、接続に時間をとられることなくあなたのアイデア実現に集中できます。
スタンドアロンで動かせる
スマートフォンで使うようなモバイルバッテリー(5V)から給電できます。モバイルバッテリー+Nefryの2つで動作する ので、場所を選ばずに使うことができる優れものです!
外部サービス連携が簡単
NefryはGroveセンサの規格に対応しています。専用のソケットを使い、はんだづけ不要で楽しめます。また、リアルタイム通信を簡単に実現できる「Milkcocoa」や、様々なWebサービス同士を連携できる「IFTTT」などとも組み合わせることもできます。
実際に使ってみた例は以下をご覧ください。
Webサービス同士を連携できる「IFTTT」と自作IoTデバイスを繋いで生活を便利にしてみた
【大島薫×IoT】浮気男に社会的制裁を加えるマシーンを作ってみた
02. Ambientとは
Ambient(アンビエント)は、センサーデータを蓄積・グラフ化してくれるIoTに特化したクラウドサービス です。
Ambientから発行される「チャネルID」「ライトキー」の たった2つの情報をプログラムに書き込むだけ で、いとも簡単にセンサーデータをグラフ化することができます!
このようなグラフを公開したり、簡単にカスタマイズしたりすることができるので、オススメのサービスです。
03. つくってみよう!
Nefryで取得したデータをグラフ化するために、今回は以下の4ステップを試します。
- 事前準備
- Ambientにチャネルを作成
- プログラムの書き込み
- NefryとAmbientの連携
筆者の開発環境は以下です。
- windows 10
- Nefry version 2.3.0
04. 事前準備
開発を始める前に、NefryとAmbientのセットアップをします。
NefryのWi-Fi接続とAmbientのユーザ登録が完了している方は、Ambientにチャネルを作成から開始してください。
Nefryのセットアップ
PCやスマートフォンから、Wi-FiのSSIDが Nefry-XXXX(変更した場合はその名前)になっているものを探し、接続します。
接続できるとこのようなページが表示されます。表示されない場合は http://192.168.4.1 に接続してみてください。
このトップページでNefryに関するいろいろな設定ができます。まずは「Setup WiFi」をクリックして、Wi-Fiの設定をします。
Setup WiFiのページはこのようになっています。
接続したいWi-Fiを選び、パスワードがある場合は入力をします。入力が完了したら「Save」をクリックしてください。設定が保存され、Nefryが再起動します。
おまけですが、Nefry library 2.3.0 以降であると5つまでのWi-Fiを記憶することができ、自動的に最も強いWi-Fiに自動接続する機能を搭載しています。Nefryを持っていて ライブラリが古い場合は、更新することをオススメします。
その他のセットアップや使い方の詳細は以下の記事をご覧ください。
自作したオリジナルIoTデバイス「Nefry」とインターネットを繋いでみた
Ambientの登録
グラフ化に必要な情報を取得するために、まずAmbientに登録します。
Ambient公式サイト の「ユーザー登録」から登録を進めます。
メールアドレス認証が必要なので、各自アカウントを用意してください。
05. Ambientにチャネルを作成
Ambientでは チャネルという単位で送信するデーターを管理・グラフ化する ため、まずはチャネルを作成します。「チャネルを作る」ボタンから作成します。
チャネルが無事に作成されると、先ほどのページに情報が追加されています。「チャネルID」と「ライトキー」をあとで使うので控えておきましょう。
06. プログラムの書き込み
今回はNefryについている アナログ入力 を使ってみます。アナログ入力を扱えるセンサであればどのようなセンサでも大丈夫ですが、この記事ではGroveの明るさセンサを扱います。
全体のプログラムはこちら。
<script src="https://gist-it.appspot.com/github/Nefry-Community/ProgramMaster/blob/gh-pages/Nefry/Ambient/Analog/Analog.ino"></script>
Nefryにプログラムを書き込む方法は2つあります。
Arduino IDEを使う
プログラムを編集したい場合などは、Arduino IDEに上のプログラムを貼り、編集します。
Arduino IDEでコンパイルしたプログラムはNefryトップページの「Upload Sketch」からアップロードすることができます。
Arduino IDEにNefryの設定を追加する方法は、以下の記事を確認してください。
さくっと生活を便利にする!FRISKサイズのIoT向けデバイス「Nefry」を使ってみよう【環境構築編】
プログラムをダウンロードして使う
もっと簡単に試したい場合、トップページから「Web Sketch Download」のページに移動し以下を入力してください。
- ドメイン : program.nefry.studio
- URL : /Nefry/Ambient/Analog
Nefry Platformというサイトでは他にも様々なプログラムを公開していますので、ぜひご覧ください。
07. NefryとAmbientの連携
プログラムが書き込めたら、Ambientの情報をNefryに登録します。
トップページから「Setup Module」をクリックしページを移動します。
設定項目の中から「WriteKey」と「ChannelID」となっている欄を見つけ、そこにAmbientで取得したライトキーとチャネルIDをそれぞれ入力します。
Saveをクリックすると、Nefryが再起動してAmbientにデータを送るようになります。
これで準備は完了です!
08. Ambientでグラフを見てみよう
Nefryに接続した明るさセンサーの値のグラフです!
右側がAmbientのグラフ、左側がNefryの取得したアナログ値をWebConsoleで表示しています。
Nefryにライトを当てたり遠ざけたりすると、わりと リアルタイムにどんどんグラフが生成されていく のが分かります。こちらのページで今回撮影したグラフをみることができます。
Ambientでは グラフの自動スケールやグラフの公開機能、画像の添付 など、今回紹介しきれないほど様々な機能が作成されています。
詳しくはAmbientの公式サイトやドキュメントを確認してください。
09. まとめ
今回は、なんとハードウエアもWeb側も コードを一切書かずにグラフ化する ことができました。
紹介したのは折れ線グラフですが、棒グラフや散布図などもお手軽にグラフを作れるAmbient と Webへの接続が簡単なNefry でぜひぜひ遊んでみてください。
Ambientを運営されている下島さん、記事にさせていただく許可を頂きありがとうございました。