IoTで畑を監視してみる

>100 Views

February 16, 16

スライド概要

2016/2/16 「JAWS-UG IoT専門支部 IoTサロン 2016-02」で発表した資料

profile-image

クラウドで働くIoTおじさん

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

IoTで畑を監視する

2.

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

3.

IoTで畑を 監視する?

4.

キッカケ http://www.kokuchpro.com/event/awsiot_handson/14096/

5.

6.

週末農家の悩み ▸ 毎日畑の様子を見ることは出来ない ▸ 週末外出すると、畑仕事ができなくなることがある ▸ そんな時に限って作物がダメになってしまう

7.

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

8.

センサーを使って監視しよう 温湿度センサー 水分センサー 光センサー

9.

Raspberry Piを使って制御します Raspberry Pi 1 Model B (jessie)

10.

全体像 AWS IoT SORACOM Air

11.

水分センサー(YL-69) 水分量によって電極間の抵抗値が変わることを利用して 測ります。 アナログ値で取得する方法と、一定のしきい値を超えた時に ONになるデジタル出力が可能です。 Raspberry PiはデジタルのI/Oしか無いので、 A/Dコンバータを使ってアナログ値をデジタル に変換します。

12.

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

13.

光量照度センサ(BH1750FVI/GY-30) 明るさ(ルクス)をデジタル値として取得できる センター。 ボードとはI2Cで繋ぎます。

14.

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

15.

データ取得〜送信の流れ(常時接続) 繰り返し センサーの値取得 l SORACOMへは常時接続 AWS IoTへ送信 5分スリープ l スクリプト内で5分スリープ l SORACOMのダイアルアップとスク リプトはsupervisorで自動起動させて、 Raspberry Pi起動と同時にデータ送信

16.

データ取得〜送信の流れ(間欠運転) センサーの値取得 SORACOMへ接続 l センサーからのデータ取得と、送信 部分は分離 l データの取得は5分おき ファイルに追記 ファイルから読み込み l データの送信は20分おき AWS IoTへ送信 SORACOMの接続解 除 l ネットに繋がらなければ、データを ファイルへ溜め込む

17.

データ取得〜送信の比較 常時接続 間欠運転 リアルタイム性 高い 20分遅れ 難易度 普通 普通 電力消費 高い 普通 SORACOMの料金 ファイルの肥大 気になること

18.

消費電力の違い USBモデムで接続している USBモデムで接続していない

19.

AWS側の話

20.

AWS側の構成(初期) DynamoDB stream AWS IoT Lambda CloudWatch

21.
[beta]
送信データのフォーマット
{
"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”} といった形で取り出せる

22.

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

23.

AWS側の構成(現在) AWS IoT Lambda CloudWatch

24.
[beta]
送信データのフォーマット
{
"deviceid":"raspberrypi",
”metrics":"2016-02-14 05:55:46,25.0,45.0,9737,495”
}
l データ量は減るが見づらい
l AWS IoTのRuleで直接値を参照するのが難しい

25.
[beta]
AWS IoT Rules

Lambdaのイベントには送信されてきたデータが渡ってくる
{
'device': 'raspberrypi',
'metrics': '2016-02-14 10:25:03,54.0,19.0,13,482'
}

26.

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

27.

実際のCloudWatch画面

28.

“ 実際に畑に置く事を考えると。。。 電源どうする?

29.

ソーラーUSB電源システム 日中はソーラーパネルで 発電しつつバッテリーへ蓄電 夜間はバッテリーに蓄電した 電力を使う https://tokyodevices.jp/items/27

31.

“ 課題

32.

実際の畑は広い ▸今回はプランターを使ったけど、実際の畑 だと複数のセンサーを配置しなければならな い ▸センサーを分散させると配線や電源の問題 が出てくる ▸ZigBeeとかを使って、センサーの無線化? ▹ ボタン電池でも結構持つらしい。けどセ ンサーと絡めると・・

33.

遠隔地の監視 ▸ハードの障害やソフトのアップデートなど 遠隔地にモノがあると、メンテナンスが大変 ▸AWS IoTのDevice Shadowを利用してオフ ライン時でも指示が出せ、オンライン時に反 映できる ▹ ソフトウエアの自動アップデート

34.

今後の展開

35.

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

36.

実際に考えていること ▸写真を撮って見れるようにする ▸機械学習? ▸通知も

37.

THANKS! You can find me at @sparkgene

38.

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