Yana plugin Cerber (Alarme).

Transcription

Yana plugin Cerber (Alarme).
Yana plugin Cerber (Alarme).
Bonjour à tous,
Ce document résume l’installation et l’utilisation du nouveau plugin Cerber.
Ce plugin permet en cas de détection (plusieurs entrées possible), de déclencher l’envoi de SMS, d’email,
la bascule de GPIO, la diction de commande vocale, la prise de photo ou de vidéo, ainsi que l’exécution
d’URL.
Dans mon cas, je gère l’identification par carte RFID, mais j’essaye de rendre ce plugin le plus ouvert possible
pour que l’on puisse ajouter n’importe quel périphérique comme un lecteur d’empreinte, un digicode etc…
Vous pouvez aussi activer ou désactiver l’alarme par commandes vocales (facultative), par l’interface du
DashBoard, par GPIO (pour des équipements externes), ou par URL (pour les équipements externes sur le
réseau).
Pour finir, ce plugin est compatible avec le nouveau client Yana V2.
1. Prérequis
Et oui, il vous faudra un minimum pour utiliser ce plugin.
Outre les prérequis standard de Yana (Serveur Web, bdd, php, WiringPi etc..), le plugin a besoin de :
Curl (envoi de sms et exécution d’url).
Gpac (conversion des vidéos h264 en mp4 pour les visionner depuis l’interface Web).
2. Installation
Le téléchargement et l’installation du plugin est à faire sur le Yana Market, de préférence par l’interface de
Yana-Server > Plugins> Market (gestion de la création des dossiers, des noms etc…).
Après téléchargement il suffit de l’activer dans l’interface de Yana Server > plugins > Inactifs
Ensuite comme pour mon premier plugin Switchi, vous avez un Script d’installation à lancer, pour vous
assister .
Il faut d’abord se rendre dans le répertorie du plugin alarme.
Normalement il s’agit de :
cd /var/www/yana-server/plugins/cerber/
Puis, rendre le script exécutable avec cette commande :
sudo chmod +x ./ScriptInstallation.sh
Puis le lancer :
sudo ./ScriptInstallation.sh
Yana-Server et ce plugin sont sous licence CC-by-nc-sa
Page 1/7
Ce script d’installation comprend :
La modification des droits du dossier « /plugins/cerber/camera » pour que les images et vidéos
puissent être déposées.
Les commandes standards pour le bon fonctionnement de la caméra (identique à celle du plugin
Camera d’Idleman), il faudra cependant a minima, Activer la camera dans raspi-config, et
redémarrer.
La modification des droits de 2 programmes C utilisés par le plugin, pour créer des fonctions
d’interruption sur les GPIO qui seront des entrées de détecteurs. Pour faire simple, vous serez
peut être amené à connecter un détecteur de mouvement, et lorsque la surveillance est activée,
c’est ce programme C qui interceptera le signal du détecteur de mouvement, et déclenchera les
actions programmées. Le second programme permet seulement d’arrêter via pkill le programme
précédemment décrit.
Pour être en phase avec les prérequis, les commandes d’installation de Curl et de Gpac sont
comprises
L’installation de la caméra demande quelques actions, vous trouverez les détails dans le plugin sur l’onglet
Caméra, Icone d’aide.
3. Utilisation
Programmer des actions
Pour commencer, je vous propose de créer les actions qui seront lancées lors d’une détection.
Il faut savoir que dans chacun des onglets dans « Actions » plusieurs actions peuvent être enregistrées, elles
seront toutes exécutées si l’alarme se déclenche.
Actions SMS
Cette fonctionnalité est disponible à ce jour pour les abonnés Free Mobile, en effet cet opérateur propose
un service de notification par sms, qui permet de s’envoyer des SMS.
Si vous connaissez d’autres opérateurs qui ont cette fonctionnalité, n’hésitez pas à m’en faire part que je
puisse adapter le plugin.
Pour l’utilisation de cette fonctionnalité, vous devrez simplement aller sur votre interface Free mobile :
https://mobile.free.fr/moncompte/
Dans « Gérer mon compte » > Mes options > Notification par SMS (à activer), et récupérez votre identifiant
et mot de passe.
Yana-Server et ce plugin sont sous licence CC-by-nc-sa
Page 2/7
Vous avez maintenant toutes les informations pour compléter les champs du plugin, vous pouvez tester et
enregistrer plusieurs envoies de SMS.
Actions email
Cette fonctionnalité est disponible pour toutes les personnes qui ont une adresse email.
Pour le moment j’ai testé avec Gmail, Hotmail (live), Laposte, et ça fonctionne.
Attention certain serveur de relais SMTP comme celui de Gmail, nécessite de modifier un paramètre de
sécurité sur votre interface de messagerie Gmail.
Vous trouverez mes différents tests des serveurs SMTP sur l’icône d’aide, dans l’onglet « Actions > Email »
Yana-Server et ce plugin sont sous licence CC-by-nc-sa
Page 3/7
Vous devrez d’abord fournir les paramètres du relais SMTP :
L’adresse du serveur, ex :smtp.laposte.net, smtp.gmail.com etc..
Le protocole de sécurité, ex :ssl, tls
Votre identifiant sur le relais smtp, ex :plugin.cerber (laposte), [email protected]
Votre mot de passe
Les 4 champs suivants ne concernent que l’email en lui-même, c’est-à-dire, le destinataire.
En effet, vous vous connectez à votre messagerie pour envoyer l’email, mais vous pouvez l’envoyer à
n’importe qui.
Ensuite les champs restants ; « Nom du destinataire », devant apparaitre à la réception de l’email,
« l’objet » de l’email, et pour finir son contenu.
Vous pouvez rentrer autant d’adresse que vous souhaitez, elles seront toutes notifiées en cas de
déclenchement de l’alarme.
Actions GPIO
Pour que vous puissiez déclencher n’importe quel composant extérieur au plugin, vous pouvez déclencher
la bascule de GPIO, soit un GPIO qui déclenche un relais 220 volt, électrifiant le sol de votre maison, activant
un haut-parleur d’alarme de 300 décibels, un lanceur de haches, un GPIO connecté sur un Arduino avec un
programme à vous ou autres délires de protection .
Actions Vocales
Cet onglet permet d’enregistrer les phrases devant être prononcées en cas de détection, celles-ci sont le
fruit de votre imagination, de l’insulte à la phrase de dissuasion (par exemple : Bonjour C*****, vous venez
de déclencher l’alarme de cet humble demeure, mon but est seulement de vous faire passer le temps en
attendant l’arrivée de la police et de mon propriétaire, chasseur à la grenade de père en fils depuis 150 ans,
RIP Bros !! »
Action Caméra
L’onglet Camera, vous permet de paramétrer l’action de votre caméra toujours lors du déclenchement de
l’alarme.
Vous pouvez la paramétrer en mode photo ou vidéo, et faire des tests.
Les paramètres sont simplement la résolution (horizontale et verticale), le temps de capture pour les vidéos,
et un champ qui vous permet d’entrer des paramètres optionnels dans les commandes Raspistill et Raspivid
(exécutables utilisés pour la prise de photo et vidéo)
Pour information, les vidéos de Raspivid sont en format H264, il y a donc avant affichage sur le navigateur,
une conversion vers du mp4, permettant d’afficher les vidéos sur une majorité de navigateur.
Yana-Server et ce plugin sont sous licence CC-by-nc-sa
Page 4/7
Actions URL
Si vous utilisez d’autres outils réseau devant être contactés lors du déclenchement de l’alarme, vous
pourrez rentrer les URL à exécuter.
Personnellement, utilisant Switchi pour l’éclairage de ma maison, j’envoie une URL qui allume la lumière
juste avant la prise de photo, « souriez et dites Cheeeeeeeesse ! »
Actions futures…
N’hésitez pas à m’envoyer par email d’autres idées d’action.
Déclencheurs/détecteurs
GPIO
L’onglet déclencheurs/détecteurs permet simplement, de lancer la surveillance d’un ou plusieurs GPIO
lorsque l’alarme est activée.
Vous pouvez par exemple directement brancher un détecteur de mouvement dessus, ou un programme
sur un Adruino qui envoie un signal sur le GPIO etc…
Il s’agit simplement de la détection de changement d’un état, c’est-à-dire que si le GPIO est sur un état 1
lors de l’activation, ce sera l’état 0 le déclencheur, et inversement.
Plus de détails :Le plugin lance, lors de l’activation de l’alarme, un programme C nommé AlarmeDetector,
chargé de créer des fonctions d’interrupt sur les GPIO, c’est-à-dire que le programme ne scanne pas
régulièrement les GPIO, mais c’est le changement d’état du GPIO qui provoque l’exécution d’une fonction
dans le programme, il ne demande donc aucunes performances et passe son temps à dormir (étonnant
pour un agent de sécurité non ? ), et si vous le cherchez après une commande « top », c’est normalement
l’un des tout derniers de la liste. Pour finir, ce programme est lancé lorsque l’on active l’alarme, il n’y a donc
pas de surveillance des GPIO lorsque l’alarme est désactivée.
URL
Vous trouverez sur cette page une URL, vous permettant, depuis un autre programme accédant au réseau,
de déclencher la procédure d’alarme. Cependant, par sécurité, il faudra fournir le token de l’utilisateur ou
que la demande vienne de l’adresse 127.0.0.1
Yana-Server et ce plugin sont sous licence CC-by-nc-sa
Page 5/7
Activer/désactiver la surveillance
Activer/désactiver par l’interface Web de Yana (Dashboard)
Même si il n’y a pas d’onglet consacré au Widget, vous pouvez depuis le DashBoard, ajouter le widget
« Plugin Alarme », il permet d’activer ou de désactiver la surveillance depuis le Dashboard.
Activer/désactiver vocalement
Sur cette page, vous pouvez enregistrer des commandes vocales permettant d’activer ou désactiver la
surveillance, elles sont facultatives.
En effet, je suis surement parano, mais j’imagine un voisin m’entendre crier en rentrant tous les soirs une
phrase qui désactive la surveillance, c’est plutôt léger en terme de sécurité.
Cependant, vous pouvez tout de même le faire si ça vous chantes.
Pour rappel, les commandes vocales que le client Yana écoute, sont visibles sur le Dashboard ainsi que lors
de l’ouverture des clients vocaux.
Activer/désactiver par GPIO
Comme à chaque fois, pour que le plugin soit évolutif avec vos idées, vous pouvez spécifier des GPIO qui
activent ou désactivent la surveillance, par exemple, un Arduino qui gère un lecteur d’empreinte, un lecteur
de carte RFID, un digicode, pourra au travers d’un GPIO, activer et désactiver l’alarme.
Plus de détails : Il s’agit là du programme AlarmeDetector mais lancé avec des paramètres différents, pour
faire des interrupt sur les GPIO configurés. Cependant, celui-ci est activé en permanence, mais redémarré
à chaque activation ou désactivation de l’alarme.
Dans mon cas, j’ai un lecteur de carte RFID branché sur un Arduino, l’Arduino est connecté à un GPIO de
mon RPI.
A chaque passage de la carte RFID, celui-ci change l’état du GPIO et ainsi active ou désactive la surveillance.
Activer/désactiver par l’URL
Pour les équipements pouvant communiquer par le réseau, il y a toujours deux URL pour activer ou
désactiver la surveillance que vous trouverez sur l’onglet concerné, ainsi qu’une troisième URL « switch »,
qui vous permet de commuter cet état (Si la surveillance est activée, on la désactive, et inversement).
Toutes les URL doivent fournir le token de sécurité bien sûr où venir de l’IP local 127.0.0.1.
4. Evolutions:
Emplacement de dépôt des photos et des vidéos externe au RPI
Envoie de photo et vidéo par email
Voilà, j’espère que ce plugin pourra vous servir, n’hésitez pas à me remonter bug, suggestions d’évolution
ou de rédaction etc…
Yana-Server et ce plugin sont sous licence CC-by-nc-sa
Page 6/7
5. Une dernière chose 
Evidemment, je remercie Idleman pour son travail et son aide pour le développement de ce plugin, ainsi
que les différents acteurs de la communauté Yana.
Contact : [email protected]
Version
Numéro de version
V1.0
Auteur
AR
Remarques
Version Initial
Yana-Server et ce plugin sont sous licence CC-by-nc-sa
Page 7/7