Table des matières:

Capteurs d'extension Nodemcu ESP8266 pour Weewx : 8 étapes (avec photos)
Capteurs d'extension Nodemcu ESP8266 pour Weewx : 8 étapes (avec photos)

Vidéo: Capteurs d'extension Nodemcu ESP8266 pour Weewx : 8 étapes (avec photos)

Vidéo: Capteurs d'extension Nodemcu ESP8266 pour Weewx : 8 étapes (avec photos)
Vidéo: TRONIK AVENTUR 284 - ESP8266 - PILOTER LED en WIFI - DOMOTIQUE - expliqué de A à Z 2024, Juillet
Anonim
Capteurs d'extension Nodemcu ESP8266 pour Weewx
Capteurs d'extension Nodemcu ESP8266 pour Weewx

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…

De quoi as-tu besoin…
De quoi as-tu besoin…
De quoi as-tu besoin…
De quoi as-tu besoin…
De quoi as-tu besoin…
De quoi as-tu 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

Commencez par la configuration matérielle du capteur BME 280
Commencez 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

Code BME 280 Nodemcu ESP8266
Code BME 280 Nodemcu ESP8266
BME 280 Nodemcu ESP8266 Code
BME 280 Nodemcu ESP8266 Code
Code BME 280 Nodemcu ESP8266
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

Capteur Success BME280 + Dépannage
Capteur Success BME280 + Dépannage
Capteur Success BME280 + Dépannage
Capteur Success 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

Configuration matérielle du capteur de sol
Configuration matérielle du capteur de sol
Configuration matérielle du capteur de sol
Configuration matérielle du capteur de sol
Configuration matérielle du capteur de sol
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

DS18B20 Nodemcu ESP8266 Code
DS18B20 Nodemcu ESP8266 Code

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

Capteur de sol Success et Dépannage
Capteur de sol Success 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

Finir
Finir

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é: