Files
Debian 24dbc7cd6a 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>
2026-03-14 21:26:06 +01:00

85 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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).