DIY : Moderniser son alarme filaire

Aujourd’hui, je me fait le relais d’un très intéressant article qui nous a été proposé par Fabrice, un de mes amis et également un membre de la communauté Google+ de Domotique-Info.

Disposant d’un système d’alarme filaire, Fabrice s’est lancé dans l’aventure du DIY afin de moderniser son alarme filaire à la sauce Duino. Comme vous pourrez le lire, c’est un moyen très économique de donner un gros coup de jeune à une installation vieillissante et de bénéficier de nouveaux services et fonctionnalités.

Bonne lecture ! :) 


Bonjour, je regarde quotidiennement votre site et suis la communauté qui est riche aussi bien en sujets que par leurs contenus. Aussi je voudrais partager très modestement mon expérience.

Le système d’alarme de mon domicile datant des années 80 n’est plus maintenu et ne permettait pas d’évoluer comme je le souhaitais. Ce système filaire était déjà en place lors de l’achat du pavillon. Lors de travaux de rénovation, seuls les câbles apparents à l’époque ont été encastrés pour faire plus « propre » mais sans toucher à la centrale. Je souhaitais donc changer ma centrale.

centrale-avant

Le système des années 80 (non ce n’est pas du wireless….)

Pourquoi moderniser son alarme filaire ?

Ce système était limité aux fonctionnalités suivantes :

avant

Et, dans le cadre de cette modernisation, mon besoin était de disposer d’un système :
- pouvant réutiliser les interfaces existantes et donc au minimum (6 capteurs d’ouverture, 3 radars, un clavier à code, 2 sirènes).
- permettant 2 modes de surveillance (périmétrique et périmétrique+radar)
- permettant à distance, de connaître son état en temps réel et d’interagir si nécessaire
- ne dépendant pas d’un serveur tierce-partie (très important pour moi)
- pouvant évoluer (ajout de senseurs)
- pouvant interagir dans le futur avec la domotique de la maison.
- et bien sûr, rester dans un budget raisonnable

moderniser son alarme filaire

Je n’ai pas vraiment trouvé ce que je cherchais dans les box du commerce, aussi j’ai donc décidé de me lancer dans « l’aventure » de réaliser du « Home-made ».

Je me suis tourné vers un PCDUINO qui offre nativement les interfaces dont j’avais besoin et aussi de quoi  communiquer avec le « monde extérieur ». Ces interfaces sont entre autre : 18 I/O, 2 USB, 1 ETHERNET, du wifi via un dongle usb.

_IGP9986-600x600Le PCDUINO et son dongle Wifi

Pour le logiciel, j’avais conscience que ce serait du fait maison. Le PCDUINO arrive nativement avec un suite « linux light » (LUBUNTU 12.04) (il est possible de le faire fonctionner sous ANDROID). Les outils nécessaires à la programmation et les utilitaires usuels sont aussi disponibles (transfert de fichiers, bureau distant, etc…).  Pour la programmation, le choix s’est porté sur le langage Python qui est assez simple d’accès. Enfin, les exemples et les tutos en manquent pas sur Internet.

Partie matérielle :

Le niveau des I/O du PCDUINO étant en 3.3V, j’ai jugé nécessaire d’avoir une interface en entrée (ne serait-ce que par protection) et en sortie pour piloter des voyants et les sirènes. J’ai donc créé une petite carte d’adaptation qui offre :
- l’interface mécanique avec le PCDUINO
- l’interface électrique avec le PCDUINO
- la connectique pour relier les capteurs, voyants et sirènes
- les alimentations nécessaires (5V pour le PCDUINO et 12V pour le clavier / voyant / radars / sirènes. L’objectif est de l’alimenter directement en 220V.

Après une saisie CAO avec EAGLE free, un routage manuel en double faces, la réalisation a été sous-traitée à DFROBOT pour un rapport qualité/prix imbattable.

pcb

Le cuivre de la carte d’adaptation.

moderniser son alarme filaire

La carte d’adaptation équipée

Le montage complet a été logé dans une boite de dérivation grand modèle pour ne pas galérer avec le raccordement des fils.

moderniser son alarme filaire

  Le PCDUINO dans son « coffret », puis avec sa carte équipée puis l’ensemble cablé.

L’ancien système était secouru par batterie. Le nouveau l’est par un onduleur, ce qui me permet d’y raccorder aussi ma box et la base de mon téléphone I/P sans fil. L’autonomie dépendant grandement du dimensionnement de la capacité de l’onduleur.

onduleur-500-watt-eaton-ellipse-eco-500-fr L’onduleur retenu

Enfin, j’ai fait évoluer le clavier de manière à gérer les 2 modes de surveillances (via 2 relais, chacun activable par un code différent) et les 2 voyants dont le comportement est personnalisable à souhaits. Cela se justifiait également par le fait que les touches du précédent clavier donnaient des signes de faiblesses. J’en ai profité pour l’encastrer dans le mur.

clavier

Le clavier

Partie logicielle :

Lorsque le PCDUINO arrive, il faut bien sur mettre à jour les applications, ajouter de base un bureau distant, le FTP et si nécessaire l’environnement de développement.

Le langage de programmation choisi est le PYTHON, car facilement accessible, supporté et parce qu’il existe pléthore d’exemples et de modules pour réaliser les fonctions diverses et varier. Une excellente source se trouve ici : http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.PCDUINO

J’ai installé également l’environnent de développement sur mon PC de bureau qui fonctionne sous UBUNTU, ce qui me permet de développer dans des conditions « plus agréables » et surtout de pouvoir le faire alors que le système d’alarme fonctionne. Après validation, il suffit de mettre à jour le scrypt python sur le PCDUINO. Afin de gagner en souplesse les particularités (PC bureau ou PCDUINO) font partie d’un fichier python spécifique sur chaque machine. Le code de gestion des évènements, la logique d’alarme et la gestion de l’IHM étant identique

L’interface graphique sur le PCDUINO a été réalisée à l’aide du module PyQt. J’ai dessiné le plan de mon pavillon en image de fond. L’état des capteurs vient s’afficher en superposition en « temps réel » en cas d’ouverture de porte ou d’activation d’un radar.

appli1appli2

L’application sous LUBUNTU

J’ai réservé une petite partie de l’IHM pour simuler mes discrets afin de faciliter la mise au point. J’ai ajouté un journal d’événement (fichier log) qui m’a servi à la mise au point et à valider le système.

La partie connection ethernet avec le « monde extérieur » a été réalisée via le module python « Bottle ». Je l’utilise plus en mode socket, mais pourrait se comporter comme un serveur HTML. Cette connexion se fait soit par le wifi de la maison, soit par internet sous condition de paramétrer correctement la box (redirection de port vers le PCDuino)

J’ai mis en place également le module mail du  python. En cas d’alerte, je reçois un mail dès que la sirène change d’état. Je peux recevoir également par mail le journal d’événements. J’ai créé pour cela une boite mail spécifique pour la maison.

Bilan

Pour environ 250€ (PCDUINO, interface (cuivre & composants), clavier, boitier, hors onduleur), quelques heures et de d’huile de coude, j’ai le système qui me convient et répond à mes attentes même si reste encore perfectible. Au final, je dispose des fonctionnalités suivantes :

- 2 modes de surveillances (Périmétrique ou Périmétrique & Radar). Le choix se fait soit par le clavier, soit via l’IHM, soit via une liaison internet/Ethernet.
- un accès à l’état courant de différente manière (via les voyants, via l’IHM en bureau distant au travers du wifi de la maison depuis une tablette, un PC ou un Smartphone, et enfin via un browser internet à distance (internet, 3G/4G).
- un journal d’événements consultable en local et/ou à distance
- des alertes et/ou le journal d’événements par mail
- de quoi faire évoluer mon système.

A noter que le système était relié au wifi de la maison dans un premier temps, mais la connexion n’étant pas toujours stable pour des problèmes de portée, le système est maintenant connecté en filaire à ma box.

Au passage, je me suis rendu compte que maintenant je pourrais disposer d’une base de donnée caractérisant très sommairement ce qui se passe dans le pavillon.

Et après ?

Par la suite il me manque :
- la possibilité d’envoyer des SMS, car la réception à distance des alertes sur mon Smartphone et/ou celui de ma femme dépend de la couverture 3G, mais des solutions existent.
- l’ajout d’autres capteurs de présences par exemple.
- une connexion avec une/des caméras I/P pour renforcer la surveillance.
- renforcer la sécurité des connections existantes dans la mesure du possible.

La puissance de calcul du PCDUINO étant surdimensionnée pour juste moderniser son alarme filaire et surveiller des I/O, je compte ajouter la surveillance des températures existantes dans la maison.

THGR122NX_lg

Sonde de température ORENGON

Pour cela un futur RFXCOM viendra certainement se connecter sur un des ports USB resté libre sur le PCDUINO. Comme il resterait un connecteur USB de libre, j’envisage également d’ajouter quelques capteurs/actionneurs ENOCEAN via le dongle adéquat , ce qui me permettra de compléter le système à ma guis set en fonction de mes besoins/envies.

RFXtrx_2012 MFG_USB300U

RFXCOM et dongle EnOcean

En espérant que cet article aura donné l’envie aux lecteurs de se lancer dans l’aventure.

Author: Nicolas Fovet

Geek et Techno-défricheur, je suis un passionné de nouvelle technologies. Professionnel des systèmes embarqués dans les domaines aéronautique, spatial et tactique depuis plus de 15 ans, j'aime partager mes découvertes et passions technologiques !

Share This Post On

6 Comments

  1. Pourquoi un onduleur plutôt qu’une batterie ?
    Vu la faible conso de l’ensemble, j’aurais plutôt mis une batterie 12V ou 24V, un ensemble de regulateurs de tensions hautes perf 12V et 5V (depuis le 12 ou 24v) et un chargeur de batteries.

    L’avantage c’est de tenir plus que les 10 minutes de l’onduleur, et donc eviter les Deny Of Service pour qqn qui coupe le courant…

  2. Bonne remarque. En fait, sur cette installation, il faut savoir que l’onduleur ne sécurise pas que le PcDuino mais également d’autres équipements.

  3. Hello,
    Pourquoi au lieu d’utiliser VNC qui est une faille possible (déjà prouvé à plusieurs reprise par le passé) ne pas embarqué un mini serveur web avec une authentification ? Avec des merveilleux outils comme Bootstrap et Jquery UI le tout est fait en quelques clics.

    A plush !

  4. excellent !
    beau boulot… j’ai un peu le même soucis alors j’suis preneur de ton plan (typon) et implémentation de tes composants… si tu veux bien !
    par contre que se passe t-il si ta box te lâche (plus d’adresse ip) ?

  5. Hello :) Sur l’installation de Fabrice, l’utilisation de VNC n’est que locale et non NATé donc difficilement hackable depuis l’extérieur. Par contre, depuis l’extérieur le système est piloté via un serveur web (Bottle). Pas de https pour l’instant par contre.

  6. @titi007, Je vais demander à Fabrice s’il veut bien partager ses fichiers Eagle et je les ajouterai à l’article.
    En cas de plantage du réseau ethernet local, le clavier à code permet toujours de piloter l’alarme.

Laisser un commentaire