Background Image
TECHNOLOGIE

S'amuser avec l'IdO, partie 2

Headshot - Jeffrey Worner

March 21, 2023 | 6 Lecture minute

Dans le cadre departie 1 de mon expérience avec l'Internet des objets, j'ai fabriqué une simple alarme qui m'avertit lorsque mon congélateur cesse de fonctionner comme prévu. Dans la partie suivante, je partage mon aventure de création d'un moniteur d'entrée de garage qui m'alerte lorsque des véhicules s'approchent de ma maison.

Utilisation de l'IdO pour créer un moniteur d'allée

Ma propriété rurale possède une allée relativement longue et je voulais savoir si quelqu'un approchait de la maison depuis la route principale. Il existe quelques produits disponibles au détail, et j'ai donc décidé d'en essayer un - le moniteur d'allée Mighty Mule.

Le produit Mighty Mule se compose d'un capteur extérieur relié à un émetteur sans fil. Lorsqu'un véhicule est détecté par le capteur, l'émetteur envoie un signal à un récepteur intérieur qui émet un son. C'est simple comme bonjour ! L'installation ressemble à ceci :

Photo - Fun With IoT Part 2 #1

J'ai installé le Mighty Mule, mais je n'ai pas réussi à faire en sorte que le récepteur intérieur reconnaisse la transmission du capteur. Il s'agit d'un excellent produit qui devrait convenir à 99 % des foyers. Malheureusement, ma maison fait partie des 1% restants.

Les murs extérieurs de notre maison à un étage sont construits avec des coffrages isolants en béton (ICF). Il est courant de trouver des coffrages isolants dans les sous-sols, mais notre maison en possède également au rez-de-chaussée. Les ondes radio ne traversent pas très bien les murs en coffrage isolant. En fait, après la construction de cette maison, j'ai dû installer un amplificateur de signal 4G LTE pour avoir accès à la téléphonie mobile. 4G LTE pour que les téléphones portables fonctionnent à l'intérieur.. J'aurais donc dû m'en douter, mais j'espérais que ce produit aurait plus de succès en pénétrant les murs de notre maison (que je qualifie en plaisantant de "pseudo" cage de Faraday). Je le répète. Je pense que le produit Mighty Mule est excellent, mais il n'a tout simplement pas fonctionné pour moi en raison des contraintes uniques de ma topologie d'installation. Alors, que dois-je faire ?

Avant de commencer, je dois admettre que ma solution finale peut faire penser à une machine de Rube Goldberg. Un répéteur de signaux aurait peut-être été plus judicieux pour étendre la portée du produit Mighty Mule. Pour moi, il s'agissait autant d'une opportunité d'apprentissage que de mon désir de résoudre ce problème.

J'ai donc commencé par construire un moniteur d'entrée de garage, comme le Mighty Mule, mais qui utilise une autre méthode pour faire entrer un signal radio dans la maison depuis l'extérieur. J'avais déjà installé un point d'accès WiFi extérieur pour desservir mes dépendances. Ce point d'accès WiFi extérieur est relié à mon réseau local. Voilà une façon de faire entrer un signal radio dans la maison. Et j'ai eu l'occasion de travailler avec le Wemos D1 Mini qui intègre le WiFi (voir la première partie de ce blog). Cela pourrait fonctionner ! La configuration WiFi ressemble à ceci :

Photo - Fun With IoT Part 2 #2

Ensuite, je devais trouver un capteur à intégrer au Wemos D1 Mini qui ferait l'affaire. J'ai hésité un moment sur le type de capteur à utiliser.

  1. Infrarouge - utilise un faisceau infrarouge qui se déclenche lorsqu'une voiture passe à travers le faisceau. Compte tenu de l'abondance de la faune dans ma région et du risque de fausses alertes, j'ai décidé de ne pas opter pour cette solution.

  2. Magnétique - utilise un champ magnétique pour détecter la proximité d'un véhicule, comme dans un fast-food. Mieux encore, comme il ne devrait détecter que les métaux ferreux, la faune ne déclencherait pas l'alarme. C'est ce que j'ai choisi.

Après quelques recherches, j'ai opté pour le GY-271/QMC5883L capteur magnétique à 3 axes. Il s'agit d'un capteur relativement bon marché, et il existe une bibliothèque bibliothèque Arduino disponible. Voici le prototype de développement.

Body Image - Fun with IoT Part 2

La première étape consistait à trouver un moyen d'utiliser ce capteur pour détecter le passage d'un véhicule. La bibliothèque QMC5883L facilite l'interface avec le capteur. Le capteur est conçu pour donner une lecture X, Y et Z basée sur la position actuelle - utile pour la boussole, la navigation, etc. Mon approche consistait à utiliser le capteur dans une position stationnaire pour détecter les changements du champ magnétique autour de lui. J'ai donc normalisé les relevés des capteurs X, Y et Z en une seule valeur qui peut être utilisée à des fins de comparaison. Mon logiciel interroge le capteur et stocke la valeur normalisée dans une mémoire tampon contenant les N dernières lectures. La mémoire tampon me permet de calculer une moyenne relative aux conditions actuelles. Si la dernière lecture s'écarte trop de la moyenne, on suppose qu'il s'agit d'un véhicule qui passe. C'est un peu plus compliqué, mais c'est le concept de haut niveau.

L'utilisation du calcul de la moyenne pour tenir compte de l'évolution des conditions actuelles est le résultat d'expériences menées avec le prototype. Si je place un objet métallique à côté du capteur, l'alarme se déclenche. Je peux laisser l'objet métallique là, et le code s'adaptera à cette nouvelle normalité sans déclencher constamment l'alarme, tout en détectant d'autres changements légitimes du champ magnétique. Cela permet également d'atténuer les légers mouvements du capteur lui-même, que j'ai observés lorsque j'ai placé le capteur dans un tuyau en PVC sans le serrer.

La conception du capteur en vue d'un déploiement à l'extérieur a été un peu difficile. Le capteur, contenu dans un tuyau en PVC, est enterré à côté de l'allée. Le Wemos D1 Mini n'a pas une antenne très puissante, il a donc besoin d'être au-dessus du sol pour communiquer clairement avec le point d'accès WiFi. J'ai choisi de connecter les composants au-dessus et au-dessous du sol en utilisant un câble Cat-6 pour l'extérieur que j'avais sous la main. Cependant, en faisant cela, j'ai appris que le Wemos D1 mini utilise la communication communication I2C. I2C est conçu pour que les composants soient situés sur le même circuit imprimé, relativement proches les uns des autres. Ma conception exige que la puce et le capteur soient séparés par plusieurs mètres de câble Cat-6. Oups, mon Wemos D1 mini ne peut pas communiquer avec le capteur ! Hmmm, que faire ?

Après quelques recherches supplémentaires, j'ai trouvé ce produit astucieux qui étend la portée de la communication I2C. Et en prime, il a déjà un connecteur RJ-45, donc il fonctionnera parfaitement avec mon câble Cat-6.

Photo - Fun With IoT Part 2 #4

Les détails du produit indiquent qu'il peut étendre la portée de l'I2C à des distances allant jusqu'à 100 pieds. Je suis heureux de dire que je l'ai fait fonctionner à environ 150 pieds ! Pourquoi une telle distance ? J'ai installé mon mini émetteur extérieur Wemos D1 sur un arbre orienté vers le sud, avec une batterie et une alimentation solaire. L'arbre le plus approprié à cette fin se trouvait à environ 150 pieds.

Je n'entrerai pas dans les détails de la configuration de la batterie et de l'énergie solaire ici - c'était une expérience d'apprentissage complètement différente pour moi et peut-être que j'écrirai à ce sujet un jour (12v vs 6v, chargeurs, types de panneaux, régulateurs abaisseurs, etc.) Disons simplement que cette phase du projet m'a amené à acheter un bon nombre de composants de "remplacement". J

J'ai maintenant un Wemos D1 mini en extérieur connecté à un capteur QMC5883L via 150 pieds de Cat-6 avec un prolongateur de portée I2C à chaque extrémité. J'aimerais avoir une photo à partager du tuyau en PVC avec le bouchon fileté qui contient le capteur. Je n'ai jamais pris de photos lorsque je l'ai construit, et le sol est trop gelé pour le déterrer à cette époque de l'année. Voici ma station de transmission extérieure "terminée".

Body Image - Fun with IoT Part 2 #2
Body Image - Fun with IoT Part 2 #3

J'ai également ajouté un indicateur LED pour m'aider à résoudre les problèmes lors du déploiement (ne peut pas communiquer avec le capteur, ne peut pas se connecter au WiFi, etc.) Lorsqu'il détecte le passage d'un véhicule, le Wemos D1 mini (client) envoie une simple demande à une adresse IP statique sur mon réseau local. L'appareil intérieur Wemos D1 mini (serveur) configuré comme alarme écoute cette adresse IP statique.

Body Image - Fun with IoT Part 2 #4

La logique du dispositif intérieur est relativement simple. Il joue une musique aléatoire et envoie des données à Losant afin que je sois averti par message texte.

Fun With IoT Part 2 #8

Certes, ce projet m'a coûté plus cher que le produit de détail avec lequel j'ai commencé, en temps et en argent. Et je suis sûr qu'il pourrait être grandement simplifié. Mais j'ai eu beaucoup de plaisir à apprendre et à expérimenter. L'intégration des différents composants matériels et l'écriture d'un logiciel personnalisé pour leur donner une utilité ont été très satisfaisantes. J'espère que vous avez apprécié la lecture de ce projet. N'hésitez pas à me faire part de vos suggestions ou à partager un projet de bricolage sur lequel vous avez travaillé récemment.

Technologie
Platform Engineering

Besoin d'une aide technique pour votre idée d'application ?

Dernières réflexions

Explorez nos articles de blog et laissez-vous inspirer par les leaders d'opinion de nos entreprises.
Blog Image - Unveiling the Future of AI at Google Cloud Next 24 -1
AI/ML

Unveiling the Future of AI at Google Cloud Next ‘24

Get firsthand insights from Improving into the innovation brewing around artificial intelligence and cloud computing at Google Cloud Next '24.