AWS IoTで実現するスマート植物監視システム
必要な部品と材料
| 部品 | 数量 |
|---|---|
| Arduino Yun | 1 |
| Seeed Groveスターターキット(シールド、温度・光センサー含む) | 1 |
| Seeed Grove 湿度センサー | 1 |
| 赤色LED 5mm | 1 |
| 抵抗 330Ω(LED用) | 1 |
必要な工具
- 3Dプリンター(ケース出力用)
使用クラウドサービス
- AWS IoT、AWS IAM、AWS DynamoDB、AWS SNS
- dweet.io(簡易データ可視化用)
- Arduino IDE
プロジェクト概要
旅行中も自宅の植物状態を監視・通知するシステム。温度・光量・土壌水分を計測し、以下の2ルートでデータ活用:
- dweet.io:手軽なWeb可視化(例:デモ)
- AWS IoT → DynamoDB:本格的なログ蓄積・SNS通知
3DプリントケースにArduino Yun、Groveシールド、センサーを収納。
ステップバイステップ構築ガイド
#1 回路配線(Groveシールド使用)
- 温度センサー → A0
- 土壌水分センサー → A1
- 光センサー → A2
- LED(330Ω抵抗経由) → D2
#2 3Dプリントケース出力
STLファイル3種、層高0.3mm、充填率25%以上で約2時間。
#3 土壌水分閾値の決定
専用スケッチ(`SoilMoistureValue`)で乾燥/湿潤時の値を確認し、`tooDryValue` を設定。この値をAWS SNS通知条件にも使用。
#4 dweet.ioへデータ送信スケッチ書き込み
`ArduinoYunDweetio.ino` を書き込み、デバイス名(`PlantMonitorTorontoON`)を独自のものに変更。
#5〜#11 AWS環境構築(CLI操作)
- AWS CLIインストール・設定
- IoT Thing作成(`plantSystem`)
- 証明書・キー生成・有効化
- IoTポリシー作成・アタッチ(PubSub権限)
- MQTT.fxで動作確認
- Arduino Yunへ証明書転送・SDKセットアップ(`aws-iot-device-sdk-arduino-yun`)
#12〜#14 DynamoDB連携
- IAMロール/ポリシー作成(DynamoDB/Lambda権限)
- DynamoDBテーブル作成(`plantSensor`、パーティションキー`key`、ソートキー`timestamp`)
- IoTルール作成(`topic/plantdata` → DynamoDB書き込み)
#15 AWS IoTへデータ送信スケッチ書き込み
`ArduinoYunAWSIoTDynamodb.ino` と `aws_iot_config.h`(エンドポイント等設定)を書き込み。シリアルモニタでDynamoDB書き込み確認。送信間隔はコスト考慮し適切に設定(デモは10秒、実運用は長めに)。
#16 SNS通知ルール設定(土壌水分低下アラート)
- IAMロールにSNS権限付与
- SNSトピック `sendMail` 作成、メール購読登録
- IoTルール `EmailSend` 作成:条件 `moistval < 250`(閾値は#3で決定)でSNS通知
水分低下時にメール通知が届き、近隣の人に水やり依頼可能。
#17 ケース組み立て・設置
土壌プローブをベースにネジ固定、カバーをスナップフィット。プローブを鉢に挿し、USB電源接続で運用開始。
ソースコード
- SoilMoistureValue:水分閾値決定用
- ArduinoYunDweetio:dweet.io送信用
- ArduinoYunAWSIoTDynamodb:AWS IoT/DynamoDB送信用
- aws_iot_config.h:AWS接続設定(別タブで追加)
全コードはCodeセクションに掲載。
回路図
Groveシールド接続図:温度A0、水分A1、光A2、LED(D2-330Ω)。Schematicsセクション参照。
製造プロセス
- Raspberry Pi 3とPubNubでリモート気象監視
- Raspberry Pi、PIRセンサー、MQTTで作るモーション制御AWS IoTボタン
- スマートスピーカーで非接触心拍モニタリング─ 不整脈検知まで実現する革新システム
- IoTタンク監視で業務を革新:より安全・賢く・収益性高く石油管理を
- AI搭載IoTシステムで森林火災を超早期検知・樹木健康を監視
- IoT対応オイル・ディーゼルタンク遠隔監視システム
- IoT搭載フリート重量監視の8つの主要メリット
- IoT対応資産監視で石油・ガス業界の安全性と効率を向上
- IoT対応ミルクレベル監視で酪農管理を革新
- スマートIoT河川監視システムで水管理と洪水予防を強化
- C# usingステートメント完全ガイド:名前空間インポート、エイリアス、静的ディレクティブ