Sommario:

Sensori di estensione Nodemcu ESP8266 per Weewx: 8 passaggi (con immagini)
Sensori di estensione Nodemcu ESP8266 per Weewx: 8 passaggi (con immagini)

Video: Sensori di estensione Nodemcu ESP8266 per Weewx: 8 passaggi (con immagini)

Video: Sensori di estensione Nodemcu ESP8266 per Weewx: 8 passaggi (con immagini)
Video: Sensor Monitoring using Blynk Mobile App and NodeMCU ESP8266 2024, Novembre
Anonim
Sensori di estensione Nodemcu ESP8266 per Weewx
Sensori di estensione Nodemcu ESP8266 per Weewx

Si tratta di un'istruzione per aggiungere sensori al software della stazione meteorologica weewx.

Se non hai weewx, puoi imparare alcune cose in questo tutorial.

hai bisogno di una conoscenza di base del codice Arduino e di come caricare su un dispositivo.

Puoi trovare informazioni su weewx qui:

Quello che costruisci sono 2 dispositivi:

1 Il dispositivo invia temperatura e umidità al software weewx.

1 Il dispositivo invia le temperature del suolo di diverse profondità del terreno al software weewx.

Il nostro primo dispositivo è un sensore BME 280.

Il nostro secondo dispositivo è una catena di 3 sensori di temperatura DS18B20. (Puoi aggiungerne altri se lo desideri).

Iniziamo:

Passaggio 1: cosa ti serve…

Quello di cui hai bisogno…
Quello di cui hai bisogno…
Quello di cui hai bisogno…
Quello di cui hai bisogno…
Quello di cui hai bisogno…
Quello di cui hai bisogno…

Weewx attivo e funzionante + accesso al server weewx. (ad esempio un lampone PI 3).

2 moduli Nodemcu ESP8266

3 o più sensori DS18B20

1 sensore combinato BME 280

1 tubo di alluminio o simile con un diametro di 10 mm e uno spessore della parete di 1 mm e ca. 1 metro di lunghezza

1 Custodia impermeabile con pressacavo e controdado.

1 Alimentazione 5V (caricatore mobile per esempio).

Alcuni fili e roba da saldare.

Trovi il sensore BME280 e i moduli Nodemcu su ebay.

Per il tubo in alluminio scelgo un negozio di ferramenta locale

Per il DS18B20 e la custodia impermeabile uso www.reichelt.de

www.reichelt.de/DS-18B20/3/index.html?ACTI…

www.reichelt.de/EL-FK-110/3/index.html?ACT…

e il gruppo di pressacavi con controdadi

www.reichelt.de/Kabelverschraubungen-Bopla…

Per il bme280 è possibile utilizzare una lattina di ramificazione opzionale

www.reichelt.de/Installationsmaterial/EL-D…

Passaggio 2: iniziare con la configurazione hardware del sensore BME 280

Inizia con la configurazione hardware del sensore BME 280
Inizia con la configurazione hardware del sensore BME 280

Saldare la striscia nel BME280.

Quindi cablare il BME al Nodemcu:

BME VIN a 3,3 V

BME GND a GND

SCL a D4

SDA a D3

Se vuoi puoi mettere il Dispositivo in una custodia, ma assicurati che ci siano dei fori nella custodia, in modo che i valori di umidità e temperatura siano corretti.

Passaggio 3: codice BME 280 Nodemcu ESP8266

Codice BME 280 Nodemcu ESP8266
Codice BME 280 Nodemcu ESP8266
Codice BME 280 Nodemcu ESP8266
Codice BME 280 Nodemcu ESP8266
Codice BME 280 Nodemcu ESP8266
Codice BME 280 Nodemcu ESP8266

Per il codice puoi usare i miei repository github:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Il file ino ha bisogno di alcuni inserti da parte tua:

L'indirizzo IP del tuo server weewx o URL

e il percorso in cui hai il file php, assicurati che l'area sia scrivibile.

scelgo la directory public_html perché è un server domestico.

se vuoi clonare i repository git e avere git installato sul tuo server, puoi clonare con il comando:

"git clone"https://github.com/Landixus/BME280_TO_SERVER_WEEWX"

Ora dobbiamo fare alcune cose sul nostro server weewx.

Devi creare i percorsi per le tue impostazioni!

in

/home/weewx/public_html

creare una cartella dati

nella cartella dati creare un bme.txt ad esempio con:

nano bme.txt

il file dovrebbe essere vuoto.

renderlo scrivibile con:

chmod -R 777 bme.txt

(non lo fai mai su un server accessibile a Internet!)

nella cartella

/home/weewx/public_html

hai messo il bme.php del mio repository github.

Il trucco è che il file INO invia valori a bme.php e bme.php scrive i dati in bme.txt

Successivamente dobbiamo aggiungere il servizio in weewx

metti bme.py nella cartella

/home/weewx/bin/utente

apri il tuo weewx.conf nella cartella

/home/weewx

è sempre bene avere un backup prima di modificare questo file!

scendi alla riga Engine e rendi la riga simile alla mia:

[Motore]

# Questa sezione specifica i servizi che dovrebbero essere eseguiti. Loro sono

# raggruppati per tipo e l'ordine dei servizi all'interno di ciascun gruppo

# determina l'ordine in cui verranno eseguiti i servizi.

data_services = user.pond. PondService, user.bme.bme

riavvia weewx con:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

con il comando

tail -f /var/log/syslog

puoi cercare nel file di registro errori o successo, cercare un output bme: valore trovato di…

Dai al tuo server qualche minuto per generare, nel "mio" weewx.conf ogni 5 minuti arriva un output.

Se hai un messaggio di errore controlla i tuoi percorsi.

Se hai dei valori, puoi andare a mostrarli nella pagina web:

apri skin.conf in

/home/weewx/skin/Standard

vai a:

# Questo è probabilmente specifico per la mia stazione!aggiungi

extraTemp3 = BME1 TemperaturaextraUmidità1 = BME1 Umidità

salva il file e apri nella stessa cartella

index.html.tmpl

cerca una riga:

#if $giorno.extraTemp..

#finisci se

dopo il primo #end se lo trovi, metti il tuo sensore BME con:

^^ scusa ma non è possibile metterlo come testo:(salva il file ed esci.

non è necessario riavviare weewx.

Ora devi alimentare il NODEMCU ESP8266 con il file Arduino.

Non dimenticare di impostare il tuo wifi e gli indirizzi nel file.

Dopo il caricamento, controllare l'uscita seriale per errori.

Dopo un breve periodo dovresti vedere i valori sul tuo sito weewx.

Passaggio 4: successo Dispositivo sensore BME280 + risoluzione dei problemi

Successo Dispositivo sensore BME280 + risoluzione dei problemi
Successo Dispositivo sensore BME280 + risoluzione dei problemi
Successo Dispositivo sensore BME280 + risoluzione dei problemi
Successo Dispositivo sensore BME280 + risoluzione dei problemi

Alcuni consigli per te:

Apri più di 1 console tramite mastice

su 1 console apporta le tue modifiche e sull'altra console leggi il tuo syslog live con:

tail -f /var/log/syslog

Se hai un errore, controlla prima il tuo file di registro.

Il tuo output dovrebbe essere simile al mio:

Passaggio 5: configurazione dell'hardware del sensore del suolo

Configurazione hardware del sensore del suolo
Configurazione hardware del sensore del suolo
Configurazione hardware del sensore del suolo
Configurazione hardware del sensore del suolo
Configurazione hardware del sensore del suolo
Configurazione hardware del sensore del suolo

Per il sensore DS18B20 dobbiamo realizzare un sistema bus con alcuni fili e saldature.

Controlla il tuo DS18B20

DATI, GND, VCC

Tra VCC e DATA è necessaria una resistenza da 4.7K. Basta avere la resistenza al primo DS18B20

Gli altri DS18B20 sono paralleli tra loro.

Misura la lunghezza per le tue esigenze. Saldare una catena insieme, ho fissato i perni con un tubo termoretraibile.

Per un TEST si collega DATA a D3 e VCC a VCC(3.3V) e GND a GND.

Per l'opzione di sospensione profonda è necessario collegare un bridge tra RST e D0 (GPIO16)

Non dovresti mettere la catena nel tubo di alluminio in questo momento, fai i tuoi test prima!

Passaggio 6: codice DS18B20 Nodemcu ESP8266

Codice DS18B20 Nodemcu ESP8266
Codice DS18B20 Nodemcu ESP8266

Per il codice puoi usare i miei repository GITHUB:

github.com/Landixus/multipleDS18B20WeeWX

Anche il file ino necessita di alcuni inserimenti da parte tua: L'indirizzo IP del tuo server weewx o URL e la route dove hai messo il file php, assicurati che l'area sia scrivibile scelgo la dir public_html perché è un home server.

Se vuoi clonare i repository git e avere git installato sul tuo server puoi clonare con il comando git clone

Ora abbiamo bisogno di fare alcune cose che tutto funzioni sul nostro server weewx.

Devi creare i percorsi per le tue impostazioni in

/home/weewx/public_html

creare una cartella "dati" nella cartella dati creare un ds18b20.txt ad esempio nano ds18b20.txt il txt dovrebbe essere vuoto. rendilo scrivibile con chmod -R 777 ds18b20.txt (non lo fai mai su un server accessibile da internet!) nella cartella /home/weewx/public_html metti il ground.php del mio rappresentante github. Il trucco è che il file INO invia i valori al ground.php e il ground.php scrive i dati in ds18b20.txt il prossimo dobbiamo aggiungere il servizio in weewx mettere il ds18b20.py nella cartella /home/weewx/bin/ utente

apri il tuo weewx.conf nella cartella /home/weewx

è sempre bene avere un backup prima di modificare questo file!

scendi alla riga:

[Motore]

# raggruppati per tipo e l'ordine dei servizi all'interno di ciascun gruppo

# determina l'ordine in cui verranno eseguiti i servizi.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 aggiungi l'inline dopo una virgola

"user.ds18b20.ds18b20" dovrebbe assomigliare alla riga superiore^^

riavvia weewx con:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

con il comando tail -f /var/log/syslog puoi cercare nel file di log per errori o successo cercare un output ds18b20: trovato valore di Dai al tuo server alcuni minuti per generare, nel mio weewx.conf ogni 5 minuti esce mettere. Se hai un messaggio di errore controlla i tuoi percorsi. Se hai dei valori puoi andare a mostrarli nella pagina: apri

skin.conf in /home/weewx/skins/Standard vai a:

# Questo è probabilmente specifico per la mia stazione!

Inserisci

suoloTemp1 = DS18B201

suoloTemp2 = DS18B202

suoloTemp3 = DS18B203

salva il file e apri nella stessa cartella index.html.tmpl cerca una riga:

#if $giorno.extraTemp.. …

#finisci se

dopo il primo #end se trovi metti il tuo GroundSensor Sensor con:

^^ scusa ma non è possibile metterlo come testo: (salva il file ed esci. non è necessario riavviare weewx. Ora devi alimentare il NODEMCU ESP8266 con il file Arduino.

Non dimenticare di impostare il tuo wifi e gli indirizzi nel file. Dopo il caricamento, controllare l'uscita seriale per errori.

Dopo un breve periodo dovresti vedere i valori sul tuo sito weewx.

Passaggio 7: successo Soilsensor e risoluzione dei problemi

Successo Soilsensor e risoluzione dei problemi
Successo Soilsensor e risoluzione dei problemi

Se hai tutto funzionante e vedi i valori, esci e metti il tubo di alluminio nel terreno.

Un buon modo è mettere la colla a caldo in 1 lato del tubo e poi premere il tubo insieme, quindi hai una bella cima per portarlo più facilmente nel terreno.

Metti prima la tua pipa nel terreno, puoi martellare dolcemente con una tavola di legno.

Se il tubo è abbastanza profondo, puoi inserire la tua catena ds18b20 e i cavi di alimentazione nella scatola impermeabile.

Assicurati che il tuo wifi funzioni in questo posto!

Se non sai qual è il sensore quanto è profondo, ci sono 2 possibilità.

Io fase di prova metto 1 ds18b20 tra il dito, la temperatura sale più in alto per questo.

Quando il tubo è già interrato, normalmente il valore più alto è il punto più profondo.

Passaggio 8: fine

Fine
Fine

solo la fine

Pubblica le tue domande e mostra le tue temperature al suolo nei commenti!

Per ulteriore assistenza, unisciti ai gruppi weewx google su:

groups.google.com/forum/#!forum/weewx-user

Consigliato: