API réception alertes chute (SmartEye/YOLO), analyse IA (Gemini 2.5 Flash), gestion alertes avec escalade (watchdog), notifications Firebase, dashboard web, documentation MkDocs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
Architecture du système
Vue d'ensemble
graph TB
subgraph Domicile["🏠 Domicile du bénéficiaire"]
CAM1[Caméra 1 - Salon]
CAM2[Caméra 2 - Chambre]
CAM3[Caméra 3 - Cuisine]
JETSON[Jetson Orin Nano<br/>SmartEye v30]
CAM1 -->|RTSP local| JETSON
CAM2 -->|RTSP local| JETSON
CAM3 -->|RTSP local| JETSON
end
subgraph OVH["☁️ Serveur OVH (57.128.74.87)"]
API[api.php<br/>Réception images]
ANALYZE[analyze.py<br/>Gemini 2.5 Flash]
ALERT[alert_manager.py<br/>Cycle de vie alertes]
WATCHDOG[alert_watchdog.py<br/>Escalade cron]
DB[(database.json)]
API --> ANALYZE
ANALYZE --> ALERT
ANALYZE --> DB
WATCHDOG --> ALERT
end
subgraph Mobile["📱 Téléphones aidants"]
APP1[LucasApp - Fille]
APP2[LucasApp - Fils]
end
JETSON ==>|SSH Tunnel<br/>Image POST| API
ANALYZE ==>|Firebase Push| APP1
ANALYZE ==>|Firebase Push| APP2
JETSON -.->|RTSP Tunnel| APP1
JETSON -.->|Audio WebSocket| APP1
Composants
SmartEye (Jetson Orin Nano)
| Caractéristique | Détail |
|---|---|
| Modèle IA | YOLOv8 (détection) + pose estimation |
| Caméras max | 6 par site |
| Flux | HD (/11) pour détection, SD (/12) pour streaming |
| Communication | SSH tunnels inversés vers OVH |
Lucas (Serveur OVH)
| Caractéristique | Détail |
|---|---|
| Analyse IA | Google Gemini 2.5 Flash (vision) |
| Notifications | Firebase Cloud Messaging |
| SMS backup | OVH SMS API |
| Dashboard | PHP + Tailwind CSS |
LucasApp (Flutter)
| Caractéristique | Détail |
|---|---|
| Plateforme | Android (Flutter) |
| Flux vidéo | RTSP via tunnels SSH |
| Interphone | WebSocket audio bidirectionnel (PCM A-law) |
| Acquittement | POST vers alert_ack.php |
Convention de ports
Chaque site client utilise une plage de 10 ports :
Site N → base_port = 8550 + (N-1) × 10
Offset 0-5 : RTSP caméras (max 6)
Offset 6 : Audio WebSocket relay
Offset 7 : WebUI locale SmartEye
Offset 8-9 : Réservés
!!! note "Site pilote (Aléria)" Le site pilote conserve ses ports historiques : 8554/8555/8556 (RTSP) + 8800 (audio).