Inhoudsopgave:

Uitbreidingssensoren Nodemcu ESP8266 voor Weewx - Ajarnpa
Uitbreidingssensoren Nodemcu ESP8266 voor Weewx - Ajarnpa

Video: Uitbreidingssensoren Nodemcu ESP8266 voor Weewx - Ajarnpa

Video: Uitbreidingssensoren Nodemcu ESP8266 voor Weewx - Ajarnpa
Video: Zehnder CO2 sensor RF Voorbereiding koppeling aan ComfoSense C 2024, November
Anonim
Verlengsensoren Nodemcu ESP8266 voor Weewx
Verlengsensoren Nodemcu ESP8266 voor Weewx

Dit is een instructie om sensoren toe te voegen aan de weewx-weerstationsoftware.

Als je weewx nog niet hebt, kun je in deze tutorial het een en ander leren.

je hebt wat basiskennis nodig van Arduino-code en hoe je op een apparaat kunt uploaden.

Weewx informatie vind je hier:

Wat je bouwt zijn 2 apparaten:

1 Apparaat stuurt temperatuur en vochtigheid naar de weewx-software.

1 Apparaat stuurt Bodemtemperaturen van verschillende gronddiepten naar de weewx-software.

Ons eerste apparaat is een BME 280-sensor.

Ons tweede apparaat is een keten van 3 DS18B20 temperatuursensoren. (Je kunt meer toevoegen als je wilt).

Laten we beginnen:

Stap 1: Wat u nodig heeft…

Wat je nodig hebt…
Wat je nodig hebt…
Wat je nodig hebt…
Wat je nodig hebt…
Wat je nodig hebt…
Wat je nodig hebt…

Weewx in gebruik + toegang tot de weewx-server. (bijvoorbeeld een framboos PI 3).

2 Nodemcu ESP8266-modules

3 of meer DS18B20-sensoren

1 BME 280 combo-sensor

1 aluminium buis of vergelijkbaar met een diameter van 10 mm en een wanddikte van 1 mm en ca. 1 meter lang

1 Waterdichte behuizing met kabelwartel en borgmoer.

1 5V Stroombron (mobiele lader bijvoorbeeld).

Wat draden en soldeerspullen.

U vindt BME280-sensor en Nodemcu-modules op ebay.

Voor aluminium pijp kies ik een lokale ijzerhandel

Voor de DS18B20 en waterdichte behuizing gebruik ik www.reichelt.de

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

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

en de groep kabelwartels met borgmoeren

www.reichelt.de/Kabelverschraubungen-Bopla…

Voor de bme280 kunt u optioneel een vertakkingsblik gebruiken

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

Stap 2: Begin met de installatie van de BME 280-sensorhardware

Begin met de BME 280 Sensor Hardware Setup
Begin met de BME 280 Sensor Hardware Setup

Soldeer de strip in de BME280.

Bedrading vervolgens de BME naar de Nodemcu:

BME VIN tot 3.3V

BME GND naar GND

SCL naar D4

SDA naar D3

Als je wilt kun je het apparaat in een behuizing plaatsen, maar zorg ervoor dat er enkele gaten in de behuizing zitten, zodat de vochtigheids- en temperatuurwaarden correct zijn.

Stap 3: BME 280 Nodemcu ESP8266-code

BME 280 Nodemcu ESP8266-code
BME 280 Nodemcu ESP8266-code
BME 280 Nodemcu ESP8266-code
BME 280 Nodemcu ESP8266-code
BME 280 Nodemcu ESP8266-code
BME 280 Nodemcu ESP8266-code

Voor de code kun je mijn github-repositories gebruiken:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Het ino-bestand heeft enkele invoegingen van u nodig:

Het IP-adres van uw weewx-server of URL

en de route waar je het php-bestand hebt, zorg ervoor dat het gebied beschrijfbaar is.

ik kies de public_html map omdat het een thuisserver is.

als je de git-repositories wilt klonen en git op je server hebt geïnstalleerd, kun je klonen met het commando:

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

Nu moeten we wat dingen doen op onze weewx-server.

U moet de paden naar uw instellingen maken!

in

/home/weewx/public_html

een map maken met gegevens

maak in de datamap een bme.txt aan met bijvoorbeeld:

nano bme.txt

het bestand moet leeg zijn.

maak het beschrijfbaar met:

chmod -R 777 bme.txt

(dit doe je nooit op een server die internet toegankelijk is!)

in de map

/home/weewx/public_html

je hebt de bme.php van mijn github-repo geplaatst.

De truc is dat het INO-bestand waarden naar de bme.php stuurt en de bme.php de gegevens in bme.txt schrijft

Vervolgens moeten we de service toevoegen in weewx

zet de bme.py in de map

/home/weewx/bin/gebruiker

open je weewx.conf in map

/home/weewx

het is altijd goed om een back-up te hebben voordat u dit bestand gaat bewerken!

ga naar de regel Engine en laat de regel op de mijne lijken:

[Motor]

# Deze sectie specificeert de services die moeten worden uitgevoerd. Zij zijn

# gegroepeerd op type en de volgorde van services binnen elke groep

# bepaalt de volgorde waarin de services worden uitgevoerd.

data_services = gebruiker.vijver. PondService, gebruiker.bme.bme

herstart weewx met:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

met het commando

staart -f /var/log/syslog

je kunt in het logbestand kijken naar fouten of succes, zoeken naar een uitvoer bme: gevonden waarde van…

Geef je server enkele minuten om te genereren, in "mijn" weewx.conf komt elke 5 minuten een output.

Als je een foutmelding krijgt, controleer dan je paden.

Als u waarden heeft, kunt u deze op de webpagina laten zien:

open skin.conf in

/home/weewx/skins/Standaard

ga naar:

# Deze is waarschijnlijk specifiek voor mijn station!add

extraTemp3 = BME1 TemperatuurextraHumid1 = BME1 Vochtigheid

sla het bestand op en open het in dezelfde map

index.html.tmpl

zoek een regel:

#if $day.extraTemp..

#stop als

na de eerste #end als je vindt, plaats je BME-sensor met:

^^ sorry maar het is niet mogelijk om dit als tekst te plaatsen:(sla het bestand op en sluit af.

het is niet nodig om weewx opnieuw op te starten.

Nu moet je de NODEMCU ESP8266 voeden met het Arduino-bestand.

Vergeet niet je wifi en adressen in het bestand in te stellen.

Controleer na het laden de seriële uitgang op fouten.

Na een korte periode zou u de waarden op uw weewx-website moeten zien.

Stap 4: Succes BME280-sensorapparaat + probleemoplossing

Succes BME280-sensorapparaat + probleemoplossing
Succes BME280-sensorapparaat + probleemoplossing
Succes BME280-sensorapparaat + probleemoplossing
Succes BME280-sensorapparaat + probleemoplossing

Enkele tips voor u:

Open meer dan 1 consoles via putty

op de ene console breng je wijzigingen aan, en op de andere console lees je je syslog live met:

staart -f /var/log/syslog

Als je een fout hebt, kijk dan eerst in je logbestand.

Uw uitvoer zou op de mijne moeten lijken:

Stap 5: Installatie van de bodemsensorhardware

Installatie van bodemsensorhardware
Installatie van bodemsensorhardware
Installatie van bodemsensorhardware
Installatie van bodemsensorhardware
Installatie van bodemsensorhardware
Installatie van bodemsensorhardware

Voor de DS18B20-sensor moeten we een bussysteem maken met wat draden en solderen.

Controleer uw DS18B20

GEGEVENS, GND, VCC

Tussen VCC en DATA heb je een 4.7K-weerstand nodig. Het is voldoende als je de weerstand bij de eerste DS18B20. hebt

De andere DS18B20 zijn parallel aan elkaar.

Meet de lengte voor uw behoeften. Soldeer een ketting aan elkaar, ik heb de pinnen vastgezet met krimpkous.

Voor een TEST sluit je DATA aan op D3 en VCC op VCC(3.3V) en GND op GND.

Voor de diepe slaapoptie moet je een brug tussen RST en D0 (GPIO16) bevestigen

Je moet de ketting nu niet in de aluminium buis leggen, doe eerst je tests!

Stap 6: DS18B20 Nodemcu ESP8266-code

DS18B20 Nodemcu ESP8266-code
DS18B20 Nodemcu ESP8266-code

Voor de code kun je mijn GITHUB-repositories gebruiken:

github.com/Landixus/multipleDS18B20WeeWX

Ook het ino-bestand heeft enkele toevoegingen van u nodig: Het IP-adres van uw weewx-server of URL en de route waar u het php-bestand hebt geplaatst, zorg ervoor dat het gebied beschrijfbaar is. Ik kies de public_html-map omdat het een thuisserver is.

Als je de git-repositories wilt klonen en git op je server hebt geïnstalleerd, kun je klonen met het commando git clone

Nu moeten we wat dingen doen die allemaal werken op onze weewx-server.

U moet de paden naar uw instellingen maken in

/home/weewx/public_html

maak een map "data" aan in de datamap maak een ds18b20.txt aan, bijvoorbeeld nano ds18b20.txt de txt moet leeg zijn. maak het beschrijfbaar met chmod -R 777 ds18b20.txt (dit doe je nooit op een server die internet toegankelijk is!) in de map /home/weewx/public_html plaats je de ground.php van mijn github rep. De truc is dat het INO-bestand waarden naar de grond.php stuurt en de grond.php de gegevens in ds18b20.txt schrijft. Vervolgens moeten we de service toevoegen in weewx, plaats de ds18b20.py in de map /home/weewx/bin/ gebruiker

open je weewx.conf in de map /home/weewx

het is altijd goed om een back-up te hebben voordat u dit bestand gaat bewerken!

ga naar de regel:

[Motor]

# gegroepeerd op type en de volgorde van services binnen elke groep

# bepaalt de volgorde waarin de services worden uitgevoerd.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 voeg de inline toe na een komma

"user.ds18b20.ds18b20" zou eruit moeten zien als de bovenste regel^^

herstart weewx met:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

met het commando tail -f /var/log/syslog kun je in het logbestand kijken naar fouten of succes zoek naar een uitvoer ds18b20: gevonden waarde van Geef je server enkele minuten om te genereren, in mijn weewx.conf kom elke 5 minuten een uit leggen. Als je een foutmelding krijgt, controleer dan je paden. Als je waarden hebt, kun je deze op de pagina laten zien: open

skin.conf in /home/weewx/skins/Standard ga naar:

# Deze is waarschijnlijk specifiek voor mijn station!

toevoegen

bodemTemp1 = DS18B201

grondTemp2 = DS18B202

bodemTemp3 = DS18B203

sla het bestand op en open in dezelfde map index.html.tmpl zoek naar een regel:

#if $dag.extraTemp.. …

#stop als

na het eerste #einde als u vindt dat uw GroundSensor Sensor met:

^^ sorry maar het is niet mogelijk om dit als tekst te plaatsen:(sla het bestand op en sluit af. het is niet nodig om weewx opnieuw te starten. Nu moet je de NODEMCU ESP8266 voeden met het Arduino-bestand.

Vergeet niet je wifi en adressen in het bestand in te stellen. Controleer na het laden de seriële uitgang op fouten.

Na een korte periode zou u de waarden op uw weewx-website moeten zien.

Stap 7: Succes Bodemsensor en Probleemoplossing

Succes Bodemsensor en Probleemoplossing
Succes Bodemsensor en Probleemoplossing

Als je alle werkende en waarden hebt, ga dan naar buiten en stop de aluminium buis in de grond.

Een goede manier is om hete lijm in 1 kant van de buis te doen en dan de buis samen te drukken, dan heb je een mooie bovenkant om het makkelijker in de grond te brengen.

Leg eerst je pijp in de grond, je kunt zacht hameren met een houten plank.

Als de pijp diep genoeg is, kun je je ds18b20-ketting erin doen en de voedingsdraden in de waterdichte doos.

Zorg ervoor dat je wifi op deze plek werkt!

Als je niet weet welke sensor hoe diep is, zijn er 2 mogelijkheden.

Ik test fase zet 1 ds18b20 tussen je vinger, de temperatuur gaat bij deze hoger.

Als de leiding al in de grond ligt dan is normaal gesproken de Hoogste waarde het diepste punt.

Stap 8: Voltooien

Finish
Finish

Alleen het einde

Post je vragen en laat je grondtemps zien in de comments!

Neem voor meer hulp deel aan weewx google Groups op:

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

Aanbevolen: