Table des matières:
- Étape 1: Ce dont vous avez besoin…
- Étape 2: commencer par la configuration matérielle du capteur BME 280
- Étape 3: Code BME 280 Nodemcu ESP8266
- Étape 4: Succès du capteur BME280 + Dépannage
- Étape 5: Configuration matérielle du capteur de sol
- Étape 6: Code DS18B20 Nodemcu ESP8266
- Étape 7: Succès Solsensor et dépannage
- Étape 8: Terminer
Vidéo: Capteurs d'extension Nodemcu ESP8266 pour Weewx : 8 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Il s'agit d'une instructable pour ajouter des capteurs au logiciel de la station météo weewx.
Si vous n'avez pas weewx, vous pouvez apprendre quelques trucs dans ce tutoriel.
vous avez besoin de connaissances de base sur le code Arduino et sur la façon de télécharger sur un appareil.
Vous trouverez des informations sur weewx ici:
Ce que vous construisez, ce sont 2 appareils:
1 L'appareil envoie la température et l'humidité au logiciel weewx.
1 L'appareil envoie les températures du sol de différentes profondeurs du sol au logiciel weewx.
Notre premier appareil est un capteur BME 280.
Notre deuxième appareil est une chaîne de 3 capteurs de température DS18B20. (Vous pouvez en ajouter si vous le souhaitez).
Commençons:
Étape 1: Ce dont vous avez besoin…
Weewx opérationnel + accès au serveur weewx. (par exemple un framboise PI 3).
2 modules Nodemcu ESP8266
3 capteurs DS18B20 ou plus
1 capteur combiné BME 280
1 tuyau en aluminium ou similaire d'un diamètre de 10 mm et d'une épaisseur de paroi de 1 mm et env. 1 mètre de long
1 Boîtier étanche avec presse-étoupe et contre-écrou.
1 source d'alimentation 5V (chargeur mobile par exemple).
Quelques fils et des trucs de soudure.
Vous trouvez le capteur BME280 et les modules Nodemcu sur ebay.
Pour les tuyaux en aluminium, je choisis une quincaillerie locale
Pour le DS18B20 et le boîtier étanche, j'utilise www.reichelt.de
www.reichelt.de/DS-18B20/3/index.html?ACTI…
www.reichelt.de/EL-FK-110/3/index.html?ACT…
et le groupe de presse-étoupe avec contre-écrous
www.reichelt.de/Kabelverschraubungen-Bopla…
Pour le bme280, vous pouvez utiliser en option une boîte de branchement
www.reichelt.de/Installationsmaterial/EL-D…
Étape 2: commencer par la configuration matérielle du capteur BME 280
Soudez la bande dans le BME280.
Puis câbler le BME au Nodemcu:
NIV BME à 3,3 V
BME GND à GND
SCL à D4
SDA à D3
Si vous le souhaitez, vous pouvez placer l'appareil dans un boîtier, mais assurez-vous qu'il y a des trous dans le boîtier, afin que les valeurs d'humidité et de température soient correctes.
Étape 3: Code BME 280 Nodemcu ESP8266
Pour le code, vous pouvez utiliser mes dépôts github:
github.com/Landixus/BME280_TO_SERVER_WEEWX
Le fichier ino a besoin de quelques insertions de votre part:
L'adresse IP de votre serveur ou URL weewx
et la route où vous avez le fichier php, assurez-vous que la zone est accessible en écriture.
Je choisis le répertoire public_html car il s'agit d'un serveur domestique.
si vous souhaitez cloner les référentiels git et que git est installé sur votre serveur, vous pouvez cloner avec la commande:
"git clone"https://github.com/Landixus/BME280_TO_SERVER_WEEWX"
Maintenant, nous devons faire certaines choses sur notre serveur weewx.
Vous devez faire les chemins vers vos paramètres!
dans
/home/weewx/public_html
créer un dossier de données
dans le dossier data créez un bme.txt par exemple avec:
nano bme.txt
le fichier doit être vide.
le rendre accessible en écriture avec:
chmod -R 777 bme.txt
(vous ne faites jamais cela sur un serveur accessible sur Internet !)
dans le dossier
/home/weewx/public_html
vous mettez le bme.php de mon repo github.
L'astuce est que le fichier INO envoie des valeurs au bme.php et le bme.php écrit les données dans bme.txt
Ensuite, nous devons ajouter le service dans weewx
mettre le bme.py dans le dossier
/home/weewx/bin/user
ouvrez votre weewx.conf dans le dossier
/accueil/weewx
il est toujours bon d'avoir une sauvegarde avant de modifier ce fichier !
descendez à la ligne Engine et faites en sorte que la ligne ressemble à la mienne:
[Moteur]
# Cette section spécifie les services qui doivent être exécutés. Elles sont
# regroupés par type, et l'ordre des services au sein de chaque groupe
# détermine l'ordre dans lequel les services seront exécutés.
data_services = user.pond. PondService, user.bme.bme
redémarrer weewx avec:
sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx start
avec la commande
tail -f /var/log/syslog
vous pouvez rechercher dans le fichier journal les erreurs ou les succès, rechercher un bme de sortie: valeur trouvée de…
Donnez à votre serveur quelques minutes pour générer, dans "mon" weewx.conf toutes les 5 minutes une sortie apparaît.
Si vous avez un message d'erreur, vérifiez vos chemins.
Si vous avez des valeurs, vous pouvez aller les afficher sur la page Web:
ouvrez skin.conf dans
/accueil/weewx/skins/Standard
aller à:
# Celui-ci est probablement spécifique à ma station !ajouter
extraTemp3 = BME1 TempératureextraHumid1 = BME1 Humidité
enregistrez le fichier et ouvrez dans le même dossier
index.html.tmpl
chercher une ligne:
#if $day.extraTemp..
#fin si
après la première #fin si vous trouvez, mettez votre capteur BME avec:
^^ désolé mais pas possible de mettre ça sous forme de texte:(enregistrez le fichier et quittez.
il n'est pas nécessaire de redémarrer weewx.
Vous devez maintenant alimenter le NODEMCU ESP8266 avec le fichier Arduino.
N'oubliez pas de paramétrer votre wifi et vos adresses dans le fichier.
Après le chargement, vérifiez la sortie série pour les erreurs.
Après une courte période, vous devriez voir les valeurs sur votre site Web weewx.
Étape 4: Succès du capteur BME280 + Dépannage
Quelques conseils pour vous:
Ouvrez plus de 1 consoles via putty
sur 1 console apportez vos modifications, et sur l'autre console lisez votre syslog en direct avec:
tail -f /var/log/syslog
Si vous rencontrez une erreur, consultez d'abord votre fichier journal.
Votre sortie devrait ressembler à la mienne:
Étape 5: Configuration matérielle du capteur de sol
Pour le capteur DS18B20, nous devons créer un système de bus avec des fils et des soudures.
Vérifiez votre DS18B20
DONNÉES, GND, VCC
Entre VCC et DATA, vous avez besoin d'une résistance de 4,7K. C'est suffisant si vous avez la résistance au premier DS18B20
Les autres DS18B20 sont parallèles entre eux.
Mesurez la longueur selon vos besoins. Soudez une chaîne ensemble, j'ai sécurisé les broches avec un tube rétractable.
Pour un TEST, vous connectez DATA à D3 et VCC à VCC (3,3 V) et GND à GND.
Pour l'option de sommeil profond, vous devez attacher un pont entre RST et D0 (GPIO16)
Il ne faut pas mettre la chaîne dans le tube Aluminium tout de suite, faites vos tests avant !
Étape 6: Code DS18B20 Nodemcu ESP8266
Pour le code, vous pouvez utiliser mes dépôts GITHUB:
github.com/Landixus/multipleDS18B20WeeWX
De plus, le fichier ino a besoin de quelques insertions de votre part: L'adresse IP de votre serveur weewx ou URL et la route où vous avez placé le fichier php, assurez-vous que la zone est accessible en écriture. Je choisis le répertoire public_html car il s'agit d'un serveur domestique.
Si vous souhaitez cloner les référentiels git et avoir git installé sur votre serveur, vous pouvez cloner avec la commande git clone
Maintenant, nous devons faire des choses qui fonctionnent sur notre serveur weewx.
Vous devez créer les chemins vers vos paramètres dans
/home/weewx/public_html
créez un dossier "data" dans le dossier data créez un ds18b20.txt par exemple nano ds18b20.txt le txt doit être vide. rendez-le accessible en écriture avec chmod -R 777 ds18b20.txt (vous ne faites jamais cela sur un serveur accessible par Internet !) L'astuce est que le fichier INO envoie des valeurs à ground.php et que ground.php écrit les données dans ds18b20.txt. Ensuite, nous devons ajouter le service dans weewx mettre le ds18b20.py dans le dossier /home/weewx/bin/ utilisateur
ouvrez votre weewx.conf dans le dossier /home/weewx
il est toujours bon d'avoir une sauvegarde avant de modifier ce fichier !
descendre à la ligne:
[Moteur]
# regroupés par type, et l'ordre des services au sein de chaque groupe
# détermine l'ordre dans lequel les services seront exécutés.
prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 ajouter l'inline après une virgule
"user.ds18b20.ds18b20" devrait ressembler à la ligne supérieure^^
redémarrer weewx avec:
sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx start
avec la commande tail -f /var/log/syslog vous pouvez rechercher dans le fichier journal les erreurs ou le succès rechercher une sortie ds18b20: valeur trouvée de Donnez à votre serveur quelques minutes pour générer, dans mon weewx.conf toutes les 5 minutes sortez mettre. Si vous avez un message d'erreur, vérifiez vos chemins. Si vous avez des valeurs vous pouvez aller les afficher sur la page: ouvrir
skin.conf dans /home/weewx/skins/Standard allez à:
# Celui-ci est probablement spécifique à ma station !
ajouter
SolTemp1 = DS18B201
solTemp2 = DS18B202
solTemp3 = DS18B203
enregistrez le fichier et ouvrez dans le même dossier index.html.tmpl recherchez une ligne:
#if $day.extraTemp.. …
#fin si
après la première #fin si vous trouvez placez votre capteur GroundSensor avec:
^^ désolé mais il n'est pas possible de mettre cela sous forme de texte:(enregistrez le fichier et quittez. il n'est pas nécessaire de redémarrer weewx. Vous devez maintenant alimenter le NODEMCU ESP8266 avec le fichier Arduino.
N'oubliez pas de paramétrer votre wifi et vos adresses dans le fichier. Après le chargement, vérifiez la sortie série pour les erreurs.
Après une courte période, vous devriez voir les valeurs sur votre site Web weewx.
Étape 7: Succès Solsensor et dépannage
Si tout fonctionne et que vous voyez des valeurs, sortez et mettez le tuyau en aluminium dans le sol.
Un bon moyen est de mettre de la colle chaude sur 1 côté du tuyau, puis de presser le tube ensemble, puis vous avez un joli dessus pour l'amener plus facilement dans le sol.
Mettez d'abord votre tuyau dans le sol, vous pouvez marteler doucement avec une planche de bois.
Si le tuyau est assez profond, vous pouvez mettre votre chaîne ds18b20 et les fils d'alimentation dans le boîtier étanche.
Assurez-vous que votre wifi fonctionne à cet endroit !
Si vous ne savez pas quel capteur est à quelle profondeur, il y a 2 possibilités.
Je teste la phase met 1 ds18b20 entre ton doigt, la température monte pour celui ci.
Lorsque le tuyau est déjà dans le sol, la valeur la plus élevée est normalement le point le plus profond.
Étape 8: Terminer
Juste la fin
Postez vos questions et montrez vos températures au sol dans les commentaires !
Pour plus d'aide, rejoignez les groupes weewx google sur:
groups.google.com/forum/#!forum/weewx-user
Conseillé:
Circuit imprimé d'extension d'E/S polyvalent pour contrôler de nombreux tubes Nixie avec I2C : 9 étapes (avec photos)
Circuit imprimé d'extension d'E/S polyvalent pour contrôler de nombreux tubes Nixie avec I2C : Actuellement, il y a beaucoup d'intérêt à donner vie aux tubes nixie vintage. De nombreux kits d'horloges à tubes nixie sont disponibles sur le marché. Il semblait y avoir même un commerce animé sur le vieux stock de tubes nixie russes. Aussi ici sur Instructables là
Comment créer une domotique basée sur l'IoT avec le relais de contrôle des capteurs NodeMCU : 14 étapes (avec photos)
Comment faire de la domotique basée sur l'IoT avec le relais de contrôle des capteurs NodeMCU : Dans ce projet basé sur l'IoT, j'ai réalisé la domotique avec le module de relais de contrôle Blynk et NodeMCU avec retour en temps réel. En mode manuel, ce module de relais peut être contrôlé à partir d'un mobile ou d'un smartphone et, commutateur manuel. En mode automatique, cette smar
Tapis avec capteurs/communication RF avec Arduino Micro : 4 étapes (avec photos)
Tapis avec capteurs/communication RF avec Arduino Micro : J'ai récemment terminé l'installation Tout aussi diversifiée, qui est composée d'une série de lampes qui réagissent aux capteurs placés dans un tapis sous les lampes. Voici comment j'ai fait le tapis avec des capteurs de pression. J'espère que vous trouverez ça utile.:)
Mod 3.3V pour capteurs à ultrasons (préparez HC-SR04 pour la logique 3.3V sur ESP32/ESP8266, photon de particules, etc.) : 4 étapes
Mod 3.3V pour capteurs à ultrasons (préparez HC-SR04 pour logique 3.3V sur ESP32/ESP8266, photon de particules, etc.) : TL; DR : sur le capteur, coupez la trace à la broche Echo, puis reconnectez-la à l'aide d'un diviseur de tension (trace d'écho -> 2,7kΩ -> Broche d'écho -> 4,7kΩ -> GND).Edit : Il y a eu un débat pour savoir si l'ESP8266 est réellement tolérant 5V sur GPIO dans
NODEMCU LUA ESP8266 avec IC d'extension de port 16 bits MCP23017 : 6 étapes (avec photos)
NODEMCU LUA ESP8266 avec IC d'extension de port 16 bits MCP23017: Le MCP23017 est un IC relativement facile à faire car il a les ports A et B de chaque côté de la puce et les broches sont dans l'ordre séquentiel. De même, le bus d'adresse I2C est tous ensemble aussi. Il y a 2 broches sur ce circuit intégré qui ne sont pas utilisées car il