Innholdsfortegnelse:

Utvidelsessensorer Nodemcu ESP8266 for Weewx: 8 trinn (med bilder)
Utvidelsessensorer Nodemcu ESP8266 for Weewx: 8 trinn (med bilder)

Video: Utvidelsessensorer Nodemcu ESP8266 for Weewx: 8 trinn (med bilder)

Video: Utvidelsessensorer Nodemcu ESP8266 for Weewx: 8 trinn (med bilder)
Video: Smarte zwei Stationen Wetterstation | Making of | HD 2024, Juli
Anonim
Utvidelsessensorer Nodemcu ESP8266 for Weewx
Utvidelsessensorer Nodemcu ESP8266 for Weewx

Dette er en instruksjon for å legge til sensorer i weewx værstasjonsprogramvare.

Hvis du ikke har weewx, kan du lære noen ting i denne opplæringen.

du trenger grunnleggende kunnskap om Arduino -kode og hvordan du laster opp på en enhet.

Du finner weewx -informasjon her:

Det du bygger er to enheter:

1 Enhet sender temperatur og fuktighet til weewx -programvaren.

1 Enhet sender jordtemperaturer på forskjellige grunndyp til weewx -programvaren.

Vår første enhet er en BME 280 -sensor.

Vår andre enhet er en kjede med 3 DS18B20 temperatursensorer. (Du kan legge til flere hvis du vil).

La oss begynne:

Trinn 1: Hva du trenger …

Hva trenger du…
Hva trenger du…
Hva trenger du…
Hva trenger du…
Hva trenger du…
Hva trenger du…

Weewx oppe og går + tilgang til weewx server. (for eksempel en bringebær PI 3).

2 Nodemcu ESP8266 moduler

3 eller flere DS18B20 sensorer

1 kombinasjonssensor BME 280

1 aluminiumsrør eller lignende med en diameter på 10 mm og 1 mm veggtykkelse og ca. 1 meter lang

1 Vanntett etui med kabelgjennomføring og låsemutter.

1 5V strømkilde (mobillaster for eksempel).

Noen ledninger og loddeting.

Du finner BME280 -sensor og Nodemcu -moduler på eBay.

For aluminiumsrør velger jeg en lokal jernvarehandel

For DS18B20 og vanntett etui bruker jeg www.reichelt.de

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

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

og gruppen av kabelgjennomføringer med låsemuttere

www.reichelt.de/Kabelverschraubungen-Bopla…

For bme280 kan du valgfritt bruke en forgreningsboks

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

Trinn 2: Start med BME 280 Sensor Hardware Setup

Start med BME 280 Sensor Hardware Setup
Start med BME 280 Sensor Hardware Setup

Lodd stripen i BME280.

Deretter kobles BME til Nodemcu:

BME VIN til 3,3V

BME GND til GND

SCL til D4

SDA til D3

Hvis du vil, kan du sette enheten i et hus, men sørg for at noen hull er i huset, slik at fuktighets- og temperaturverdiene er riktige.

Trinn 3: BME 280 Nodemcu ESP8266 -kode

BME 280 Nodemcu ESP8266 kode
BME 280 Nodemcu ESP8266 kode
BME 280 Nodemcu ESP8266 kode
BME 280 Nodemcu ESP8266 kode
BME 280 Nodemcu ESP8266 kode
BME 280 Nodemcu ESP8266 kode

For koden kan du bruke mine github -lagre:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Ino -filen trenger noen innlegg fra deg:

IP -adressen til weewx -serveren eller nettadressen din

og ruten der du har php -filen, må du kontrollere at området er skrivbart.

jeg velger public_html dir fordi det er en hjemmeserver.

Hvis du vil klone git -lagrene, og ha git installert på serveren din, kan du klone med kommandoen:

"git -klon" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"

Nå må vi gjøre noen ting på weewx -serveren vår.

Du må lage banene til innstillingene dine!

i

/home/weewx/public_html

opprette en mappedata

opprett en bme.txt i datamappen for eksempel med:

nano bme.txt

filen skal være tom.

gjør det skrivbart med:

chmod -R 777 bme.txt

(du gjør aldri dette på en server som er tilgjengelig på internett!)

i mappen

/home/weewx/public_html

du legger bme.php til github -repoen min.

Trikset er at INO -filen sender verdier til bme.php og bme.php skriver dataene i bme.txt

Deretter må vi legge til tjenesten i weewx

legg bme.py i mappen

/home/weewx/bin/user

åpne weewx.conf i mappen

/home/weewx

det er alltid godt å ha en sikkerhetskopi før du redigerer denne filen!

gå ned til line Engine og få linjen til å se ut som min:

[Motor]

# Denne delen spesifiserer tjenestene som skal kjøres. De er

# gruppert etter type, og rekkefølgen på tjenester i hver gruppe

# bestemmer rekkefølgen tjenestene skal kjøres i.

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

start weewx på nytt med:

sudo /etc/init.d/weewx stopp

sudo /etc/init.d/weewx start

med kommandoen

hale -f/var/log/syslog

du kan se i loggfilen etter feil eller suksess, se etter en output bme: funnet verdi av …

Gi serveren din noen minutter til å generere, i "min" weewx.conf hvert 5. minutt kommer det en utgang.

Hvis du har en feilmelding, sjekk banene dine.

Hvis du har verdier, kan du gå til å vise det på nettsiden:

åpen hud. konf. i

/home/weewx/skins/Standard

gå til:

# Denne er sannsynligvis spesifikk for stasjonen min! Legg til

extraTemp3 = BME1 TemperaturextraHumid1 = BME1 Fuktighet

lagre filen og åpne den i samme mappe

index.html.tmpl

se etter en linje:

#if $ day.extraTemp..

#slutt om

etter den første #enden hvis du finner, sett BME -sensoren med:

^^ beklager, men det er ikke mulig å sette dette som en tekst:(lagre filen og avslutt.

det er ikke nødvendig å starte weewx på nytt.

Nå må du mate NODEMCU ESP8266 med Arduino -filen.

Ikke glem å konfigurere wifi og adresser i filen.

Etter innlasting, sjekk den serielle utgangen for feil.

Etter en kort periode bør du se verdiene på weewx -nettstedet ditt.

Trinn 4: Suksess BME280 Sensorenhet + Feilsøking

Suksess BME280 Sensorenhet + Feilsøking
Suksess BME280 Sensorenhet + Feilsøking
Suksess BME280 Sensorenhet + Feilsøking
Suksess BME280 Sensorenhet + Feilsøking

Noen tips til deg:

Åpne mer enn 1 konsoller via kitt

Gjør endringene på den ene konsollen, og les den andre konsollen live på den andre konsollen:

hale -f/var/log/syslog

Hvis du har en feil, må du først se til loggfilen din.

Utgangen din skal se lik min ut:

Trinn 5: Maskinvareoppsett for jordføler

Oppsett av Soilsensor Hardware
Oppsett av Soilsensor Hardware
Oppsett av Soilsensor Hardware
Oppsett av Soilsensor Hardware
Oppsett av Soilsensor Hardware
Oppsett av Soilsensor Hardware

For DS18B20 -sensoren må vi lage et bussystem med noen ledninger og lodding.

Sjekk DS18B20

DATA, GND, VCC

Mellom VCC og DATA trenger du en 4,7K motstand. Det er nok hvis du har motstanden på den første DS18B20

De andre DS18B20 er parallelle med hverandre.

Mål lengden for dine behov. Lodd en kjede sammen, jeg har festet pinnene med krympeslange.

For en TEST kobler du DATA til D3 og VCC til VCC (3.3V) og GND til GND.

For dyp søvn må du feste en bro mellom RST og D0 (GPIO16)

Du bør ikke sette kjedet i aluminiumsrøret akkurat nå, gjør testene dine før!

Trinn 6: DS18B20 Nodemcu ESP8266 -kode

DS18B20 Nodemcu ESP8266 kode
DS18B20 Nodemcu ESP8266 kode

For koden kan du bruke mine GITHUB -lagre:

github.com/Landixus/multipleDS18B20WeeWX

Ino -filen trenger også noen innlegg fra deg: IP -adressen til weewx -serveren eller nettadressen og ruten der du har lagt php -filen, sørg for at området er skrivbart, jeg velger public_html dir fordi det er en hjemmeserver.

Hvis du vil klone git -arkivene og ha git installert på serveren din, kan du klone med kommandoen git clone

Nå må vi gjøre noen ting som fungerer på weewx -serveren vår.

Du må lage banene til innstillingene dine i

/home/weewx/public_html

lag en mappe "data" i datamappen opprett en ds18b20.txt for eksempel nano ds18b20.txt txt skal være emtpy. gjør det skrivbart med chmod -R 777 ds18b20.txt (du gjør dette aldri på en server som er tilgjengelig på internett!) i mappen/home/weewx/public_html du legger ground.php til min github -rep. Trikset er at INO -filen sender verdier til ground.php og ground.php skriver dataene i ds18b20.txt neste må vi legge til tjenesten i weewx sette ds18b20.py i mappe/home/weewx/bin/ bruker

åpne weewx.conf i mappe /home /weewx

det er alltid godt å ha en sikkerhetskopi før du redigerer denne filen!

gå ned til linjen:

[Motor]

# gruppert etter type, og rekkefølgen på tjenester i hver gruppe

# bestemmer rekkefølgen tjenestene skal kjøres i.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 legg til inline etter et komma

"user.ds18b20.ds18b20" skal se ut som linjen øverst ^^

start weewx på nytt med:

sudo /etc/init.d/weewx stopp

sudo /etc/init.d/weewx start

med kommandoen tail -f/var/log/syslog kan du se i loggfilen for feil eller suksess se etter en utgang ds18b20: funnet verdi av Gi serveren din noen minutter å generere, i min weewx.conf hvert 5. minutt komme ut sette. Hvis du har en feilmelding, sjekk banene dine. Hvis du har verdier, kan du gå til å vise den på siden: åpen

skin.conf in/home/weewx/skins/Standard gå til:

# Denne er sannsynligvis spesifikk for stasjonen min!

legge til

jordTemp1 = DS18B201

jordTemp2 = DS18B202

jordTemp3 = DS18B203

lagre filen og åpne i samme mappe index.html.tmpl se etter en linje:

#if $ day.extraTemp..…

#slutt om

etter den første #enden hvis du finner, sett GroundSensor -sensoren med:

^^ beklager, men det er ikke mulig å sette dette som en tekst: (lagre filen og avslutt. det er ikke nødvendig å starte weewx på nytt. Nå må du mate NODEMCU ESP8266 med Arduino -filen.

Ikke glem å konfigurere wifi og adresser i filen. Etter innlasting, sjekk den serielle utgangen for feil.

Etter en kort periode bør du se verdiene på weewx -nettstedet ditt.

Trinn 7: Suksess jordføler og feilsøking

Suksess Jordføler og feilsøking
Suksess Jordføler og feilsøking

Hvis du har alt arbeidet og ser verdier, så gå utenfor og legg aluminiumsrøret i bakken.

En god måte er å legge varmt lim i den ene siden av røret og deretter trykke røret sammen, så har du en fin topp for å få det lettere i bakken.

Sett først røret i bakken, du kan hamre mykt med et trebrett.

Hvis røret er dypt nok, kan du sette ds18b20 -kjeden i og strømledningene i den vanntette boksen.

Sørg for at wifi fungerer på dette stedet!

Hvis du ikke vet hvilken sensor som er hvor dyp, er det 2 muligheter.

Jeg tester fase 1 ds18b20 mellom fingeren, temperaturen går høyere for denne.

Når røret allerede er i bakken, er normalt den høyeste verdien det dypeste punktet.

Trinn 8: Fullfør

Bli ferdig
Bli ferdig

Bare slutten

Legg ut spørsmålene dine, og vis jordtempene dine i kommentarene!

For mer hjelp bli med i weewx google Groups på:

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

Anbefalt: