Taula de continguts:

Sensors d'extensió Nodemcu ESP8266 per a Weewx: 8 passos (amb imatges)
Sensors d'extensió Nodemcu ESP8266 per a Weewx: 8 passos (amb imatges)

Vídeo: Sensors d'extensió Nodemcu ESP8266 per a Weewx: 8 passos (amb imatges)

Vídeo: Sensors d'extensió Nodemcu ESP8266 per a Weewx: 8 passos (amb imatges)
Vídeo: Home Automation using NodeMCU | Build an ESP8266 Web Server with Arduino IDE 2024, De novembre
Anonim
Sensors d'extensió Nodemcu ESP8266 per a Weewx
Sensors d'extensió Nodemcu ESP8266 per a Weewx

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 …

Què necessites…
Què necessites…
Què necessites…
Què necessites…
Què necessites…
Què necessites…

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

Comenceu amb la configuració del maquinari del sensor BME 280
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

BME 280 Nodemcu ESP8266 Codi
BME 280 Nodemcu ESP8266 Codi
BME 280 Nodemcu ESP8266 Codi
BME 280 Nodemcu ESP8266 Codi
BME 280 Nodemcu ESP8266 Codi
BME 280 Nodemcu ESP8266 Codi

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

Dispositiu del sensor BME280 amb èxit + Solució de problemes
Dispositiu del sensor BME280 amb èxit + Solució de problemes
Dispositiu del sensor BME280 amb èxit + Solució de problemes
Dispositiu del sensor BME280 amb èxit + 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

Configuració del maquinari Soilsensor
Configuració del maquinari Soilsensor
Configuració del maquinari Soilsensor
Configuració del maquinari Soilsensor
Configuració del maquinari Soilsensor
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

DS18B20 Nodemcu ESP8266 Codi
DS18B20 Nodemcu ESP8266 Codi

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

Sensor de sols d'èxit i resolució de problemes
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

Acabar
Acabar

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: