Inhoudsopgave:
- Stap 1: Wat u nodig heeft…
- Stap 2: Begin met de installatie van de BME 280-sensorhardware
- Stap 3: BME 280 Nodemcu ESP8266-code
- Stap 4: Succes BME280-sensorapparaat + probleemoplossing
- Stap 5: Installatie van de bodemsensorhardware
- Stap 6: DS18B20 Nodemcu ESP8266-code
- Stap 7: Succes Bodemsensor en Probleemoplossing
- Stap 8: Voltooien
Video: Uitbreidingssensoren Nodemcu ESP8266 voor Weewx - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
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…
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
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
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
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
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
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
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
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:
Installatie voor externe Bluetooth GPS-provider voor Android-apparaten: 8 stappen
Installatie voor externe Bluetooth GPS-provider voor Android-apparaten: deze instructable legt uit hoe u uw eigen externe Bluetooth-compatibele GPS voor uw telefoon kunt maken, wat dan ook voor ongeveer $ 10. Materiaallijst: NEO 6M U-blox GPSHC-05 bluetooth-module Kennis van interface Blutooth Low energy-modulesArdui
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
Systeem voor het bewaken van de luchtkwaliteit voor fijnstofverontreiniging: 4 stappen
Systeem voor monitoring van luchtkwaliteit voor fijnstofverontreiniging: INTRO: 1 In dit project laat ik zien hoe ik een deeltjesdetector bouw met dataweergave, databack-up op SD-kaart en IOT. Visueel geeft een neopixels ringdisplay de luchtkwaliteit aan. 2 Luchtkwaliteit is een steeds belangrijker zorg t
Relaisbord voor Arduino voor minder dan $8: 5 stappen
Relaisbord voor Arduino voor minder dan $8.: Hallo vrienden, vandaag ga ik je vertellen hoe je een relaisbord voor Arduino maakt voor minder dan $8. In dit circuit gaan we geen IC of transistor gebruiken. Dus laten we het doen
3.3V Mod voor ultrasone sensoren (bereid HC-SR04 voor 3.3V Logic op ESP32/ESP8266, Particle Photon, enz.): 4 stappen
3.3V Mod voor ultrasone sensoren (bereid HC-SR04 voor 3.3V Logic op ESP32/ESP8266, Particle Photon, enz.): TL;DR: Knip op de sensor het spoor naar de Echo-pin en sluit het opnieuw aan met een spanningsdeler (Echo trace -> 2.7kΩ -> Echo pin -> 4.7kΩ -> GND). Bewerken: Er is enige discussie geweest over de vraag of de ESP8266 daadwerkelijk 5V-tolerant is op GPIO in