Innehållsförteckning:

Förlängningssensorer Nodemcu ESP8266 för Weewx: 8 steg (med bilder)
Förlängningssensorer Nodemcu ESP8266 för Weewx: 8 steg (med bilder)

Video: Förlängningssensorer Nodemcu ESP8266 för Weewx: 8 steg (med bilder)

Video: Förlängningssensorer Nodemcu ESP8266 för Weewx: 8 steg (med bilder)
Video: Niko Expert explainer - Intelligent belysningsstyrning med DALI-2-sensorer 2024, November
Anonim
Förlängningssensorer Nodemcu ESP8266 för Weewx
Förlängningssensorer Nodemcu ESP8266 för Weewx

Detta är en instruktion att lägga till sensorer till weewx väderstationsprogramvara.

Om du inte har weewx kan du lära dig några saker i den här självstudien.

du behöver lite grundläggande kunskap om Arduino -kod och hur du laddar upp på en enhet.

Du hittar weewx -information här:

Det du bygger är två enheter:

1 Enhet skickar temperatur och luftfuktighet till weewx -programvaran.

1 Enhet skickar jordtemperaturer på olika markdjup till weewx -programvaran.

Vår första enhet är en BME 280 -sensor.

Vår andra enhet är en kedja med 3 DS18B20 temperatursensorer. (Du kan lägga till fler om du vill).

Låt oss börja:

Steg 1: Vad du behöver …

Vad du behöver…
Vad du behöver…
Vad du behöver…
Vad du behöver…
Vad du behöver…
Vad du behöver…

Weewx igång + åtkomst till weewx -server. (till exempel en hallon PI 3).

2 Nodemcu ESP8266 moduler

3 eller fler DS18B20 -sensorer

1 BME 280 kombisensor

1 aluminiumrör eller liknande med en diameter på 10 mm och 1 mm väggtjocklek och ca. 1 meter lång

1 Vattentätt fodral med kabelförskruvning och låsmutter.

1 5V strömkälla (mobil lastare till exempel).

Några trådar och lödprylar.

Du hittar BME280 -sensor och Nodemcu -moduler på ebay.

För aluminiumrör väljer jag en lokal järnaffär

För DS18B20 och vattentätt fodral använder jag www.reichelt.de

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

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

och gruppen kabelförskruvning med låsmuttrar

www.reichelt.de/Kabelverschraubungen-Bopla…

För bme280 kan du valfritt använda en förgreningsburk

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

Steg 2: Börja med BME 280 Sensor Hardware Setup

Börja med BME 280 Sensor Hardware Setup
Börja med BME 280 Sensor Hardware Setup

Löd remsan i BME280.

Anslut sedan BME till Nodemcu:

BME VIN till 3,3V

BME GND till GND

SCL till D4

SDA till D3

Om du vill kan du placera enheten i ett hölje, men se till att det finns några hål i höljet så att luftfuktigheten och temperaturvärdena stämmer.

Steg 3: BME 280 Nodemcu ESP8266 -kod

BME 280 Nodemcu ESP8266 Kod
BME 280 Nodemcu ESP8266 Kod
BME 280 Nodemcu ESP8266 Kod
BME 280 Nodemcu ESP8266 Kod
BME 280 Nodemcu ESP8266 Kod
BME 280 Nodemcu ESP8266 Kod

För koden kan du använda mina github -arkiv:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Ino -filen behöver några skär från dig:

IP -adressen för din weewx -server eller URL

och rutten där du har php -filen, se till att området är skrivbart.

Jag väljer public_html dir eftersom det är en hemserver.

om du vill klona git -lagren och ha git installerat på din server kan du klona med kommandot:

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

Nu måste vi göra några saker på vår weewx -server.

Du måste göra sökvägarna till dina inställningar!

i

/home/weewx/public_html

skapa en mappdata

Skapa en bme.txt i datamappen till exempel med:

nano bme.txt

filen ska vara tom.

gör det skrivbart med:

chmod -R 777 bme.txt

(du gör aldrig detta på en server som är tillgänglig för internet!)

i mappen

/home/weewx/public_html

du lägger bme.php för min github -repo.

Tricket är att INO -filen skickar värden till bme.php och bme.php skriver data i bme.txt

Därefter måste vi lägga till tjänsten i weewx

lägg bme.py i mappen

/home/weewx/bin/user

öppna din weewx.conf i mapp

/home/weewx

det är alltid bra att ha en säkerhetskopia innan du redigerar den här filen!

gå ner till line Engine och få linjen att se ut som min:

[Motor]

# Det här avsnittet anger vilka tjänster som ska köras. Dom är

# grupperade efter typ och ordning på tjänster inom varje grupp

# bestämmer i vilken ordning tjänsterna ska köras.

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

starta om weewx med:

sudo /etc/init.d/weewx stopp

sudo /etc/init.d/weewx start

med kommandot

svans -f/var/log/syslog

du kan leta i loggfilen efter fel eller framgång, leta efter en utdata bme: hittat värde på …

Ge din server några minuter att generera, i "min" weewx.conf kommer var femte minut en utgång.

Kontrollera dina vägar om du har ett felmeddelande.

Om du har värden kan du visa det på webbsidan:

öppen hud. konf. in

/home/weewx/skins/Standard

gå till:

# Den här är förmodligen specifik för min station! Lägg till

extraTemp3 = BME1 TemperaturextraHumid1 = BME1 Luftfuktighet

spara filen och öppna i samma mapp

index.html.tmpl

leta efter en rad:

#if $ day.extraTemp..

#sluta om

efter den första #änden om du hittar, sätt din BME -sensor med:

^^ förlåt men det går inte att skriva detta som en text:(spara filen och avsluta.

det finns ingen anledning att starta om weewx.

Nu måste du mata NODEMCU ESP8266 med Arduino -filen.

Glöm inte att konfigurera ditt wifi och adresser i filen.

Kontrollera den seriella utmatningen efter fel efter laddning.

Efter en kort period bör du se värdena på din weewx -webbplats.

Steg 4: Framgång BME280 Sensorenhet + Felsökning

Framgång BME280 Sensorenhet + Felsökning
Framgång BME280 Sensorenhet + Felsökning
Framgång BME280 Sensorenhet + Felsökning
Framgång BME280 Sensorenhet + Felsökning

Några tips till dig:

Öppna mer än 1 konsoler via kitt

gör en ändring på en konsol, och på den andra konsolen kan du läsa din syslog live med:

svans -f/var/log/syslog

Om du har ett fel, titta först på din loggfil.

Din produktion ska se ut som min:

Steg 5: Järnsensor hårdvaruinstallation

Solsensor hårdvaruinställning
Solsensor hårdvaruinställning
Järnsensor hårdvaruinställning
Järnsensor hårdvaruinställning
Solsensor hårdvaruinställning
Solsensor hårdvaruinställning

För DS18B20 -sensorn måste vi göra ett bussystem med några ledningar och lödning.

Kontrollera din DS18B20

DATA, GND, VCC

Mellan VCC och DATA behöver du en 4,7K motstånd. Det räcker om du har motståndet vid den första DS18B20

De andra DS18B20 är parallella med varandra.

Mät längden för dina behov. Löd ihop en kedja, jag har säkrat tapparna med krymprör.

För ett TEST ansluter du DATA till D3 och VCC till VCC (3.3V) och GND till GND.

För alternativet för djup sömn måste du fästa en brygga mellan RST och D0 (GPIO16)

Du ska inte sätta kedjan i aluminiumröret just nu, gör dina tester innan!

Steg 6: DS18B20 Nodemcu ESP8266 -kod

DS18B20 Nodemcu ESP8266 Kod
DS18B20 Nodemcu ESP8266 Kod

För koden kan du använda mina GITHUB -arkiv:

github.com/Landixus/multipleDS18B20WeeWX

Ino -filen behöver också några inlägg från dig: IP -adressen till din weewx -server eller URL och vägen där du har lagt php -filen, se till att området är skrivbart, jag väljer public_html dir eftersom det är en hemserver.

Om du vill klona git -lagren och har git installerat på din server kan du klona med kommandot git -klon

Nu måste vi göra några saker som allt fungerar på vår weewx -server.

Du måste göra sökvägarna till dina inställningar i

/home/weewx/public_html

skapa en mapp "data" i datamappen skapa en ds18b20.txt till exempel nano ds18b20.txt txt ska vara emtpy. gör det skrivbart med chmod -R 777 ds18b20.txt (du gör aldrig detta på en server som är tillgänglig för internet!) i mappen/home/weewx/public_html du lägger ground.php för mitt github -rep. Tricket är att INO -filen skickar värden till ground.php och ground.php skriver data i ds18b20.txt nästa måste vi lägga till tjänsten i weewx sätta ds18b20.py i mapp/home/weewx/bin/ användare

öppna din weewx.conf i mapp /home /weewx

det är alltid bra att ha en säkerhetskopia innan du redigerar den här filen!

gå ner till raden:

[Motor]

# grupperade efter typ och ordning på tjänster inom varje grupp

# bestämmer i vilken ordning tjänsterna ska köras.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 lägg till inline efter ett komma

"user.ds18b20.ds18b20" ska se ut som raden övre ^^

starta om weewx med:

sudo /etc/init.d/weewx stopp

sudo /etc/init.d/weewx start

med kommandot tail -f/var/log/syslog kan du leta i loggfilen efter fel eller framgång leta efter en utgång ds18b20: found value of Ge din server några minuter att generera, i min weewx.conf kommer var femte minut ut sätta. Kontrollera dina vägar om du har ett felmeddelande. Om du har värden kan du visa det på sidan: öppen

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

# Den här är förmodligen specifik för min station!

Lägg till

jordTemp1 = DS18B201

jordTemp2 = DS18B202

jordTemp3 = DS18B203

spara filen och öppna i samma mapp index.html.tmpl leta efter en rad:

#if $ day.extraTemp.. …

#sluta om

efter den första #änden om du hittar, sätt din GroundSensorsensor med:

^^ förlåt men det går inte att skriva detta som en text: (spara filen och avsluta. det finns ingen anledning att starta om weewx. Nu måste du mata NODEMCU ESP8266 med Arduino -filen.

Glöm inte att konfigurera ditt wifi och adresser i filen. Kontrollera den seriella utmatningen efter fel efter laddning.

Efter en kort period bör du se värdena på din weewx -webbplats.

Steg 7: Success Soilsensor och felsökning

Framgång Jordmätare och felsökning
Framgång Jordmätare och felsökning

Om du har allt som fungerar och ser värden, gå sedan ut och lägg aluminiumröret i marken.

Ett bra sätt är att lägga varmt lim i 1 sida av röret och sedan pressa ihop röret, då har du en fin topp för att få det lättare i marken.

Sätt först ditt rör i marken, du kan hamra mjukt med en träbräda.

Om röret är tillräckligt djupt kan du sätta in din ds18b20 -kedja i och strömkablarna i den vattentäta lådan.

Se till att din wifi fungerar på denna plats!

Om du inte vet vilken sensor som är hur djup finns det två möjligheter.

Jag testar fas 1 1s18b20 mellan fingret, temperaturen går högre för den här.

När röret redan är i marken är normalt det högsta värdet den djupaste punkten.

Steg 8: Avsluta

Avsluta
Avsluta

Bara slutet

Ställ dina frågor och visa dina marktemp i kommentarerna!

För mer hjälp gå med i weewx google grupper på:

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

Rekommenderad: