Cuprins:

Senzori de extensie Nodemcu ESP8266 pentru Weewx: 8 pași (cu imagini)
Senzori de extensie Nodemcu ESP8266 pentru Weewx: 8 pași (cu imagini)

Video: Senzori de extensie Nodemcu ESP8266 pentru Weewx: 8 pași (cu imagini)

Video: Senzori de extensie Nodemcu ESP8266 pentru Weewx: 8 pași (cu imagini)
Video: How to Make a WiFi Repeater using ESP8266 NodeMCU | WiFi Router Range Extender esp8266 esp32 | 2022 2024, Noiembrie
Anonim
Senzori de extensie Nodemcu ESP8266 pentru Weewx
Senzori de extensie Nodemcu ESP8266 pentru Weewx

Acesta este un instructiv pentru a adăuga senzori la software-ul stației meteo weewx.

Dacă nu aveți weewx, puteți afla câteva lucruri în acest tutorial.

aveți nevoie de cunoștințe de bază despre codul Arduino și despre cum să încărcați pe un dispozitiv.

Puteți găsi informații despre weewx aici:

Ceea ce construiți este 2 dispozitive:

1 Dispozitivul trimite temperatura și umiditatea către software-ul weewx.

1 Dispozitivul trimite temperaturile solului la diferite adâncimi ale solului către software-ul weewx.

Primul nostru dispozitiv este un senzor BME 280.

Al doilea dispozitiv al nostru este un lanț de 3 senzori de temperatură DS18B20. (Puteți adăuga mai multe dacă doriți).

Să începem:

Pasul 1: De ce aveți nevoie …

De ce ai nevoie…
De ce ai nevoie…
De ce ai nevoie…
De ce ai nevoie…
De ce ai nevoie…
De ce ai nevoie…

Weewx în funcțiune + acces la serverul weewx. (de exemplu, un zmeură PI 3).

2 module Nodemcu ESP8266

3 sau mai mulți senzori DS18B20

1 senzor combinat BME 280

1 țeavă de aluminiu sau similar cu un diametru de 10 mm și 1 mm grosime perete și cca. 1 metru lung

1 Carcasă impermeabilă cu presetupă și piuliță de blocare.

1 sursă de alimentare de 5V (încărcător mobil de exemplu).

Câteva fire și lucruri de lipit.

Găsiți senzorul BME280 și modulele Nodemcu pe eBay.

Pentru țeava de aluminiu aleg un magazin de hardware local

Pentru DS18B20 și carcasa rezistentă la apă folosesc www.reichelt.de

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

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

și grupul presetupei cu piulițe de blocare

www.reichelt.de/Kabelverschraubungen-Bopla…

Pentru bme280 puteți utiliza opțional o cutie de ramificare

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

Pasul 2: Începeți cu setarea hardware a senzorului BME 280

Începeți cu configurarea hardware a senzorului BME 280
Începeți cu configurarea hardware a senzorului BME 280

Lipiți banda în BME280.

Apoi, conectați BME la Nodemcu:

BME VIN la 3,3V

BME GND la GND

SCL la D4

SDA la D3

Dacă doriți, puteți pune dispozitivul într-o carcasă, dar asigurați-vă că unele găuri sunt în carcasă, astfel încât valorile de umiditate și temperatură să fie corecte.

Pasul 3: BME 280 Nodemcu ESP8266 Cod

BME 280 Nodemcu ESP8266 Cod
BME 280 Nodemcu ESP8266 Cod
BME 280 Nodemcu ESP8266 Cod
BME 280 Nodemcu ESP8266 Cod
BME 280 Nodemcu ESP8266 Cod
BME 280 Nodemcu ESP8266 Cod

Pentru cod puteți folosi depozitele mele github:

github.com/Landixus/BME280_TO_SERVER_WEEWX

Fișierul ino are nevoie de câteva inserții de la dvs.:

Adresa IP a serverului sau adresei web weewx

și ruta unde aveți fișierul php, asigurați-vă că zona este înscrisă.

Aleg directorul public_html deoarece este un server de acasă.

dacă doriți să clonați depozitele git și aveți git instalat pe serverul dvs., puteți clona cu comanda:

„git clone”

Acum trebuie să facem câteva lucruri pe serverul nostru weewx.

Trebuie să faceți căile către setările dvs.!

în

/ home / weewx / public_html

