Innehållsförteckning:
- Steg 1: Vad du behöver …
- Steg 2: Börja med BME 280 Sensor Hardware Setup
- Steg 3: BME 280 Nodemcu ESP8266 -kod
- Steg 4: Framgång BME280 Sensorenhet + Felsökning
- Steg 5: Järnsensor hårdvaruinstallation
- Steg 6: DS18B20 Nodemcu ESP8266 -kod
- Steg 7: Success Soilsensor och felsökning
- Steg 8: Avsluta
Video: Förlängningssensorer Nodemcu ESP8266 för Weewx: 8 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
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 …
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
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
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
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
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
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
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
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:
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
OAREE - 3D -tryckt - hinder för att undvika robot för ingenjörsutbildning (OAREE) med Arduino: 5 steg (med bilder)
OAREE - 3D Printed - Obstacle Avoiding Robot for Engineering Education (OAREE) With Arduino: OAREE (Obstacle Avoiding Robot for Engineering Education) Design: Målet med denna instruerbara var att designa en OAR (Obstacle Avoiding Robot) robot som var enkel/kompakt, 3D -utskrivbar, enkel att montera, använder kontinuerliga rotationsservos för rörliga
Acurite 5 i 1 -väderstation med hjälp av en Raspberry Pi och Weewx (andra väderstationer är kompatibla): 5 steg (med bilder)
Acurite 5 i 1 -väderstation med hjälp av en Raspberry Pi och Weewx (andra väderstationer är kompatibla): När jag hade köpt Acurite 5 i 1 -väderstationen ville jag kunna kontrollera vädret hemma medan jag var borta. När jag kom hem och satte upp det insåg jag att jag antingen måste ha skärmen ansluten till en dator eller köpa deras smarta hubb,
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?
1.5A linjär regulator för konstant ström för lysdioder för: 6 steg
1.5A linjär regulator för konstant ström för lysdioder för: Så det finns massor av instruktioner som täcker användning av LED -lampor med hög ljusstyrka. Många av dem använder den kommersiellt tillgängliga Buckpuck från Luxdrive. Många av dem använder också linjära regleringskretsar som toppar vid 350 mA eftersom de är mycket ineffektiva