Initial commit — Serveur Lucas SmartEye
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>
This commit is contained in:
84
mkdocs-smarteye/docs/architecture/overview.md
Normal file
84
mkdocs-smarteye/docs/architecture/overview.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Architecture du système
|
||||
|
||||
## Vue d'ensemble
|
||||
|
||||
```mermaid
|
||||
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).
|
||||
Reference in New Issue
Block a user