Archives pour la catégorie Surveillance vidéo

Pilotage de Synology Surveillance Station avec un module Yokis

Introduction

Surveillance Station est une application fournie dans les NAS Synology. Elle permet de monitorer plusieurs caméra IP et de centraliser leur gestion. On peut ainsi regrouper plusieurs caméras, paramétrer des plages de surveillance, activer/désactiver les caméras, gérer des cycles de surveillance (uniquement avec les caméras motorisées). L’avantage des NAS Synology, c’est qu’ils proposent également des applications pour smartphone afin de gérer les fichiers, les téléchargements… mais surtout, les caméras. On peut ainsi visionner ses caméras depuis l’extérieur, on peut même recevoir une notification directement sur le smartphone en cas d’intrusion.

Le but de cet article est de réaliser un montage permettant d’activer ou désactiver toutes les caméras IP à partir d’un module Yokis en communiquant avec le NAS Synology.

Schéma de principe :

Schema de principe

Nous verrons dans une première partie le paramétrage du NAS pour mettre à disposition les caméras sur le réseau, pour pouvoir visionner celles-ci sur notre smartphone depuis l’exterieur du réseau domestique. Dans un second temps, nous verrons le montage permettant d’envoyer une impulsion sur la carte arduino pour que celle-ci envoie l’ordre au NAS d’activer ou de désactiver la caméra. Enfin, nous verrons en dernière partie la partie programmation de l’arduino afin de communiquer avec le NAS.

Le matériel

Pour créer votre centre de surveillance complet, vous devez pour cela posséder :

Pour la partie surveillance

  • Un NAS Synology (le DS214 s’y prête très bien) avec bien entendu un disque dur à l’intérieur
  • Une ou plusieurs caméras IP supportées par le NAS (page concernant les caméras compatibles ici)
  • Tout le nécessaire pour le réseau (Cablage RJ45, Switch)

Pour la partie pilotage par télécommande

  • Un module Arduino (Pour notre montage, nous avons utilisé la version Mega 2560)
  • Le shield Ethernet (ou Wifi, mais pour l’exemple de cet article, nous utiliserons le module filaire RJ45)
  • Une alimentation 12V 400mA pour Arduino (un exemple ici)
  • Un module de pilotage par télécommande Yokis (Disponible ici)
  • LED
  • Resistances (1.5K et 4.7K)

Première partie : le paramétrage du NAS

Afin de fonctionner correctement, nous devons effectuer un certain nombre de paramétrages dans le serveur NAS :

Installation du module Surveillance Station

Surveillance station est un module optionnel qui n’est pas installé par défaut sur le NAS. Vous devez alors vous rendre dans le centre de paquets du NAS puis, dans la zone de recherche, tapez « surveillance ». Apparaitra alors le module de surveillance « Surveillance Station ». Cliquez sur le bouton installer.

Création d’un certificat SSL auto signé

Le certificat SSL permet de sécuriser les communications entre votre NAS et le reste du monde (votre smartphone, l’Arduino…). En effet, la protection HTTPS via un certificat SSL permet de chiffrer toutes les données qui passent entre le NAS et l’appareil qui y accède ce qui protège la transmission des mots de passe et autres données sensibles.

Pour créer ce certificat auto-signé, rendez-vous dans Panneau de configuration puis dans Sécurité. Cliquez sur l’onglet Certificat puis cliquez sur le bouton « Créer un certificat ». Laissez l’option par défaut « Créer un certificat auto-signé » puis cliquez sur suivant. Renseignez tous les champs puis validez.

Une fois le certificat créé, rendez-vous dans le panneau de configuration, section « Réseau », cliquez sur l’onglet « Paramètres de DSM ». Ici, vous devez avoir le port 5000 assigné à la communication HTTP et le port 5001 assigné à la communication HTTPS. Cochez la case « Activer la connexion HTTPS » ainsi que la case « Rediriger automatiquement les connexions http vers HTTPS ». en cochant ces deux options, on active la sécurité de communications cryptées et on force la redirection des demandes non cryptées vers une route cryptée. On est ainsi sûrs que même en cas d’erreur, toutes les communications sont cryptées.

Accès depuis Internet sans IP fixe

Lorsque vous voudrez accéder à votre NAS depuis l’extérieur de votre réseau domestique, vous devrez connaitre l’adresse IP de votre modem ADSL. Cette IP, selon les fournisseurs d’accès, est susceptible de changer de façon variable (certains vont la faire changer toutes les 24h, d’autres tous les 2 mois…). Afin de vous éviter de devoir noter votre nouvelle IP tous les jours (d’autant plus qu’on ne sait pas exactement quand est prévu le changement dans la journée) Synology a prévu un service NO-IP qui permet de ne plus utiliser d’adresse IP mais plutôt un nom qu’il suffit de taper et alors vous accédez à votre NAS.

Le principe est simple : le NAS va vérifier régulièrement l’adresse IP publique de votre box. Si celle-ci change, le NAS va prévenir un serveur appartenant à Synology en lui indiquant quelle est la nouvelle IP et va alors l’enregistrer dans sa base de données. Lorsque vous entrez le nom que vous avez choisi pour accéder à votre NAS depuis n’importe quel appareil, vous communiquez avec le serveur appartenant à Synology qui, lui, va faire la correspondance entre le nom et votre nouvelle IP. Pour vous c’est totalement transparent, vous ne faites qu’appeler un nom, mais derrière, c’est toute la mécanique Synology qui s’occupe du reste.

Pour paramétrer ce service, rendez-vous dans le panneau de configuration du NAS puis cliquez sur Quick Connect. Activez l’option « Activez QuickConnect » et suivez la procédure standard accessible ici

Pensez lors de cette étape à activer les applications mobiles (clic sur le bouton « Avancé »)

N’oubliez pas d’activer les ports 5000 et 5001 de votre routeur ou de votre box afin de laisser passer les demandes effectuées depuis l’extérieur vers ces mêmes ports à l’adresse du NAS.

Création du compte utilisateur spécial caméras

Par principe, on évite toujours d’utiliser un compte administrateur dans des applications tierces. En effet, si quelqu’un met la main sur votre application tierce, il met également la main sur le compte utilisateur. Donc moins les droits sont élevés, mieux c’est… Autant ne pas donner un accès complet à toute personne malveillante.

Nous devons donc créer un nouvel utilisateur spécifique à cette application et lui donner les droits nécessaires pour gérer l’accès à l’application Surveillance Station. Pour cela, dans le panneau de configuration, rendez-vous dans « Utilisateur » puis cliquez sur le bouton Créer. Donnez-lui un nom (par exemple « Arduino ») et un mot de passe. Décochez la case « Envoyez un courrier de notification… » et cochez la case « Ne pas autoriser l’utilisateur à changer de mot de passe ». Validez. Laissez cet utilisateur dans le groupe « users » et uniquement ce groupe. Validez. Ne lui donnez aucun accès aux répertoires et ne lui mettez aucun quota. Au niveau de l’écran de paramétrage des applications, cochez refuser pour tout sauf pour « Surveillance Station » pour laquelle vous mettrez « Autoriser ». Finissez la procédure de création d’utilisateur. Vous avez désormais un utilisateur limité au seul usage de Surveillance Station.

Paramétrage des caméras dans surveillance Station

Assurez-vous tout d’abord que vos caméras sont bien disponibles sur le réseau par le biais de leur interface web constructeur (vous devez y avoir accès par le biais de leur adresse IP et d’un login/mot de passe fournis avec la caméra). Faites également le paramétrage de vos caméras IP individuellement pour remplacer les mots de passe fournis par défaut par les constructeurs qui sont en général « admin/admin » ou quelque chose du genre, ce qui n’est pas sécurisé du tout. Une fois que toutes vos caméras sont paramétrées et accessibles individuellement, nous allons passer au paramétrage dans le NAS Synology. Pour cela, rendez-vous dans votre menu Synology (en haut à gauche) et cliquez sur « Surveillance Station ». Un nouvel onglet s’ouvre dans votre navigateur.

Sur la partie gauche, vous avez tous les menus accessibles et en cliquant sur le menu « Caméra IP », vous aurez alors la partie centrale permettant de gérer votre parc de caméras. Cliquez sur le bouton « Ajouter » puis « Ajouter une caméra ». Dans la procédure guidée, restez en « réglages rapides » et validez. Renseignez alors le nom que vous souhaitez donner à la caméra puis, son adresse IP, la marque, le modèle, le nom d’utilisateur et le mot de passe. Vous devez alors voir l’image de votre caméra apparaitre. Si ce n’est pas le cas, revérifiez que vous avez accès à cette caméra par le biais de votre navigateur comme indiqué dans la notice de celle-ci. Vérifiez également sa compatibilité grâce au lien fourni en début d’article dans la section des prérequis matériels.

Ajoutez comme cela toutes vos caméras IP jusqu’à avoir votre parc complet.

Paramétrage d’un smartphone pour accéder aux caméras

Concernant la partie mobile, il faut s’appuyer sur l’application DS CAM disponible dans les stores android et iPhone. Installez l’application puis lorsqu’il vous demande de vous connecter, rentrez le quick connect ID que vous avez choisi lors de l’étape sur le paramétrage de l’accès au NAS depuis l’exterieur. Rentrez votre login personnel (n’utilisez pas le compte Arduino), votre mot de passe, et cochez les options « HTTPS » et « Se souvenir de moi ». Si, lors de votre connexion, votre application refuse de se connecter, il est probable que votre mobile refuse le certificat auto-signé (certificat qui n’émane pas d’une autorité connue donc l’appareil refoule directement la demande). Pour autoriser le certificat sur votre mobile, il faut aller dans le panneau de configuration du NAS, dans « Sécurité » puis onglet « Certificat ». Cliquer sur le bouton « Exporter le certificat », puis enregistrez le sur votre pc. Il faut maintenant vous envoyer ce certificat sur un email auquel vous avez accès depuis le client de messagerie de votre smartphone/tablette. Depuis le smartphone, la tablette, ouvrez l’email et cliquez sur le certificat en pièce jointe. Votre mobile va vous proposer de l’installer dans le système d’exploitation, acceptez. Retentez alors de vous connecter à vos caméras depuis l’application DS Cam, il ne devrait plus y avoir de soucis.

Deuxième partie : le montage Arduino / Yokis

Le principe de montage est très simple :

Un module Yokis va venir donner un état sur le PIN d’entrée du module Arduino. En fonction de cet état, on va envoyer des ordres au NAS au travers du shield ethernet. L’arduino donnera alors son état au travers d’une LED qui sera allumée si les caméras sont actives ou éteinte si les caméras sont inactives.

Schéma éléctrique :

schema electrique

Troisième partie : le logiciel pour piloter le NAS

Le principe de fonctionnement est très simple : l’arduino attend un état sur un PIN d’entrée. Lorsqu’on reçoit un changement d’état, on va aller chercher l’information sur le NAS pour savoir si la première caméra du lot est active ou non. On va ensuite envoyer l’ordre correspondant à l’inverse de l’état de la première caméra à toutes les caméras paramétrées. La communication entre la carte arduino et le NAS Synology se fait au travers du réseau via des requêtes http.

Principe des requêtes http

Lorsque vous entrez une adresse dans votre navigateur pour aller sur un site internet, votre navigateur communique avec un serveur. Celui-ci retourne alors le contenu de la page sous forme de code source HTML qui est interpreté par votre navigateur pour vous afficher le résultat.

Le principe de la communication avec le NAS est le même : Vous allez, au travers de l’arduino, faire un appel http comme si c’était votre navigateur. Il va alors communiquer avec le serveur qu’est le NAS Synology. Celui-ci renverra une réponse codée (au format JSON) que nous pourrons alors déchiffrer. Chaque adresse envoyée contiendra un certain nombre de paramètres qui feront que le NAS retournera des réponses différentes et agira d’une certaine manière avec les éléments qui l’entourent.

Code source

Il faudra remplacer les données suivantes dans le code source :

  • adresses IP de l’arduino et du NAS
  • Adresse MAC de l’arduino
  • Login et mot de passe du compte Arduino

 Boitier imprimé en 3d

Afin de contenir tout le nécessaire, nous avons réalisé un boitier embarquant l’arduino, le module de reception Yokis et l’alimentation 12V. Ce boitier peut être vissé à un mur à l’aide des 3 ergots mis à disposition.