Table des matières:

Capteur d'humidité IoT : 12 étapes
Capteur d'humidité IoT : 12 étapes

Vidéo: Capteur d'humidité IoT : 12 étapes

Vidéo: Capteur d'humidité IoT : 12 étapes
Vidéo: Mesurer la température et l'humidité avec le capteur DHT11 | ARDUINO #30 2024, Novembre
Anonim
Capteur d'humidité IoT
Capteur d'humidité IoT
Capteur d'humidité IoT
Capteur d'humidité IoT
Capteur d'humidité IoT
Capteur d'humidité IoT

Je voulais un capteur d'humidité qui me permettrait de savoir quand les plantes d'intérieur avaient besoin d'eau. Je voulais quelque chose que je pourrais utiliser pour le démarrage des graines et pour les plantes d'intérieur matures. Je suis toujours préoccupé par le fait que je les arrose trop ou pas.

J'ai passé un peu de temps à travailler sur un logiciel IoT pour les appareils Arduino, en utilisant le logiciel d'autres personnes, j'avais une assez bonne idée des exigences pour le mien.

  1. Je voulais quelque chose que je pouvais flasher sur plusieurs appareils et configurer via le wifi. Je ne voulais pas avoir à modifier un fichier de configuration à chaque fois que je téléchargeais sur un nouvel appareil. Je ne voulais pas non plus avoir à mettre des informations d'identification ou d'autres détails dans le code car j'avais toujours l'intention de partager ce code.
  2. Je voulais aussi un cadre logiciel assez solide que je pourrais personnaliser pour de futurs projets. Celui-ci est un capteur d'humidité. Je pourrais construire un capteur de mouvement/lumière/son/vibration/inclinaison et je voulais pouvoir utiliser certains des mêmes logiciels pour cela.
  3. Enfin, je voulais que cela soit alimenté par batterie et en tant que tel, je voulais qu'il dure longtemps. J'ai passé un certain temps à déterminer le mode de veille profonde où l'appareil passera la plupart du temps en état de veille.

Fournitures

Wemos D1 Mini

Capteur d'humidité capacitif

Batterie 18650

Connecteurs de batterie positifs et négatifs

Interrupteurs à glissière

L'accès à une imprimante 3D est également assez essentiel, bien que vous puissiez trouver d'autres moyens de connecter et d'héberger les pièces.

Voici un lien vers mon article Thingiverse avec tous les modèles que j'ai créés.

Étape 1: Obtenez le logiciel

Obtenez le logiciel
Obtenez le logiciel

J'ai publié mon logiciel sur GITHUB. Il est construit à l'aide de PlatformIO

  1. Suivez les instructions sur le site Web PlatformIO pour installer VSCode et PlatformIO
  2. Téléchargez le firmware depuis mon dépôt GITHUB. Cliquez sur Cloner ou téléchargez et téléchargez ZIP
  3. Extraire et ouvrir le dossier dans VSCode
  4. Connectez le Wemos D1 à votre ordinateur via micro USB
  5. Dans VSCode, cliquez sur l'extraterrestre pour ouvrir le panneau PlatformIO
  6. Cliquez sur Build and Upload pour télécharger le firmware sur la carte Wemos

Étape 2: Configurez un projet Blynk pour que votre capteur puisse parler à

Configurer un projet Blynk pour que votre capteur puisse parler à
Configurer un projet Blynk pour que votre capteur puisse parler à
Configurer un projet Blynk pour que votre capteur puisse parler à
Configurer un projet Blynk pour que votre capteur puisse parler à
Configurer un projet Blynk pour que votre capteur puisse parler à
Configurer un projet Blynk pour que votre capteur puisse parler à
Configurer un projet Blynk pour que votre capteur puisse parler à
Configurer un projet Blynk pour que votre capteur puisse parler à

Je me suis concentré sur deux types de services MQTT et Blynk, soit facultatifs.

Blynk est une plate-forme IOT facile à utiliser et peu coûteuse. Vous pouvez créer des applications principalement en utilisant les crédits de composants que vous obtenez gratuitement. Si vous n'avez plus de crédits, vous pouvez en acheter plus en utilisant les achats intégrés.

  1. Installez l'application Blynk sur votre téléphone
  2. Créer un compte
  3. Créer un nouveau projet
  4. Donnez-lui un nom et choisissez Wemos D1 comme appareil
  5. Obtenez la clé Blynk à partir de votre e-mail, elle sera utilisée pour configurer l'appareil plus tard
  6. Allez-y et appuyez n'importe où sur le tableau de bord de votre projet pour ajouter un composant
  7. Sélectionnez Affichage LCD pour le moment, mais vous pourrez le modifier ultérieurement pour un graphique ou d'autres composants. Blynk vous permet de recycler les composants afin que vous n'ayez pas à vous soucier de gaspiller des crédits
  8. Appuyez sur l'écran LCD et définissez les broches. Le firmware utilise deux broches virtuelles. Peu importe ceux que vous utilisez tant que vous utilisez le même dans votre application que votre firmware plus tard

