iotで畑を監視してみる

38
IoTで畑を監視する

Upload: jun-ichikawa

Post on 17-Jan-2017

748 views

Category:

Internet


0 download

TRANSCRIPT

IoTで畑を監視する

@sparkgene 市川 純

リクルートマーケティングパートナーズ AWSを使った環境の構築・運用をやってます

IoTで畑を 監視する?

http://www.kokuchpro.com/event/awsiot_handson/14096/

キッカケ

週末農家の悩み

▸ 毎日畑の様子を見ることは出来ない

▸ 週末外出すると、畑仕事ができなくなることがある

▸ そんな時に限って作物がダメになってしまう

サーバも監視するんだし、畑も監視すればいい

センサーを使って監視しよう

水分センサー

温湿度センサー

光センサー

Raspberry Piを使って制御します

Raspberry Pi 1 Model B (jessie)

全体像

AWS IoT

SORACOM Air

水分センサー(YL-69)

水分量によって電極間の抵抗値が変わることを利用して 測ります。 アナログ値で取得する方法と、一定のしきい値を超えた時に ONになるデジタル出力が可能です。

Raspberry PiはデジタルのI/Oしか無いので、 A/Dコンバータを使ってアナログ値をデジタル に変換します。

温度&湿度センサー(DHT11)

温度と湿度を計測できるセンサー。 シリアル通信でデジタル値を取得できます。

光量照度センサ(BH1750FVI/GY-30)

明るさ(ルクス)をデジタル値として取得できる センター。 ボードとはI2Cで繋ぎます。

各センサーからデータを収集している様子

データ取得~送信の流れ(常時接続)

センサーの値取得

AWS IoTへ送信

5分スリープ

繰り返し

l  SORACOMへは常時接続 l  スクリプト内で5分スリープ

l  SORACOMのダイアルアップとスクリプトはsupervisorで自動起動させて、Raspberry Pi起動と同時にデータ送信

データ取得~送信の流れ(間欠運転)

センサーの値取得

AWS IoTへ送信

SORACOMの接続解除

SORACOMへ接続 l  センサーからのデータ取得と、送信部分は分離

l  データの取得は5分おき

l  データの送信は20分おき

l  ネットに繋がらなければ、データをファイルへ溜め込む

ファイルに追記 ファイルから読み込み

データ取得~送信の比較

常時接続 間欠運転

リアルタイム性 高い 20分遅れ

難易度 普通 普通

電力消費 高い 普通

気になること SORACOMの料金 ファイルの肥大

消費電力の違い

USBモデムで接続している USBモデムで接続していない

AWS側の話

AWS側の構成(初期)

AWS IoT

DynamoDB

Lambda CloudWatch

stream

送信データのフォーマット { "deviceid":"raspberrypi", "timestamp":"2016-02-14 05:55:46", "temp":"25.0", "hum":"45.0", "lx":"9737", "moi":"495” }

l  データ量が多くなるがデバッグしやすい l  AWS IoT SQLではJSON形式のデータに対して   select temp, hum from topic と操作できる

Ø  {“temp”:“25.0”, “hum”:“45.0”} といった形で取り出せる

AWS IoT Rules

${JSONのキー}とを指定することで、 簡単にDynamoDBに保存することが可能

AWS側の構成(現在)

AWS IoT Lambda CloudWatch

送信データのフォーマット { "deviceid":"raspberrypi", ”metrics":"2016-02-14 05:55:46,25.0,45.0,9737,495” }

l  データ量は減るが見づらい l  AWS IoTのRuleで直接値を参照するのが難しい

AWS IoT Rules

Lambdaのイベントには送信されてきたデータが渡ってくる

{ 'device': 'raspberrypi', 'metrics': '2016-02-14 10:25:03,54.0,19.0,13,482' }

LambdaからCloudWatchに登録

CloudWatch Dashnoard で任意のメトリックスを 並べることが出来る。 Y軸の最小・最大値が指定 できるので、グラフが 見やすくなる

実際のCloudWatch画面

“ 実際に畑に置く事を考えると。。。

電源どうする?

ソーラーUSB電源システム

https://tokyodevices.jp/items/27

日中はソーラーパネルで 発電しつつバッテリーへ蓄電 夜間はバッテリーに蓄電した 電力を使う

“ 課題

実際の畑は広い

▸ 今回はプランターを使ったけど、実際の畑だと複数のセンサーを配置しなければならない

▸ センサーを分散させると配線や電源の問題が出てくる

▸ ZigBeeとかを使って、センサーの無線化? ▹ ボタン電池でも結構持つらしい。けどセンサーと絡めると・・

遠隔地の監視

▸ ハードの障害やソフトのアップデートなど遠隔地にモノがあると、メンテナンスが大変

▸ AWS IoTのDevice Shadowを利用してオフライン時でも指示が出せ、オンライン時に反映できる ▹ ソフトウエアの自動アップデート

今後の展開

雪がすごくて畑を監視できない

実際に考えていること

▸ 写真を撮って見れるようにする ▸ 機械学習? ▸ 通知も

THANKS!

You can find me at @sparkgene

l  畑の悩みの話 l  監視について考えてみる l  全体のイメージ l  センサーの説明 l  AWS IoTの話し l  データ蓄積の話 l   DynamoDBの話し l  データのビジュアライズの話 l   cloudwatch l  SORACOMの話し l  通信料の問題 l  データのダイエット l  データの送り方の方針 l  電源の問題 l  消費電力の話 l  24/7電源の話

l  11.74v→11.14v