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:
Debian
2026-03-14 21:26:06 +01:00
commit 24dbc7cd6a
64 changed files with 9677 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
# Flux de données
Section en cours de rédaction. Cette page décrira le flux de données entre les différents composants du système SmartEye (Jetson, serveur, application mobile).

View 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).