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

2.3 KiB
Raw Permalink Blame History

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