creați un folder de date

în folderul de date creați un bme.txt de exemplu cu:

nano bme.txt

fișierul ar trebui să fie gol.

faceți-l scriibil cu:

chmod -R 777 bme.txt

(nu faceți acest lucru niciodată pe un server accesibil la internet!)

în dosar

/ home / weewx / public_html

ai pus bme.php din repo-ul meu github.

Trucul este că fișierul INO trimite valori către bme.php și bme.php scrie datele în bme.txt

În continuare trebuie să adăugăm serviciul în weewx

puneți bme.py în dosar

/ home / weewx / bin / user

deschideți weewx.conf în dosar

/ acasă / weewx

este întotdeauna bine să aveți o copie de rezervă înainte de a edita acest fișier!

coborâți la linia Motor și faceți linia să arate ca a mea:

[Motor]

# Această secțiune specifică serviciile care ar trebui să fie executate. Sunt

# grupate după tip și ordinea serviciilor din cadrul fiecărui grup

# determină ordinea în care vor fi executate serviciile.

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

reporniți weewx cu:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

cu comanda

tail -f / var / log / syslog

puteți căuta în fișierul jurnal erori sau succes, căutați o ieșire bme: valoarea găsită a …

Acordați serverului câteva minute pentru a genera, în „meu” weewx.conf la fiecare 5 minute apare o ieșire.

Dacă aveți un mesaj de eroare verificați-vă căile.

Dacă aveți valori, puteți merge să le afișați pe pagina web:

piele deschisa.conf in

/ home / weewx / skins / Standard

mergi la:

# Aceasta este probabil specifică stației mele! Adăugați

extraTemp3 = BME1 TemperaturaextraHumid1 = BME1 Umiditate

salvați fișierul și deschideți-l în același folder

index.html.tmpl

cauta o linie:

#if $ day.extraTemp..

# final dacă

după prima # sfârșit, dacă găsiți, puneți senzorul BME cu:

