>100 Views
February 16, 16
スライド概要
2016/2/16 「JAWS-UG IoT専門支部 IoTサロン 2016-02」で発表した資料
クラウドで働くIoTおじさん
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で繋ぎます。
各センサーからデータを収集している様子
データ取得〜送信の流れ(常時接続) 繰り返し センサーの値取得 l SORACOMへは常時接続 AWS IoTへ送信 5分スリープ l スクリプト内で5分スリープ l SORACOMのダイアルアップとスク リプトはsupervisorで自動起動させて、 Raspberry Pi起動と同時にデータ送信
データ取得〜送信の流れ(間欠運転) センサーの値取得 SORACOMへ接続 l センサーからのデータ取得と、送信 部分は分離 l データの取得は5分おき ファイルに追記 ファイルから読み込み l データの送信は20分おき AWS IoTへ送信 SORACOMの接続解 除 l ネットに繋がらなければ、データを ファイルへ溜め込む
データ取得〜送信の比較 常時接続 間欠運転 リアルタイム性 高い 20分遅れ 難易度 普通 普通 電力消費 高い 普通 SORACOMの料金 ファイルの肥大 気になること
消費電力の違い USBモデムで接続している USBモデムで接続していない
AWS側の話
AWS側の構成(初期) DynamoDB stream AWS IoT Lambda CloudWatch
送信データのフォーマット
{
"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 l l l l l l l l l l l 畑の悩みの話 監視について考えてみる 全体のイメージ センサーの説明 AWS IoTの話し データ蓄積の話 DynamoDBの話し データのビジュアライズの話 cloudwatch SORACOMの話し 通信料の問題 データのダイエット データの送り方の方針 電源の問題 消費電力の話 24/7電源の話 l 11.74v→11.14v