INHOUDSOPGAWE:
- Stap 1: Wat u nodig het …
- Stap 2: Begin met die BME 280 sensor hardeware -opstelling
- Stap 3: BME 280 Nodemcu ESP8266 -kode
- Stap 4: Sukses BME280 Sensortoestel + Probleemoplossing
- Stap 5: Grondopstelling van hardeware sensor
- Stap 6: DS18B20 Nodemcu ESP8266 -kode
- Stap 7: Suksesvolle grondsensor en probleemoplossing
- Stap 8: Voltooi
Video: Uitbreidingsensors Nodemcu ESP8266 vir Weewx: 8 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Dit is 'n instruksie om sensors by die weewx weerstasie sagteware te voeg.
As u nog nie weewx het nie, kan u in hierdie tutoriaal 'n paar dinge leer.
u benodig basiese kennis van die Arduino -kode en hoe u dit op 'n toestel kan oplaai.
U vind weewx -inligting hier:
Wat u bou, is 2 toestelle:
1 Toestel stuur temperatuur en humiditeit na die weewx -sagteware.
1 Toestel stuur grondtemperature van verskillende gronddieptes na die weewx -sagteware.
Ons eerste toestel is 'n BME 280 -sensor.
Ons tweede toestel is 'n ketting van 3 DS18B20 temperatuursensors. (U kan meer byvoeg as u wil).
Kom ons begin:
Stap 1: Wat u nodig het …
Weewx aan die gang + toegang tot weewx -bediener. (byvoorbeeld 'n framboos PI 3).
2 Nodemcu ESP8266 modules
3 of meer DS18B20 -sensors
1 BME 280 -kombosensor
1 Aluminiumpyp of soortgelyk met 'n deursnee van 10 mm en 1 mm wanddikte en ca. 1 meter lank
1 Waterdigte omhulsel met kabelwartel en borgmoer.
1 5V kragbron (byvoorbeeld mobiele laaier).
'N Paar drade en soldeerstowwe.
U vind BME280 -sensor en Nodemcu -modules op eBay.
Vir aluminiumpyp kies ek 'n plaaslike hardewarewinkel
Vir die DS18B20 en waterdigte omhulsel gebruik ek www.reichelt.de
www.reichelt.de/DS-18B20/3/index.html?ACTI…
www.reichelt.de/EL-FK-110/3/index.html?ACT…
en die groep kabelklier met sluitmoere
www.reichelt.de/Kabelverschraubungen-Bopla…
Vir die bme280 kan u opsioneel 'n vertakkingsblik gebruik
www.reichelt.de/Installationsmaterial/EL-D…
Stap 2: Begin met die BME 280 sensor hardeware -opstelling
Soldeer die strook in die BME280.
Koppel dan die BME aan die Nodemcu:
BME VIN tot 3.3V
BME GND tot GND
SCL na D4
SDA tot D3
As u wil, kan u die toestel in 'n behuizing plaas, maar maak seker dat daar 'n paar gate in die behuising is, sodat die humiditeit en temperatuurwaardes korrek is.
Stap 3: BME 280 Nodemcu ESP8266 -kode
Vir die kode kan u my github -bewaarplekke gebruik:
github.com/Landixus/BME280_TO_SERVER_WEEWX
Die ino -lêer benodig 'n paar insetsels van u:
Die IP -adres van u weewx -bediener of URL
en die roete waar u die php -lêer het, maak seker dat die gebied skryfbaar is.
Ek kies die public_html dir omdat dit 'n tuisbediener is.
As u die git -bewaarplekke wil kloon en git op u bediener wil laat installeer, kan u met die opdrag kloon:
"git kloon" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"
Nou moet ons dinge op ons weewx -bediener doen.
U moet die paaie na u instellings maak!
in
/home/weewx/public_html
skep 'n vouerdata
skep 'n bme.txt in die datamap, byvoorbeeld met:
nano bme.txt
die lêer moet leeg wees.
maak dit skryfbaar met:
chmod -R 777 bme.txt
(u doen dit nooit op 'n internet -toeganklike bediener nie!)
in die gids
/home/weewx/public_html
jy sit die bme.php van my github repo.
Die truuk is dat die INO -lêer waardes na die bme.php stuur en die bme.php die data in bme.txt skryf
Daarna moet ons die diens in weewx byvoeg
plaas die bme.py in die gids
/home/weewx/bin/user
maak u weewx.conf in die gids oop
/huis/weewx
Dit is altyd goed om 'n rugsteun te hê voordat u hierdie lêer redigeer!
gaan af na line Engine en laat die lyn soos myne lyk:
[Enjin]
# Hierdie afdeling spesifiseer die dienste wat uitgevoer moet word. Hulle is
# gegroepeer volgens tipe, en die volgorde van dienste binne elke groep
# bepaal die volgorde waarin die dienste uitgevoer sal word.
data_services = user.pond. PondService, user.bme.bme
herbegin weewx met:
sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx begin
met die opdrag
stert -f/var/log/syslog
u kan in die logbestand soek na foute of sukses, soek na 'n uitset bme: waarde gevind van …
Gee u bediener 'n paar minute om te genereer, elke 5 minute kom 'n uitset in "my" weewx.conf.
Kontroleer u paaie as u 'n foutboodskap het.
As u waardes het, kan u dit op die webblad wys:
oop vel.conf in
/home/weewx/skins/Standard
gaan na:
# Hierdie een is waarskynlik spesifiek vir my stasie! Voeg by
extraTemp3 = BME1 TemperatureextraHumid1 = BME1 Humiditeit
stoor die lêer en maak dit in dieselfde gids oop
indeks.html.tmpl
soek 'n lyn:
#if $ day.extraTemp..
#eindig as
na die eerste #einde as u dit vind, plaas u BME -sensor met:
^^ jammer, maar dit is nie moontlik om dit as 'n teks te plaas nie:(stoor die lêer en verlaat.
Weewx hoef nie weer te begin nie.
Nou moet u die NODEMCU ESP8266 met die Arduino -lêer voer.
Moenie vergeet om u wifi en adresse in die lêer op te stel nie.
Kyk na die reeksuitset na foute na laai.
Na 'n kort tydperk moet u die waardes op u weewx -webwerf sien.
Stap 4: Sukses BME280 Sensortoestel + Probleemoplossing
'N Paar wenke vir jou:
Maak meer as 1 konsoles oop via stopverf
Maak u veranderinge op 1 konsole, en lees op die ander konsole u syslog live met:
stert -f/var/log/syslog
As u 'n fout ondervind, kyk eers na u logbestand.
U uitset behoort soortgelyk aan myne te lyk:
Stap 5: Grondopstelling van hardeware sensor
Vir die DS18B20 -sensor moet ons 'n busstelsel maak met 'n paar drade en soldeer.
Gaan u DS18B20 na
DATA, GND, VCC
Tussen VCC en DATA benodig u 'n weerstand van 4.7K. Dit is genoeg as u die weerstand by die eerste DS18B20 het
Die ander DS18B20 is ewewydig aan mekaar.
Meet die lengte volgens u behoeftes. Soldeer 'n ketting saam, ek het die penne vasgemaak met 'n krimpbuis.
Vir 'n TOETS koppel jy DATA aan D3 en VCC aan VCC (3.3V) en GND aan GND.
Vir die diep slaap -opsie moet u 'n brug tussen RST en D0 (GPIO16) heg
U moet nie nou die ketting in die aluminiumbuis plaas nie; doen eers u toetse!
Stap 6: DS18B20 Nodemcu ESP8266 -kode
Vir die kode kan u my GITHUB -bewaarplekke gebruik:
github.com/Landixus/multipleDS18B20WeeWX
Die ino -lêer benodig ook 'n paar insetsels van u: die IP -adres van u weewx -bediener of URL en die roete waarheen u die php -lêer geplaas het, maak seker dat die gebied skryfbaar is; ek kies die public_html dir omdat dit 'n tuisbediener is.
As u die git -bewaarplekke wil kloon en git op u bediener wil laat installeer, kan u kloon met die opdrag git clone
Nou moet ons dinge doen wat op ons weewx -bediener werk.
U moet die paaie na u instellings maak
/home/weewx/public_html
skep 'n gids "data" in die datamap, skep 'n ds18b20.txt byvoorbeeld nano ds18b20.txt die txt moet emtpy wees. maak dit skryfbaar met chmod -R 777 ds18b20.txt (u doen dit nooit op 'n internet -toeganklike bediener nie!) in die map/home/weewx/public_html wat u die ground.php van my github -verteenwoordiger plaas. Die truuk is dat die INO -lêer waardes na die ground.php stuur en die ground.php die data in ds18b20.txt skryf, en dan moet ons die diens byvoeg in weewx en plaas die ds18b20.py in folder/home/weewx/bin/ gebruiker
maak u weewx.conf oop in map /home /weewx
Dit is altyd goed om 'n rugsteun te hê voordat u hierdie lêer redigeer!
gaan af na die reël:
[Enjin]
# gegroepeer volgens tipe, en die volgorde van dienste binne elke groep
# bepaal die volgorde waarin die dienste uitgevoer sal word.
prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 voeg die inline na 'n komma by
"user.ds18b20.ds18b20" moet soos die boonste reël lyk^^
herbegin weewx met:
sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx begin
Met die opdrag tail -f/var/log/syslog kan u in die logbestand kyk vir foute of sukses soek na 'n uitset ds18b20: waarde gevind van Gee u bediener 'n paar minute om te genereer, in my weewx.conf kom elke 5 minute uit sit. Kontroleer u paaie as u 'n foutboodskap het. As u waardes het, kan u dit op die bladsy wys: open
skin.conf in/home/weewx/skins/Standard gaan na:
# Hierdie een is waarskynlik spesifiek vir my stasie!
byvoeg
grondTemp1 = DS18B201
grondTemp2 = DS18B202
grondTemp3 = DS18B203
stoor die lêer en maak oop in dieselfde gids index.html.tmpl soek 'n reël:
#if $ day.extraTemp.. …
#eindig as
na die eerste #eindig, sit u GroundSensor -sensor met:
^^ jammer, maar dit is nie moontlik om dit as 'n teks te plaas nie: (stoor die lêer en verlaat. Weewx hoef nie weer te begin nie. Nou moet u die NODEMCU ESP8266 met die Arduino -lêer voer.
Moenie vergeet om u wifi en adresse in die lêer op te stel nie. Kyk na die reeksuitset na foute na laai.
Na 'n kort tydperk moet u die waardes op u weewx -webwerf sien.
Stap 7: Suksesvolle grondsensor en probleemoplossing
As u alles werk en waardes sien, gaan dan buite en sit die aluminiumpyp in die grond.
'N Goeie manier is om warm gom aan die een kant van die pyp te plaas en dan die buis vas te druk, dan het u 'n mooi bokant om dit makliker in die grond te bring.
Sit eers u pyp in die grond, u kan met 'n houtbord sag hamer.
As die pyp diep genoeg is, kan u u ketting ds18b20 en die kragdrade in die waterdigte boks sit.
Maak seker dat u wifi op hierdie plek werk!
As u nie weet watter sensor so diep is nie, is daar 2 moontlikhede.
Ek toets fase 1 ds18b20 tussen u vinger, die temperatuur word hoër vir hierdie een.
As die pyp reeds in die grond is, is die hoogste waarde normaalweg die diepste punt.
Stap 8: Voltooi
Net die einde
Stel u vrae en wys u grondtemp in die kommentaar!
Sluit by weewx google Groups aan vir meer hulp op:
groups.google.com/forum/#!forum/weewx-user
Aanbeveel:
Muurhouer vir iPad as bedieningspaneel vir tuisautomatisering, met behulp van servo -beheerde magneet om die skerm te aktiveer: 4 stappe (met foto's)
Muurhouer vir iPad as 'n bedieningspaneel vir tuisautomatisering, met behulp van 'n servo -beheerde magneet om die skerm te aktiveer: Ek het die afgelope tyd baie tyd spandeer om dinge in en om my huis te outomatiseer. Ek gebruik Domoticz as my Home Automation -toepassing, sien www.domoticz.com vir meer inligting. In my soeke na 'n dashboard -toepassing wat alle Domoticz -inligting saam wys
Laserwyser vir brille gemonteer vir mense met bewegingsgestremdhede: 9 stappe (met foto's)
Laserwyser vir brille vir mense met bewegingsgestremdhede: Mense met ernstige bewegingsgestremdhede soos serebrale gestremdheid het dikwels ingewikkelde kommunikasiebehoeftes. Dit kan van hulle verwag word om borde met die alfabet te gebruik of woorde wat gereeld daarop gedruk word om kommunikasie te vergemaklik. Baie
Acurite 5 in 1 weerstasie met behulp van 'n Raspberry Pi en Weewx (ander weerstasies is versoenbaar): 5 stappe (met foto's)
Acurite 5 in 1 weerstasie met behulp van 'n Raspberry Pi en Weewx (ander weerstasies is versoenbaar): Toe ek die Acurite 5 in 1 weerstasie gekoop het, wou ek die weer by my huis kon sien terwyl ek weg was. Toe ek by die huis kom en dit opstel, besef ek dat ek óf die skerm aan 'n rekenaar moet koppel, óf hul slim hub moet koop
Beginnersgids vir ESP8266 en tweeting met behulp van ESP8266: 17 stappe (met foto's)
Beginnersgids vir ESP8266 en tweeting met behulp van ESP8266: Ek het 2 jaar gelede geleer oor Arduino, en ek het begin speel met eenvoudige dinge soos LED's, knoppies, motors, ens. die weer van die dag, aandeelpryse, treintye op 'n LCD -skerm
IoT Push -kennisgewing met Nodemcu op die telefoon (vir enigiets): 5 stappe (met foto's)
IoT Push -kennisgewing met behulp van Nodemcu op die telefoon (vir enigiets): die stuur van kennisgewings vir boodskappe, e -posse is outyds … Laat ons dus iets nuuts maak wat baie maklik en eenvoudig is GEEN GEKOMPLIKEERDE SERVERKANT PHP -HOSTING OF ANDER KOMPLIKASIE nie. waterpompvlak, tuin natmaak, outomatiese troeteldier