^^ îmi pare rău, dar nu este posibil să puneți acest text ca un text:(salvați fișierul și ieșiți.

nu este nevoie să reporniți weewx.

Acum trebuie să alimentați NODEMCU ESP8266 cu fișierul Arduino.

Nu uitați să vă configurați wifi-ul și adresele în fișier.

După încărcare verificați ieșirea serială pentru erori.

După o perioadă scurtă, ar trebui să vedeți valorile pe site-ul dvs. web weewx.

Pasul 4: Succes Dispozitiv senzor BME280 + Depanare

Dispozitiv senzor BME280 de succes + Depanare
Dispozitiv senzor BME280 de succes + Depanare
Dispozitiv senzor BME280 de succes + Depanare
Dispozitiv senzor BME280 de succes + Depanare

Câteva sfaturi pentru dvs.:

Deschideți mai mult de 1 consolă prin chit

pe o consolă faceți modificările dvs., iar pe cealaltă consolă citiți syslogul live cu:

tail -f / var / log / syslog

Dacă aveți o eroare, consultați mai întâi fișierul jurnal.

Rezultatul dvs. ar trebui să arate similar cu al meu:

Pasul 5: Configurarea hardware a senzorului de sol

Configurare hardware Soilsensor
Configurare hardware Soilsensor
Configurare hardware Soilsensor
Configurare hardware Soilsensor
Configurare hardware Soilsensor
Configurare hardware Soilsensor

Pentru senzorul DS18B20 trebuie să realizăm un sistem de autobuz cu câteva fire și lipire.

Verificați DS18B20

DATE, GND, VCC

Între VCC și DATA aveți nevoie de un rezistor de 4.7K. Este suficient dacă aveți rezistența la primul DS18B20

Celelalte DS18B20 sunt paralele între ele.

Măsurați lungimea în funcție de nevoile dvs. Lipiți un lanț împreună, am fixat știfturile cu un tub mic.

Pentru un TEST, conectați DATA la D3 și VCC la VCC (3.3V) și GND la GND.

Pentru opțiunea de somn profund trebuie să atașați o punte între RST și D0 (GPIO16)

Nu ar trebui să puneți lanțul în tubul de aluminiu chiar acum, faceți testele înainte!

Pasul 6: DS18B20 Nodemcu ESP8266 Cod

DS18B20 Nodemcu ESP8266 Cod
DS18B20 Nodemcu ESP8266 Cod

Pentru cod puteți utiliza depozitele mele GITHUB:

github.com/Landixus/multipleDS18B20WeeWX

De asemenea, fișierul ino are nevoie de câteva inserții de la dvs.: Adresa IP a serverului sau URL-ului weewx și ruta pe care ați pus fișierul php, asigurați-vă că zona este înscriibilă.

Dacă doriți să clonați depozitele git și aveți git instalat pe serverul dvs., puteți clona cu comanda „git clone

Acum trebuie să facem câteva lucruri pe care toate funcționează pe serverul nostru weewx.

Trebuie să faceți căile către setările dvs. în

/ home / weewx / public_html

creați un folder „date” în folderul de date creați un ds18b20.txt de exemplu nano ds18b20.txt txt ar trebui să fie emtpy. faceți-l scriibil cu chmod -R 777 ds18b20.txt (nu faceți acest lucru niciodată pe un server care este accesibil la internet!) în folderul / home / weewx / public_html ați pus ground.php din reprezentantul meu github. Trucul este că fișierul INO trimite valori către ground.php, iar ground.php scrie datele în ds18b20.txt la următoare, trebuie să adăugăm serviciul în weewx pune ds18b20.py în folderul / home / weewx / bin / utilizator

deschideți weewx.conf în folderul / home / weewx

este întotdeauna bine să aveți o copie de rezervă înainte de a edita acest fișier!

coborâți la coadă:

[Motor]

# grupate după tip și ordinea serviciilor din cadrul fiecărui grup

# determină ordinea în care vor fi executate serviciile.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 adăugați linia după o virgulă

„user.ds18b20.ds18b20” ar trebui să arate ca linia superioară ^^

reporniți weewx cu:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

cu comanda tail -f / var / log / syslog puteți căuta în fișierul jurnal erori sau succes căutați o ieșire ds18b20: valoarea găsită a Acordați serverului câteva minute pentru a genera, în weewx.conf la fiecare 5 minute ieșiți a pune. Dacă aveți un mesaj de eroare verificați-vă căile. Dacă aveți valori, puteți merge să o afișați pe pagina: deschideți

skin.conf în / home / weewx / skins / Standard accesați:

# Aceasta este probabil specifică stației mele!

adăuga

soilTemp1 = DS18B201

soilTemp2 = DS18B202

soilTemp3 = DS18B203

salvați fișierul și deschideți în același folder index.html.tmpl căutați o linie:

#if $ day.extraTemp.. …

# final dacă

după prima # sfârșit, dacă găsiți puneți senzorul GroundSensor cu:

^^ îmi pare rău, dar nu este posibil să puneți acest text ca text: (salvați fișierul și ieșiți. nu este nevoie să reporniți weewx. Acum trebuie să alimentați NODEMCU ESP8266 cu fișierul Arduino.

Nu uitați să vă configurați wifi-ul și adresele în fișier. După încărcare verificați ieșirea serială pentru erori.

După o perioadă scurtă, ar trebui să vedeți valorile pe site-ul dvs. web weewx.

Pasul 7: Senzor de sol pentru succes și depanare

Senzorul solului de succes și depanarea
Senzorul solului de succes și depanarea

Dacă aveți toate de lucru și vedeți valori, atunci ieșiți afară și puneți țeava de aluminiu în pământ.

O modalitate bună este să puneți adeziv fierbinte pe o parte a țevii și apoi să apăsați tubul împreună, apoi aveți un blat frumos pentru ao aduce mai ușor în pământ.

Puneți mai întâi țeava în pământ, puteți ciocani moale cu o scândură de lemn.

Dacă conducta este suficient de adâncă, puteți introduce lanțul dvs. ds18b20 și firele de alimentare în cutia impermeabilă.

Asigurați-vă că conexiunea WiFi funcționează în acest loc!

Dacă nu știți ce senzor este cât de adânc, există 2 posibilități.

Testez faza pun 1 ds18b20 între deget, temperatura crește pentru aceasta.

Când conducta este deja în pământ, atunci valoarea normală este cea mai mare valoare, punctul cel mai adânc.

Pasul 8: Terminați

finalizarea
finalizarea

Doar sfârșitul

Postează-ți întrebările și arată-ți timpul în teren în comentarii!

Pentru mai mult ajutor, alăturați-vă grupurilor weewx google pe:

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

Recomandat: