69 lines
1.9 KiB
Plaintext
69 lines
1.9 KiB
Plaintext
@startuml infra_raspi
|
|
|
|
skinparam {
|
|
BackgroundColor white
|
|
NodeBackgroundColor lightyellow
|
|
NodeBorderColor gray
|
|
AgentBackgroundColor lightcyan
|
|
AgentBorderColor gray
|
|
ArrowColor #666666
|
|
ComponentBackgroundColor lightblue
|
|
ComponentBorderColor gray
|
|
}
|
|
|
|
artifact "Raspbian OS" as linux
|
|
|
|
node "Raspberry Pi" as raspi {
|
|
agent "Service Systemd" as service
|
|
artifact "timelapse.service" as timelapseService
|
|
artifact "script.sh" as script
|
|
|
|
service --> timelapseService : gère
|
|
service --> script : exécute
|
|
|
|
component "Scripts Python" as scripts {
|
|
artifact "timelapse_online.py" as pyOnline
|
|
artifact "timelapse_offline.py" as pyOffline
|
|
artifact "sync_offline_data.py" as pySync
|
|
}
|
|
|
|
component "Modules Timelapse" as modules {
|
|
artifact "config.py" as config
|
|
artifact "api_client.py" as apiClient
|
|
artifact "capture.py" as capture
|
|
artifact "sensors.py" as sensors
|
|
}
|
|
|
|
artifact "Caméra Pi" as cam
|
|
artifact "Microcontrôleur" as micro
|
|
}
|
|
|
|
cloud "Internet" as internet {
|
|
node "Serveur API" as api_server {
|
|
database "Base de données" as db
|
|
folder "Stockage d'images" as images
|
|
}
|
|
}
|
|
|
|
linux --> service : exécute
|
|
service --> script : lance
|
|
script --> scripts : appelle selon\nétat connexion
|
|
scripts --> modules : utilisent
|
|
modules --> cam : contrôle
|
|
modules --> micro : communique
|
|
modules --> internet : envoie données
|
|
internet --> modules : récupère configuration
|
|
|
|
note right of service : "Démarrage au boot\net exécution périodique"
|
|
note right of scripts : "Sélection auto du mode\nselon connectivité"
|
|
note bottom of cam : "Capture des images\ndu timelapse"
|
|
note bottom of micro : "Gestion de l'intervalle\nde capture"
|
|
|
|
legend right
|
|
<b>Infrastructure de Déploiement Timelapse</b>
|
|
Ce diagramme représente l'infrastructure complète
|
|
du système timelapse, depuis le service systemd
|
|
jusqu'à la communication avec le serveur distant.
|
|
endlegend
|
|
|
|
@enduml |