Étape 3: Configurer le service MQTT (Home Assistant)

J'utilise déjà Home Assistant pour ma domotique et je prévois de configurer des notifications pour une plante à sec ou un capteur qui a cessé de signaler (batterie morte).

Vous pouvez trouver des informations pour configurer HA ici si vous le souhaitez ou vous pouvez simplement configurer un service Mosquitto pour MQTT.

Dans les deux cas, vous voudrez connaître votre adresse IP, votre identifiant et votre mot de passe.

Si vous utilisez Home Assistant, vous configurerez un capteur sur la plate-forme MQTT mais vous aurez besoin du chipid. Le firmware publiera un message avec le sujet [chip id]/humidité avec la valeur de la lecture d'humidité

Voici un exemple de configuration de capteur pour Home Assistant

state_topic: "ESP6e4bac/humidité/"

device_class: humidité

Étape 4: Configurer le micrologiciel

Configurer le micrologiciel
Configurer le micrologiciel
  1. Lorsque la carte se réinitialise, elle démarrera un point d'accès wifi WifiMoisture
  2. Connectez-vous avec votre téléphone ou votre ordinateur
  3. Ouvrez un navigateur et accédez à 192.168.4.1
  4. Vous verrez un formulaire Web
  5. Ajoutez vos identifiants wifi.
  6. Vous pouvez définir l'intervalle de sommeil en minutes mais je vous conseille de le laisser à la valeur par défaut (le max pour votre appareil)
  7. Ajouter des paramètres Blynk Key et/ou MQTT
  8. Appuyez sur Soumettre

Vous pouvez saisir des clés Blynk et/ou des informations d'identification MQTT en fonction de la manière dont vous souhaitez suivre l'humidité. Cela devrait fonctionner avec l'un ou l'autre, mais je prévois d'utiliser les deux.

J'utilise Home Assistant pour ma domotique et je vais configurer une alerte basée sur MQTT, mais j'utilise également un graphique dans Blynk pour suivre les choses en temps réel.

Je conseillerais de faire cette configuration avec l'appareil Wemos toujours connecté à votre PC et tout en exécutant le moniteur série. Si vous avez mal tapé quelque chose ou avez d'autres problèmes, vous aurez besoin de la sortie série pour diagnostiquer.

Étape 5: Impression de pièces

Pièces d'impression
Pièces d'impression

Accédez à mon article Thingiverse, obtenez les pièces et imprimez la dernière version (v2 au moment de la rédaction).

Rien ne devrait nécessiter de supports, mais assurez-vous que les ouvertures sont orientées vers le haut afin de ne pas avoir de grandes surfaces en surplomb.

Étape 6: câblez tout

Tout câbler
Tout câbler

Vous voudrez tout câbler avant de l'insérer dans la boîte, mais il y a quelques pièces imprimées que vous devez assembler pendant le câblage. Nous allons faire cela une étape à la fois

Étape 7: Commencez avec la batterie

L'assemblage de la batterie est construit à partir du support imprimé, d'un connecteur positif et négatif, de deux fils noirs et d'un rouge.

Une fois que vous avez imprimé le support de batterie, insérez les connecteurs positif et négatif à chaque extrémité avec la languette dépassant du bas.

Retournez le support de batterie, repliez les languettes et ajoutez-y un peu de soudure

Torsadez les extrémités des deux fils noirs et étamez-les avec de la soudure

Etamez l'extrémité du fil rouge avec de la soudure

Puis soudez les fils noirs au connecteur négatif (celui avec le ressort) et le fil rouge au connecteur positif.

Enfin, pliez les languettes pour qu'elles reposent à plat contre le côté du support de batterie.

Étape 8: Assemblez le commutateur

Ce firmware est destiné à tirer le meilleur parti de la batterie en utilisant le mode Deep Sleep des puces.

L'appareil se réveille prend et publie une lecture puis se rendort. Pour que la puce se réveille, une connexion est établie entre D0 et RST.

J'ai utilisé l'absence de cette connexion pour dire à l'appareil que vous souhaitez le (re)configurer. La première fois que vous avez démarré, l'appareil est passé en mode de configuration car aucune configuration n'était déjà enregistrée. Maintenant que c'est le cas, si vous avez déjà voulu modifier cette configuration, basculez l'interrupteur et mettez sous tension ou appuyez sur la broche de réinitialisation.

J'ai également constaté que j'avais parfois besoin de déconnecter la connexion D0-RST afin de flasher une nouvelle version du firmware. L'interrupteur fonctionne aussi pour ça.

Le câblage du commutateur est simple, un fil d'un côté à la broche RST et le fil central à la broche D0. Avant de souder cela, faites glisser le bloc de commutateur imprimé sur le commutateur.

Étape 9: Soudez le reste des connexions

Maintenant que l'ensemble batterie et le bloc de commutation sont câblés, il est temps de câbler toutes les autres connexions.

  1. Soudez le fil rouge de la batterie à la broche 3.5v sur le Wemos
  2. Soudez l'un des fils noirs de la batterie à la broche de terre du Wemos
  3. Soudez un fil avec les deux extrémités dénudées à la broche A0. Nous allons le connecter au fil jaune sur le capteur
  4. Soudez un fil rouge avec les deux extrémités dénudées à la broche D1 du Wemos. Cela sera mis à HAUT par le firmware pour alimenter le capteur

Vous pouvez également couper l'embase femelle du capteur et le souder directement au Wemos. Je ne l'ai pas fait, mais il n'y a rien de mal à cela tant que vous n'avez pas l'intention de le démonter plus tard.

Étape 10: tout mettre dans la boîte

Mettez tout dans la boîte
Mettez tout dans la boîte
Mettez tout dans la boîte
Mettez tout dans la boîte

J'ai essayé de faire en sorte que tout soit bien ajusté mais sans trop forcer, mais chaque impression est un peu différente.

  1. Insérez le Wemos. poussez l'extrémité usb en premier. Assurez-vous qu'il s'aligne bien. Si vous ne l'avez pas droit au coin, l'arrière n'entrera pas facilement.
  2. Insérez ensuite le capteur. Avec le câblage déjà connecté, faites-le glisser en biais et lorsqu'il est dans la bonne position, appuyez dessus. La boîte doit tenir sur le support de câblage.
  3. Ensuite, remettez le support de batterie en place. Vous devrez peut-être fléchir un peu les parois de la boîte. Tirez parti du fait qu'un côté est ouvert (je pourrai ouvrir les deux côtés lors de la prochaine révision). Trouvez les deux coussinets circulaires au bas de la boîte et appuyez sur le support de batterie dessus.
  4. Enfin, mettez l'interrupteur en place depuis l'intérieur de la box. Vissez les deux vis de 1,7 mm x 8 mm de l'extérieur en veillant à appliquer une certaine pression sur le bloc de commutation imprimé. Les vis doivent s'accrocher au bloc imprimé, mais n'oubliez pas que les pièces imprimées sont molles et que les vis dénudront facilement les trous.

Une fois que tout est dans la boîte, prenez quelques minutes pour organiser les fils. Vous pourrez peut-être les faire glisser le long du support de batterie, mais en fonction de votre fil, cela pourrait écarter les côtés.

Étape 11: Mettez-le sous tension et faites vos premières lectures

Enfin, assurez-vous que l'interrupteur est basculé pour connecter les broches D0 et RST et insérer une batterie.

mettez le couvercle et vissez les 6 vis pour le maintenir en place (ou le couvercle peut simplement tenir par friction).

L'appareil doit effectuer une lecture immédiatement, se mettre en veille pendant la durée configurée, puis en effectuer une autre.

Maintenant que vous l'avez exécuté, vous pouvez configurer un graphique dans Blynk, configurer une notification dans HomeAssistant ou toute autre option pour suivre l'humidité et garder vos plantes en vie.

Étape 12: Prochaines itérations

À l'avenir, je mettrai probablement à jour le logiciel MQTT pour en dire plus que la lecture brute. L'une des broches blynk publie une interprétation, donc je veux au moins l'ajouter à MQTT. Je dois aussi inclure le dernier

Je prévois également d'ajouter la plage de lecture à la page des paramètres ou de créer un mode d'étalonnage. L'idée serait que vous utilisiez la page de configuration pour le mettre en mode calibrage. Il prend ensuite un certain nombre de lectures en succession assez rapide en gardant la plus élevée comme « Dry » et la plus basse comme « Wet ».

Je pense également que je peux réduire la taille de l'appareil en utilisant une batterie plus petite ou en empilant certaines pièces. Il y a toujours du travail à faire sur le modèle.

Enfin, il existe d'autres cartes en dehors du Wemos D1 Mini qui ont un support de batterie et/ou un chargeur intégré. Leur utilisation peut économiser de l'espace et m'éviter d'avoir à ouvrir le boîtier plus tard.

Conseillé: