センサーの計測値をクラウドにためて見てみる

HTTP/HTTPS プロトコル経由で、IoT データを蓄積したり参照する無料サービスを見つけました。
ThingSpeak: Internet Of Things

蓄積したデータは数値解析したりいろいろな切り口のグラフ表示ができます。

ThingSpeak 自体は Ruby on Rails 4 で動く GPLv3 ライセンスのオープンソースで公開されていますから、
自前でサーバーを作ることも出来ます。自前サーバーならば API 呼びだし頻度制限はありません。
Open source data platform and API for the Internet of Things.

■アカウント

利用するにはアカウントを作ります。
アカウントごとに API キーが用意されます。
API キーは後述のチャンネルを API 経由で新規作成するときに使います。

■チャンネル

アカウントごとにチャンネルを複数作れます。

場所ごとにチャンネルを割り当てると良いかと思います。
例)チャンネルとして、部屋、ビル1F、ビル2F、ビルエントランスなど

1チャンネルあたり8種類フィールド(データ)を持てます。
例)フィールドとして、温度、湿度、明るさ、騒音などセンサーの値

部屋の温度と室温を蓄えるチャンネルを設定してみました。

Channels

 

部屋の温度を世界に公開するのははばかられるので、公開範囲はプライベートにしました(初期状態はプライベート)。

チャンネルごとに書き込み(Write)と読み込み(Read)用の API キーがそれぞれ用意されています。

Channels-api-keys

■データをためる

チャンネルが設定できたら所定の API をリクエストするだけでデータがドンドン溜まります。
Raspberry Pi や Arduino とセンサー(今回は温湿度センサー DHT11)で取得したデータをドンドン投げてみましょう。

curl https://api.thingspeak.com/update/ -X POST -d field1=14 -d field2=45 -H 'X-THINGSPEAKAPIKEY: ※'

※チャンネルに応じた書き込み(Write)用の API キー文字列

1分ごとに測った温度湿度を POST リクエストして、1,200 回ほど継続してみました。

■データを見てみる

POST されたデータは ThingSpeak 側でフィールドごとにx軸は時刻、y軸はフィールドの値としてグラフ化してくれます。

ts-graph-temp

室温を10分間隔でプロットしてみました。
日中は暖房がついていたので、ほぼ一定の室温でした。
夜間は暖房を止めていたので室温が下がりました。
朝になると暖房がついたので室温が上がり始めました。
一旦計測を停止して、夕方に試しに別地点で計測してみました。
# 最後の数プロットは別地点での計測値です。冬だけど 26℃ です。ずいぶんと暖かい所ですね。

ts-graph-humi

こちらは湿度です。
かなりアバウトな感じです。
最後の数プロットは別地点での計測値です。前の地点と比べると相対的には乾燥しています。

■別切り口で見る

ページ上部の「Apps」から「MATLAB Visualizations」を選ぶと、別切り口のグラフ表示が作れます。
温度と湿度の関係をプロットしてみます。

matlab

 

なぜか MATLAB Code のテキストエリア部に直接日本語を入力できないので、メモ帳に日本語を書いてからコピペして下さい。

「Run and Save」で新しいグラフが定義されます。

温度と湿度の関係はこんな感じになりました。

ts-graph-relation

今回の場合は、温度が上がると湿度が下がり気味な傾向があるようです。
暖房をつけると乾燥するということですかね……。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*
*
*