Bonjour,
j'habite une vieille maison avec plusieurs petites dépendances. J'ai été victime de cambriolages ces derniers mois, ce qui m'a décidé à protéger mon domicile. J'ai mis en place une alarme avec différents capteurs (détecteur de porte, etc.) et sirènes.
Les solutions du commerce ne me convenant pas pour plusieurs raisons, j'ai dû réaliser moi-même ce système d'alarme avec un raspberry. Il ne protège pour l'instant que ma maison. Maintenant, je voudrais aussi protéger les dépendances qui sont à côté: c'est le problème technique que je veux résoudre. Pardon si le message est long, mais je pense que c'est nécessaire pour bien expliquer la situation.
Je précise que je suis débutant en électronique.
Idée générale
Pour faciliter la mise en oeuvre et la maintenance, mon idée est de mettre un arduino dans chaque bâtiment à protéger de manière à avoir un système modulaire. Chaque arduino devra gérer les capteurs de son bâtiment et être capable de déclencher la sirène de son bâtiment en cas de besoin. Ces arduino devront aussi être capables de communiquer avec un appareil principal (soit le raspberry, soit un autre arduino, peu importe). L'allumage/extinction de l'alarme se fera à partir de cet appareil principal.
La communication sans fil est à proscrire (murs trop épais). J'envisage de réaliser des liaisons filaire à partir de câbles réseau (avantages: 8 fils disponibles, blindage, facilité de sertissage, prises normalisées pratiques). Attention, je ne parle pas d'un réseau ethernet, mais simplement d'utiliser du câble réseau comme fil de connexion. Longueur des liaisons à prévoir: de l'ordre de 50m.
Problème à résoudre: choix d'un mode de transmission de données
Après quelques recherches, je vois qu'il existe de nombreuses manières de faire communiquer plusieurs arduino entre eux:
- liaison série UART. Avec le protocole RS-232 (nécessite un shield dédié sur l'arduino) il semble qu'on puisse atteindre des distances jusqu'à 60m. Mais le protocole ne semble pas très pratique pour relier plus de 2 appareils entre eux (j'ai besoin de 3 appareils en tout à relier à l'appareil principal)
- liaison I2C: protocole qui semble très pratique, mais il semble qu'on puisse au mieux atteindre 30m avec un module LTC4311 -> insuffisant pour moi
- liaison SPI: distance trop courte (1m max?) -> insuffisant pour moi
- liaison CAN: très grandes longueurs possibles, mais ce protocole semble plus difficile à implémenter
Cette liste n'est pas exhaustive et est limitée par mes faibles compétences en électronique. N'hésitez pas à m'en suggérer d'autres qui pourraient faire ce que je veux. Mes critères sont:
- possibilité de relier des appareils à une distance de 50m ou plus
- possibilité de relier jusqu'à 3 appareils "satellites" à un appareil principal
- facilité d'implémentation
- nécessite au plus 8 fils
Également, vu les distances en jeu, je me demande s'il ne faudra pas prévoir une alimentation pour chaque appareil. Cela peut entrer en conflit avec certains types de liaison qui nécessitent de mettre l'alimentation et la masse en série.
Si vous avez des remarques, d'autres suggestions ou même si vous avez dû résoudre des problèmes similaires, n'hésitez pas!
Merci d'avance pour vos retours.
Annexe: quelques mots à propos du système que j'ai déjà réalisé, en lien avec la question plus haut
Le système que j'ai fait (qui ne protège que mon domicile pour l'instant) est basé sur un raspberry. J'utilise le GPIO. Les capteurs sont très simples (interrupteurs de porte, interrupteur marche/arrêt, etc.) de type ouvert/fermé. Ils sont interrogés tous les 0,1 sec via un pull-in. La sirène (12V) est déclenchée avec un relais compatible GPIO. À noter que j'ai utilisé du câble réseau pour tout relier (capteurs, relais) et que j'ai donc des pull-in et un relais qui sont situés à environ 15m du GPIO! Ca fonctionne très bien comme ça depuis plusieurs semaines. Mais je ne pense pas que ça puisse fonctionner sur des distances de 50m. Sans compter que ça multiplierait le nombre de pins sollicités sur le GPIO si je gérais tous les capteurs/relais de manière centralisée. C'est ce qui motive mon idée de mettre des arduino "satellites" en bout de ligne, avec leur propre alim.
Partager