Taula de continguts:
- Pas 1: què necessiteu …
- Pas 2: Comenceu amb la configuració del maquinari del sensor BME 280
- Pas 3: Codi BME 280 Nodemcu ESP8266
- Pas 4: èxit del dispositiu del sensor BME280 + Solució de problemes
- Pas 5: configuració del maquinari Soilsensor
- Pas 6: Codi DS18B20 Nodemcu ESP8266
- Pas 7: Sensor de sols d'èxit i resolució de problemes
- Pas 8: finalitzeu
Vídeo: Sensors d'extensió Nodemcu ESP8266 per a Weewx: 8 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Es pot instruir per afegir sensors al programari de l'estació meteorològica weewx.
Si no teniu weewx, podeu aprendre algunes coses en aquest tutorial.
necessiteu un coneixement bàsic del codi Arduino i de com penjar-lo en un dispositiu.
Trobareu informació de weewx aquí:
El que creeu són 2 dispositius:
1 El dispositiu envia temperatura i humitat al programari weewx.
1 El dispositiu envia les temperatures del sòl de diferents profunditats del sòl al programari weewx.
El nostre primer dispositiu és un sensor BME 280.
El nostre segon dispositiu és una cadena de 3 sensors de temperatura DS18B20. (Podeu afegir-ne més si voleu).
Comencem:
Pas 1: què necessiteu …
Weewx en funcionament i accés al servidor weewx. (per exemple, un gerd PI 3).
2 mòduls Nodemcu ESP8266
3 o més sensors DS18B20
1 sensor combinat BME 280
1 canonada d'alumini o similar amb un diàmetre de 10 mm i 1 mm de gruix de paret i aproximadament 1 metre de llarg
1 Estoig impermeable amb passacables i rosca de bloqueig.
1 font d'alimentació de 5V (carregador mòbil per exemple).
Alguns cables i coses de soldadura.
Trobareu el sensor BME280 i els mòduls Nodemcu a eBay.
Per a la canonada d'alumini, trio una ferreteria local
Per a la funda impermeable i DS18B20 faig servir www.reichelt.de
www.reichelt.de/DS-18B20/3/index.html?ACTI…
www.reichelt.de/EL-FK-110/3/index.html?ACT…
i el grup de passacables amb femelles de bloqueig
www.reichelt.de/Kabelverschraubungen-Bopla…
Per al bme280 podeu utilitzar opcionalment una llauna de ramificació
www.reichelt.de/Installationsmaterial/EL-D…
Pas 2: Comenceu amb la configuració del maquinari del sensor BME 280
Soldeu la tira al BME280.
A continuació, connecteu el BME al Nodemcu:
BME VIN a 3,3V
BME GND a GND
SCL a D4
SDA a D3
Si voleu, podeu posar el dispositiu en una carcassa, però assegureu-vos que hi hagi alguns forats a la carcassa, de manera que els valors d'humitat i temperatura siguin correctes.
Pas 3: Codi BME 280 Nodemcu ESP8266
Per obtenir el codi, podeu utilitzar els meus dipòsits de github:
github.com/Landixus/BME280_TO_SERVER_WEEWX
El fitxer INO necessita algunes insercions vostres:
L'adreça IP del vostre servidor o URL de weewx
i la ruta on teniu el fitxer php, assegureu-vos que l'àrea es pugui escriure.
Trio el directori public_html perquè és un servidor domèstic.
si voleu clonar els repositoris git i teniu instal·lat git al vostre servidor, podeu clonar amb l'ordre:
"git clon" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"
Ara hem de fer algunes coses al nostre servidor weewx.
Heu de fer els camins cap a la vostra configuració.
dins
/ home / weewx / public_html
creeu una carpeta de dades
a la carpeta de dades, creeu un bme.txt per exemple amb:
nano bme.txt
l'arxiu hauria d'estar buit.
fes que sigui escriptible amb:
chmod -R 777 bme.txt
(mai no ho feu en un servidor accessible a Internet!)
a la carpeta
/ home / weewx / public_html
poses el bme.php del meu repositori de github.
El truc és que el fitxer INO envia valors a bme.php i bme.php escriu les dades a bme.txt
A continuació, hem d'afegir el servei a weewx
poseu el bme.py a la carpeta
/ home / weewx / bin / user
obriu el vostre weewx.conf a la carpeta
/ home / weewx
sempre és bo tenir una còpia de seguretat abans d'editar aquest fitxer.
baixeu a la línia Engine i feu que la línia sembli la meva:
[Motor]
# Aquesta secció especifica els serveis que s'han d'executar. Ells són
# agrupats per tipus i per ordre de serveis dins de cada grup
# determina l'ordre en què s'executaran els serveis.
data_services = user.pond. PondService, user.bme.bme
reinicieu weewx amb:
sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx start
amb l'ordre
tail -f / var / log / syslog
podeu cercar errors o èxit al fitxer de registre, cercar una sortida bme: valor trobat de …
Doneu uns minuts al vostre servidor per generar, al "meu" weewx.conf cada 5 minuts apareix una sortida.
Si teniu un missatge d'error, comproveu els vostres camins.
Si teniu valors, podeu anar a mostrar-los a la pàgina web:
pell oberta.conf in
/ home / weewx / skins / Estàndard
anar a:
# Aquesta probablement sigui específica per a la meva emissora
extraTemp3 = BME1 TemperaturaextraHumid1 = BME1 Humitat
deseu el fitxer i obriu-lo a la mateixa carpeta
index.html.tmpl
cerqueu una línia:
#if $ day.extraTemp..
#end if
després del primer #end, si trobeu, poseu el sensor BME amb:
^^ Ho sento, però no és possible posar-ho com a text:(deseu el fitxer i sortiu.
no cal reiniciar weewx.
Ara cal alimentar el NODEMCU ESP8266 amb el fitxer Arduino.
No oblideu configurar el vostre wifi i adreces al fitxer.
Després de la càrrega, comproveu si hi ha errors a la sortida sèrie.
Després d'un curt període, hauríeu de veure els valors al vostre lloc web de weewx.
Pas 4: èxit del dispositiu del sensor BME280 + Solució de problemes
Alguns consells per a vosaltres:
Obriu més de 1 consola mitjançant massilla
en una consola, feu els canvis i, a l’altra consola, llegiu el vostre syslog en directe amb:
tail -f / var / log / syslog
Si teniu un error, busqueu primer el fitxer de registre.
La vostra producció hauria de ser similar a la meva:
Pas 5: configuració del maquinari Soilsensor
Per al sensor DS18B20 hem de fer un sistema de bus amb alguns cables i soldadura.
Comproveu el vostre DS18B20
DADES, GND, VCC
Entre VCC i DATA necessiteu una resistència de 4,7 K. N’hi ha prou si teniu la resistència al primer DS18B20
Els altres DS18B20 són paral·lels entre si.
Mesureu la longitud segons les vostres necessitats. Soldeu una cadena junts, he assegurat els passadors amb un tub de contracció.
Per a una PROVA, connecteu DATA a D3 i VCC a VCC (3.3V) i GND a GND.
Per a l'opció de son profund cal connectar un pont entre RST i D0 (GPIO16)
No hauríeu de posar la cadena al tub d'alumini ara mateix, feu les proves abans.
Pas 6: Codi DS18B20 Nodemcu ESP8266
Per obtenir el codi, podeu utilitzar els meus dipòsits de GITHUB:
github.com/Landixus/multipleDS18B20WeeWX
A més, el fitxer ino necessita algunes insercions vostres: l’adreça IP del vostre servidor o URL de weewx i la ruta on heu col·locat el fitxer php, assegureu-vos que l’àrea sigui escriptora i trieu el directori public_html perquè és un servidor domèstic.
Si voleu clonar els dipòsits de git i teniu git instal·lat al vostre servidor, podeu clonar amb l'ordre git clone
Ara hem de fer algunes coses que funcionen al nostre servidor weewx.
Heu de crear els camins d'accés a la vostra configuració
/ home / weewx / public_html
creeu una carpeta "dades" a la carpeta de dades creeu un ds18b20.txt per exemple nano ds18b20.txt el txt hauria de ser emtpy. fes que sigui escriptible amb chmod -R 777 ds18b20.txt (mai no ho fas en un servidor accessible a Internet!) a la carpeta / home / weewx / public_html que has posat el ground.php del meu representant de github. El truc és que el fitxer INO enviï valors a ground.php i que ground.php escrigui les dades a ds18b20.txt el següent, cal afegir el servei a weewx i posar el ds18b20.py a la carpeta / home / weewx / bin / usuari
obriu el vostre weewx.conf a la carpeta / home / weewx
sempre és bo tenir una còpia de seguretat abans d'editar aquest fitxer.
baixar a la línia:
[Motor]
# agrupats per tipus i per ordre de serveis dins de cada grup
# determina l'ordre en què s'executaran els serveis.
prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 afegir la línia després d’una coma
"user.ds18b20.ds18b20" hauria de semblar a la línia superior ^^
reinicieu weewx amb:
sudo /etc/init.d/weewx stop
sudo /etc/init.d/weewx start
amb l'ordre tail -f / var / log / syslog podeu cercar al fitxer de registre errors o cercar amb èxit una sortida ds18b20: trobeu el valor de Doneu al vostre servidor uns minuts per generar, al meu weewx.conf cada 5 minuts sortiu posar. Si teniu un missatge d'error, comproveu els vostres camins. Si teniu valors, podeu anar a mostrar-los a la pàgina: obriu
skin.conf a / home / weewx / skins / Standard vés a:
# Probablement aquesta sigui específica per a la meva emissora.
afegir
soilTemp1 = DS18B201
soilTemp2 = DS18B202
soilTemp3 = DS18B203
deseu el fitxer i obriu-lo a la mateixa carpeta index.html.tmpl, cerqueu una línia:
#if $ day.extraTemp.. …
#end if
després del primer #end si veieu que poseu el sensor GroundSensor Sensor amb:
^^ Ho sento, però no és possible posar-ho com a text: (deseu el fitxer i sortiu. no cal reiniciar weewx. Ara cal alimentar el NODEMCU ESP8266 amb el fitxer Arduino.
No oblideu configurar el vostre wifi i adreces al fitxer. Després de la càrrega, comproveu si hi ha errors a la sortida sèrie.
Després d'un curt període, hauríeu de veure els valors al vostre lloc web de weewx.
Pas 7: Sensor de sols d'èxit i resolució de problemes
Si teniu tots els valors de treball i de treball, aneu a l’exterior i poseu la canonada d’alumini a terra.
Una bona manera és posar cola calenta en 1 costat de la canonada i, a continuació, prémer el tub junts, llavors teniu una part superior agradable per facilitar-la al terra.
Poseu primer la vostra canonada a terra, ja que podeu martellar suau amb un tauler de fusta.
Si el tub és prou profund, podeu posar la cadena ds18b20 i els cables d’alimentació a la caixa impermeable.
Assegureu-vos que el vostre wifi funcioni en aquest lloc.
Si no sabeu quina profunditat té el sensor, hi ha dues possibilitats.
La fase de prova he posat 1 ds18b20 entre el dit, la temperatura augmenta per a aquest.
Quan la canonada ja està a terra, normalment el valor més alt és el punt més profund.
Pas 8: finalitzeu
Només el final
Envieu les vostres preguntes i mostreu els vostres temps en els comentaris.
Per obtenir més ajuda, uniu-vos als grups de Google de weewx a:
groups.google.com/forum/#!forum/weewx-user
Recomanat:
Com fer domòtica basada en IoT amb el relé de control de sensors NodeMCU: 14 passos (amb imatges)
Com fer automatització domèstica basada en IoT amb relés de control de sensors NodeMCU: en aquest projecte basat en IoT, he realitzat domòtica amb mòduls de relés de control Blynk i NodeMCU amb retroalimentació en temps real. En el mode manual, aquest mòdul de relé es pot controlar des de mòbils o telèfons intel·ligents i, mitjançant commutador manual. En mode automàtic, aquest smar
Taula d'extensió RaspberryPi 3/4 per afegir funcions addicionals a Raspberry Pi: 15 passos (amb imatges)
Taula d’extensió RaspberryPi 3/4 per afegir funcions addicionals a Raspberry Pi: sabem que el raspberry pi 3/4 no ve amb ADC (convertidor analògic a digital) i RTC (rellotge en temps real) incorporats, així que dissenyo un PCB que conté 16 canal de 12 bits ADC, RTC, mòdul SIM7600 4G, polsadors, relés, sortida USB, sortida 5V, potència 12V
Catifa amb sensors / Comunicació RF amb Arduino Micro: 4 passos (amb imatges)
Catifa amb sensors / Comunicació RF amb Arduino Micro: recentment he acabat la instal·lació Igualment diversa, que consisteix en una sèrie de làmpades que reaccionen als sensors col·locats en una catifa a sota de les làmpades. Així és com vaig fabricar la catifa amb sensors de pressió. Espero que us sigui útil
Cablatge de la placa d’extensió elèctrica de bricolatge: 7 passos (amb imatges)
Cablatge de la placa d’extensió elèctrica de bricolatge: en aquest instructiu us explicaré tot el procés per fer aquesta placa d’extensió elèctrica casolana pas a pas. És realment molt útil la placa elèctrica. Mostra el voltatge actual i l’amperio consumit en temps real. Quan el voltatge excedeix
Robot per evitar obstacles amb sensors d'ultrasons: 9 passos (amb imatges)
Robot que evita obstacles mitjançant sensors d'ultrasons: es tracta d'un projecte senzill sobre el robot que evita obstacles mitjançant sensors d'ultrasons (HC SR 04) i la placa Arduino Uno. projecte tutorial, comparteix-te