Définitions
Le stockage dans le système de persistence est assuré via une base de données Sqlite.
Site¶
Définit les caractéristiques du site principal dans lequel les éléments sont installés. Il est normalemenyt limité à un réseau local, mais des élemsnts peuvent être placés sur des réseaux distants.
Un site est défini par les éléments suivants :
- Local (o/n)
- Encryptage de la base de données (o/n)
- Authentification dans les modules interactifs (o/n)
- Propriétaire (nom et adresse)
- Identifiants LD
- Clé de licence LD
- Date d'installation
- Version majeure courante du système
- Réseau local
- Masque
- IP routeur interne
- IP routeur publique
- Accès Internet
- Opérateur
- Type (ADSL, VDSL, fibre, satellite, mobile)
- Dernier test de débit (montant, descendant)
Périphériques¶
Ce sont les points communs entre tous les types de périphériques :
- Adresse IP v4
- Nom de host
- Nom logique (usage)
- Système d'exploitation (Windows, Linux, Android, Propriétaire...)
- Version de l'OS / firmware
- Marque
- Modèle
- Numéro de série
Exécuteurs¶
Equipement pouvant exécuter un (ou plusieurs) des modules du système, et fonctionnant sous un OS associé au type du module logiciel. Cela peut être un PC, une box Linux, un Raspberry PI, un smartphone ou tablette, une TV Android. Tous les types ne supportent pas tous les types de modules.
Initialement, les premiers modules fonctionneront sous Windows. Une version Linux de l'orchestrateur seront développés également, et des Viewers pourront fonctiuonner sous Android(TV).
Une télécommande (Remote) sera construite en mode web / PWA, pour fonctionner sur tout type de plateforme. Ensuite, des versions mobiles sous MAUI permetteont un support étendu des plateformes mobiles.
Chaque exécuteur est défini par ces éléments:
- Ecrans (liste)
- Modules logiciels (liste)
Ecrans¶
Un écran représente un dispositif d'affichage, connecté à un exécuteur, et permettant de présenter un affichage d'une source, sous le contrôle d'une télécommande (Remote).
Les caractéristiques suivantes sont gérées:
- Périphérique de raccordement
- Nom de l'affichage dans l'OS
- Nom d'usage
- Résolution en pixels (exemple : 1920 x 1080)
- Fréquence
- Format : portrait ou paysage
- Principal (o/n)
- Définition du layout (lien)
Modules logiciel¶
Une instance d'un module du système. Chacune est définie par:
- Périphérique d'installation
- Type de module (énuméré)
- Nom logique (usage)
- Version courante (lecture dynamique)
- Configuration
La configuration permet de définir les options de fonctionnement du module sur l'exécuteur, et dépend du type de module.
Caméra¶
Les caractéristiques nécessaires sont définies dans la configuration et certaines sont lues directement sur la caméra, dans le cas d'usage des API du fabriocant.
Les modules SHM ne prennent pas en charge, dans un premier temps, la configuration des caméras et des NVR, ce n'est pas le but de SHM qui reste un outil d'exploitation. La configuratioon reste le domaine des outils propriétaires des fabricants (ou tiers).
Les caractéristiques nécessaires: - Port - Utilisateur - Mot de passe - Alimentation POE (o/n) - Flux (premier = principal) - l x h x ips - URL d'accès RTSP (si géré) - URL d'accès ONVIF (si géré) - Mode propriétaire géré (selon le fabricant enregistré : Dahua, Hikvision)
Les fonctionnalités utilisables via SHM: - Gestion PTZ - gauche / droit (o/n) - haut / bas (o/n) - zoom avant / arrière (o/n) - aller à une position prédéfinie (0-N) - lancer un tour prédéfini (0-N) - lancer une patrouille prédéfinie (0-N) - Générales - Gestion ouverture (o/n) - Gestion IR (distance, 0 si non géré) - Gestion vision nocturne (auto, manuel, non) - Gestion alarme (0-N) - Gestion audio (o/n) - Gestion atténuateur de bruit (o/n) - Gestion compensateur de contre-jour (o/n) - Activation des événements - Intrusion (o/n) - Détection de mouvement (o/n) - Détection de franchissement de ligne (o/n) - Détection IVS (o/n)
Enregistreur¶
Un NVR est une composition de plusieurs caméras, avec un jeu de paramètres général et des couples de paramètres de caméra associés à des numéros de canal par caméra:
Paramètres généraux NVR : - Port - Utilisateur - Mot de passe - Modèle d'URL d'accès via NVR + Nombre de canaux maximum - Réseau virtuel (o/n) - Masque de réseau - IP du NVR - Paramètres des canaux : - Numéro du canal - Référence vers caméra - IP virtuelle éventuelle (si réseau virtuel activé)
Scénarios¶
Un scénario est un objet JSON stocké directement dans une chaîne de caractères, et possède les caractéristiques suivantes :
- Nom
- Type (1 = layout écran, 2 = layout de télécommande, 4 = séquence de commandes)
- Définition du scénario (le format JSON dépend du type, les variantes par type sont détaillées dans les chapitres concernés)
Bibliothèque de médias¶
Une bibliothèque centrale de média est gérée par l'orchestrateur, elle à la portée du site. Des opérations d'échange pourront être mises en oeuvre afin de "fusionner" tout ou partie des bibliothèques entre sites. Une extension "Cloud" pourra aussi être envisagée.
Deux types de médias sont gérés au niveau de SHM :
- des médias "locaux" accessibles depuis les exécuteurs par le biais de lecteur simple ou de lecteur réseau partagé
- des "liens" de média permettant d'accéder aux médias par des URL complètes, les médias pouvant être placés n'importe où tant que l'URL est accessible depuis les diffuseurs qui vont les accéder
Il convient de noter que les lecteurs (locaux ou partagés) et les URL doivent être accessibles depuis les exécuteurs ayant besoin de les présenter
Les différents types de média gérés sont les suivants :
- Vidéo
- Audio
- Image
- Diaporama (jeu d'images dans un dossier)
- PowerPoint (diffusion sur diffuseur Windows uniquement)
- Pzage web (uniquement comme lien)
- Document PDF
Les médias disposent également de catégories permettant de faire des filtrages / recherche au niveau des télécommandes.