7. MUR de CAMERAS
Plusieurs possibilités :
Installation de Frigate avec un accélérateur Coral pcie ou usb et l’app go2rtc
installation de Zoneminder et lecture des caméras à partir de celui-ci
lecture des caméras directementà partir de Monitor
Note
Aujourd’hui, j’ai installé le mur avec Frigate sur ma tablette Samsung tabs9+ et le mur de caméras avec monitor sur une vielle tablette s4 accrochée dans la cuisine. Cela en utilisant une configuration différente pour chaque tablette…..voir ce paragraphe : 0.4.1 Un fichier de configuration par écran de contrôle
Avertissement
Les images peuvent provenir de Zoneminder ou de Monitor, depuis la table « cameras ». Avec les derniéres versions de Zoneminder l’utilisation du cpu atteint en permanence 100% aussi j’ai fai le choix d’abandonner progressivement zoneminder et la 1ere étape a été de d’afficher le mur de caméras depuis monitor
Le choix se fait dans admin/config.php ou admin/config_<Nom config>.php (si plusieurs config)
define('SRC_MUR','mo');// zm=Zoneminder, mo=monitor, fr=Frigate
Pour éviter des problèmes de capacité mémoire, vider le cache de Zoneminder ou Monitor périodiquement avec CRON :
Avec nano ou vim :
0 12 * * * sync; echo 3 > /proc/sys/vm/drop_caches
Ici la mémoire sera libérée des données cache et tampon tous les jours à 12H ;
Note
plus d’ infos : https://www.tomzone.fr/vider-la-memoire-cache-dun-serveur-linux/
Affichage mo ou zm:
Affichage fr:
Avertissement
Images provenant de Zoneminder
Il est important d’ajouter les caméras dans Zoneminder les unes après les autres sans en supprimer afin que ces cameras suivent un ordre chronologique (1,2,3,4,5, 6, …); c’est l’id de Zoneminder qui doit être ajouté dans la BD (id_zm)
Voir la page : http://domo-site.fr/accueil/dossiers/44
Images gérées par monitor
Il suffit de numéroter les caméras (id_zm) dans l’ordre souhaité
7.1- les pages index_loc.php, header.php, entete_html.php
Index_loc.php , en général, ne pas modifier
if (ON_MUR==true) {include ("include/mur_cam.php");
$_SESSION["zmuser"]=ZMUSER;$_SESSION["zmpass"]=ZMPASS;}
Note
$_SESSION[« zmuser »] et $_SESSION[« zmpass »], voir les explications ci-après
config.php
// utilisation du mur :true sinon false , Nom du mur , nb caméras
define('ON_MUR',true);// mise en service MUR
define('NBCAM','0');// nombre caméras ,pour frigate = non concerné
define('SRC_MUR','mo');// zm=Zoneminder, mo=monitor,fr=Frigate
define('IP_FRIGATE','http://192.168.1.2:5000');// pour Frigate
define('URL_FRIGATE','https://<SOUS-DOMAINE>');//
// Zoneminder
define('ZMURL','http://192.168.1.23/zm');//IP/zm
define('ZMURLTLS','https:zoneminder.DOMAINE.ovh');// sous domaine
define('ZMUSER','<LOGIN>');// pour mur_cameras.php
define('ZMPASS','MOT_PASSE');// pour mur_cameras.php
define('TIMEAPI','3400');//suivant la valeur indiquée dans zoneminder
header.php , il n’y a rien à modifier
entete_html.php et mes_css.css , pour le switch ajouter ces lignes
<div class="toggle-outer">
<div class="toggle-inner">
<input type="checkbox" id="toggle">
</div>
</div>
les styles css:
/* toggle switch */
.toggle-outer{height: 30px;width: 60px;border-radius: 20px;border: 1px solid #ccc;background-color: #f4f4f4;
margin: auto;position: relative;transition: all 0.3s ease-in;
cursor: auto;top:0px;left:-250px;display:block}
.toggle-outer.checked{background-color: blue; }
.toggle-inner{height: 30px;width: 30px;border-radius: 50%;position: absolute;left: 0;background-color: #fff;
border: 1px solid #ccc;transition: all 0.3s ease-in;}
.toggle-outer.checked .toggle-inner{left: 30px;}
input[type="checkbox"]{display: none;}
#toggleLabel{cursor: pointer;}
7.2- la page de monitor
mur_cam.php
Le script du bouton On/Off ,ajouter ces lignes:
/*commande toggle switch mur cameras*/
$('.toggle-outer').click(function(){
$(this).toggleClass('checked');
const res = $('#result');
if(res.css('display') === 'none'){
$('#toggle').attr('checked', true);
arret_mur=0;$('#toggleLabel').text('Vidéo inactive');}
else{
$('#toggle').attr('checked', false);
arret_mur=1;updateImage(nbrCam);
$('#toggleLabel').text('Vidéo active sur toutes les caméras')
}
res.toggle();
});
mur_cameras.php , pour Zoneminder
mur_cameras1.php , pour Monitor
Avertissement
IMPORTANT POUR ZONEMINDER : le fichier include/mur_cameras.php est indépendant du programme (‘est une image en retour) et de ce fait on ne peut utiliser les constantes définies dans admin/config.php
On va donc pour remédier à ce problème :
passer l’url en paramètre ainsi que l’Idx
utiliser les variables de session $_SESSION[« zmuser »] et $_SESSION[« zmpass »] pour le login et le mot de passe car ces données sont sensibles
Les fichiers sont tous UTF-8 sans BOM et l’url des caméras doit se trouver dans mur_cam.php. (ZMURL dans mur_cam.php et non dans mur_cameras.php);
Extrait de mur_cam.php
<?php
while ($i <= NBCAM) {
if (SRC_MUR=="mo") {$src_img='include/mur_cameras1.php?id_zm='.$i.'&x=';}
if (SRC_MUR=="zm") {$src_img='include/mur_cameras.php?idx='.$i.'&url='.ZMURL.'&x=';}
7.4- Ajouter une caméra
NE CONCERNE PAS FRIGATE
Il suffit d’indiquer dans admin/config.php le nb de caméras
define('NBCAM','8');// nombre














