Cisco社員のリアルな声と事故事例の調査から生まれた、次世代見守りソリューション
Cisco Meraki × Webex × AWS安価構成 × 3Dハザードマップ
【通知機能とコスト最適化のポイント】
1. Cisco Webex連携: EC2上のAIが危険を検知した際、YOLOで枠を描画した証拠画像をWebex API経由でチャットルームに即時送信(API利用無料)。
2. 専用サイトへのリアルタイム通知: AWS IoT Coreの「MQTT over WebSocket」をフロントエンドから直接購読。追加サーバーなしでブラウザへの即時ポップアップを実現。
3. Amazon DynamoDB: プロビジョニングモードで上限を最小(1WCU/1RCU)に固定し自動拡張をOFF。万が一バグで暴走しても月額約100円で課金が物理的にストップ(青天井リスクゼロ)。
4. セキュアなアクセス制御: Cognito User Poolによる認証を必須とし、プライバシー情報の漏洩を防止。
エッジ(Role A)からクラウド(AWS IoT Core / DynamoDB)を経由し、フロントエンド(Role C)まで一貫して使用されるJSONスキーマです。Merakiの生データやAIの生配列は、必ずエッジ側でこの共通フォーマットに整形(パース)してから送信されます。
// パターン1: AI推論アラート (YOLOv8 Pose等)
{
"device_id": "mv_camera_01",
"room_id": "living_room",
"timestamp": 1723307400000,
"event_type": "ai_hazard",
"details": {
"hazard_type": "fall", // "fall"(転倒), "prone"(うつ伏せ), "intrusion"(侵入)
"x": 640, // 画像上のX座標(ピクセル)
"y": 480, // 画像上のY座標(ピクセル)
"confidence": 0.85 // AIの確信度
}
}
// パターン2: Merakiセンサーアラート (MT10 / MT20)
{
"device_id": "mt20_door_01",
"room_id": "living_room",
"timestamp": 1723307405000,
"event_type": "sensor_alert",
"details": {
"sensor_type": "door", // "door"(MT20), "temperature"(MT10)
"status": "open", // "open", "closed" または 温度の数値
"battery_level": 95
}
}
// パターン3: 複合アラート (夜間徘徊など)
{
"device_id": "system_logic_01",
"room_id": "living_room",
"timestamp": 1723307410000,
"event_type": "complex_alert",
"details": {
"alert_type": "night_wandering",
"trigger_device": "mt20_door_01",
"lux": 5 // 検知時のMVカメラ照度
}
}
// パターン4: 行動パターン解析結果 (バッチ処理によるサジェスト)
{
"device_id": "system_logic_01",
"room_id": "living_room",
"timestamp": 1723307420000,
"event_type": "risk_suggestion",
"details": {
"risk_level": "high",
"suggested_area": { "x": 100, "y": 200, "radius": 50 },
"reason": "unusual_access_time"
}
}
上記のJSONデータは、AWS IoT Coreのルールエンジンを経由して以下の設計でDynamoDBに永続化されます。
device_id (String), SK: timestamp (Number)room_id (String), SK: timestamp (Number) - 部屋単位での高速な履歴取得用expiration_time (Number) - IoT CoreのSQLで現在時刻+保持期間(例: 30日)を動的に付与し、古いデータを自動削除してストレージコストを最適化。依存関係を最小限に抑えた疎結合な3つのコアロールと、全体を横断的に支援するサポートロールに分割し、開発を効率的に進めます。
【開発フェーズと権限の前提】
・権限: 学校から配布されたIAMユーザーを使用します(IAMロール作成権限なし)。EC2等の認証は aws configure でアクセスキーを設定します。
・スコープ: 開発パンクを防ぐため、初期は「1家族(単一テナント)向け」として構築し、後日DB設計変更とLambda認可制御を追加して「複数家族(マルチテナント)対応」へ拡張する段階的アプローチをとります。
ミッション: エッジデバイス連携とクラウド上でのAI推論
ミッション: クラウドインフラ構築と外部API連携
ミッション: 専用サイトのUI構築とリアルタイム描画
ミッション: 各Roleの横断的な支援と品質保証