Sommario:
- Passaggio 1: cosa ti serve…
- Passaggio 2: iniziare con la configurazione hardware del sensore BME 280
- Passaggio 3: codice BME 280 Nodemcu ESP8266
- Passaggio 4: successo Dispositivo sensore BME280 + risoluzione dei problemi
- Passaggio 5: configurazione dell'hardware del sensore del suolo
- Passaggio 6: codice DS18B20 Nodemcu ESP8266
- Passaggio 7: successo Soilsensor e risoluzione dei problemi
- Passaggio 8: fine
Video: Sensori di estensione Nodemcu ESP8266 per Weewx: 8 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
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…
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
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
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
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
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
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
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
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:
Usare l'estensione del petto di Hope per trovare un lavoro di ordinanza del tempio incompleto all'interno del tuo albero genealogico su Family Search: 11 passaggi
Usare l'estensione di Hope's Chest per trovare il lavoro delle ordinanze del tempio incompleto all'interno del tuo albero genealogico su Family Search: Lo scopo di questa istruzione è dimostrare come cercare nel tuo albero genealogico in Family Search per gli antenati con il lavoro delle ordinanze del tempio incompleto usando l'estensione Hope's Chest. L'uso di Hope's Chest può accelerare notevolmente la ricerca di incomp
Scheda di estensione RaspberryPi 3/4 per aggiungere funzionalità extra a Raspberry Pi: 15 passaggi (con immagini)
Scheda di estensione RaspberryPi 3/4 per aggiungere funzionalità extra a Raspberry Pi: sappiamo che raspberry pi 3/4 non è dotato di ADC (convertitore da analogico a digitale) e RTC (orologio in tempo reale) integrati, quindi progetto un PCB che contenga 16 canale 12 bit ADC, RTC, modulo SIM7600 4G, pulsanti, relè, uscita alimentazione USB, uscita 5V, alimentazione 12V
Estensione per qualunque software DJ desideri!: 6 passaggi
Estensione per qualunque software DJ desideri!: Non tutti possono semplicemente lanciarsi nel DJing day one e aspettarsi di avere tutti i mixer, i giradischi e gli hot cue pad pronti il primo giorno, ma siamo realisti qui: mixare su un laptop fa schifo. Ecco a cosa serve, per risolvere tutti i tuoi problemi finanziari ri
Estensione sensoriale del baffo di gatto indossabile (2.0): 6 passaggi (con immagini)
Cat Whisker Sensory Extension Wearable (2.0): questo progetto è una continuazione e una rivisitazione del mio ex collega (metaterra) "Whisker Sensory Extension Wearable". Lo scopo di questo progetto era concentrarsi sulla creazione di "estensioni sensoriali" innovative e computazionalmente arricchite che
Cablaggio della scheda di estensione elettrica fai-da-te: 7 passaggi (con immagini)
Cablaggio della scheda di estensione elettrica fai-da-te: in questo Instructable ti racconterò passo dopo passo l'intero processo di realizzazione di questa scheda di estensione elettrica fatta in casa. È davvero un quadro elettrico molto utile. Mostra la tensione di corrente e l'Ampere consumati in tempo reale. Quando la tensione supera