Tabla de contenido:

Sensores de extensión Nodemcu ESP8266 para Weewx: 8 pasos (con imágenes)
Sensores de extensión Nodemcu ESP8266 para Weewx: 8 pasos (con imágenes)

Video: Sensores de extensión Nodemcu ESP8266 para Weewx: 8 pasos (con imágenes)

Video: Sensores de extensión Nodemcu ESP8266 para Weewx: 8 pasos (con imágenes)
Video: #209 Как взломать ваши устройства с частотой 433 МГц с помощью Raspberry и ключа RTL-SDR (метеостанция) 2024, Mes de julio
Anonim
Sensores de extensión Nodemcu ESP8266 para Weewx
Sensores de extensión Nodemcu ESP8266 para Weewx

Esta es una instrucción para agregar sensores al software de la estación meteorológica weewx.

Si no tiene weewx, puede aprender algunas cosas en este tutorial.

necesita algunos conocimientos básicos del código Arduino y cómo cargar en un dispositivo.

Puede encontrar información de weewx aquí:

Lo que construyes son 2 dispositivos:

1 El dispositivo envía la temperatura y la humedad al software weewx.

1 El dispositivo envía las temperaturas del suelo de diferentes profundidades del suelo al software weewx.

Nuestro primer dispositivo es un sensor BME 280.

Nuestro segundo dispositivo es una cadena de 3 sensores de temperatura DS18B20. (Puede agregar más si lo desea).

Empecemos:

Paso 1: lo que necesita …

Que necesitas…
Que necesitas…
Que necesitas…
Que necesitas…
Que necesitas…
Que necesitas…

Weewx en funcionamiento + acceso al servidor weewx. (por ejemplo una frambuesa PI 3).

2 módulos Nodemcu ESP8266

3 o más sensores DS18B20

1 sensor combinado BME 280

1 tubo de aluminio o similar con un diámetro de 10 mm y un espesor de pared de 1 mm y aprox. 1 metro de largo

1 Estuche impermeable con prensaestopas y contratuerca.

1 Fuente de alimentación de 5 V (cargador móvil, por ejemplo).

Algunos cables y material de soldadura.

Encontrará el sensor BME280 y los módulos Nodemcu en eBay.

Para tubería de aluminio, elijo una ferretería local.

Para el DS18B20 y la carcasa impermeable, utilizo www.reichelt.de

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

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

y el grupo de prensaestopas con contratuercas

www.reichelt.de/Kabelverschraubungen-Bopla…

Para el bme280, puede utilizar opcionalmente una lata de ramificación

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

Paso 2: Comience con la configuración del hardware del sensor BME 280

Comience con la configuración del hardware del sensor BME 280
Comience con la configuración del hardware del sensor BME 280

Suelde la tira en el BME280.

Luego, conecte el BME al Nodemcu:

BME VIN a 3.3V

BME GND a GND

SCL a D4

SDA a D3

Si lo desea, puede colocar el Dispositivo en una carcasa, pero asegúrese de que haya algunos agujeros en la carcasa, para que los valores de humedad y temperatura sean los correctos.

Paso 3: Código BME 280 Nodemcu ESP8266

BME 280 Nodemcu ESP8266 Código
BME 280 Nodemcu ESP8266 Código
BME 280 Nodemcu ESP8266 Código
BME 280 Nodemcu ESP8266 Código
BME 280 Nodemcu ESP8266 Código
BME 280 Nodemcu ESP8266 Código

Para el código, puede usar mis repositorios de github:

github.com/Landixus/BME280_TO_SERVER_WEEWX

El archivo ino necesita algunas inserciones de usted:

La dirección IP de su servidor weewx o URL

y la ruta donde tiene el archivo php, asegúrese de que se pueda escribir en el área.

Elijo el directorio public_html porque es un servidor doméstico.

Si desea clonar los repositorios de git y tener git instalado en su servidor, puede clonar con el comando:

"clon de git" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"

Ahora tenemos que hacer algunas cosas en nuestro servidor weewx.

¡Necesitas hacer los caminos a tu configuración!

en

/ home / weewx / public_html

crear una carpeta de datos

en la carpeta de datos cree un bme.txt por ejemplo con:

nano bme.txt

el archivo debe estar vacío.

hágalo escribible con:

chmod -R 777 bme.txt

(¡nunca haces esto en un servidor al que se puede acceder desde Internet!)

en la carpeta

/ home / weewx / public_html

pones el bme.php de mi repositorio de github.

El truco es que el archivo INO envía valores al bme.php y el bme.php escribe los datos en bme.txt

A continuación, debemos agregar el servicio en weewx

poner el bme.py en la carpeta

/ home / weewx / bin / user

abre tu weewx.conf en la carpeta

/ inicio / weewx

¡Siempre es bueno tener una copia de seguridad antes de editar este archivo!

baja a la línea Motor y haz que la línea se parezca a la mía:

[Motor]

# Esta sección especifica los servicios que deben ejecutarse. Son

# agrupados por tipo y el orden de los servicios dentro de cada grupo

# determina el orden en el que se ejecutarán los servicios.

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

reinicie weewx con:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

con el comando

tail -f / var / log / syslog

puede buscar errores o éxito en el archivo de registro, buscar una salida bme: valor encontrado de…

Dale a tu servidor algunos minutos para generar, en "mi" weewx.conf cada 5 minutos aparece una salida.

Si tiene un mensaje de error, compruebe sus rutas.

Si tiene valores, puede ir a mostrarlo en la página web:

piel abierta.conf in

/ inicio / weewx / skins / Standard

ir a:

# ¡Este probablemente sea específico de mi estación! Add

extraTemp3 = BME1 Temperatura extraHumid1 = BME1 Humedad

guarda el archivo y ábrelo en la misma carpeta

index.html.tmpl

busque una línea:

#if $ día.extraTemp..

#terminara si

después del primer #end si lo encuentra, coloque su sensor BME con:

^^ lo siento, pero no es posible poner esto como texto:(Guarda el archivo y cierra.

no es necesario reiniciar weewx.

Ahora necesita alimentar el NODEMCU ESP8266 con el archivo Arduino.

No olvide configurar su wifi y direcciones en el archivo.

Después de la carga, compruebe la salida en serie para ver si hay errores.

Después de un breve período, debería ver los valores en su sitio web weewx.

Paso 4: Dispositivo sensor BME280 satisfactorio + resolución de problemas

Éxito Dispositivo sensor BME280 + Solución de problemas
Éxito Dispositivo sensor BME280 + Solución de problemas
Éxito Dispositivo sensor BME280 + Solución de problemas
Éxito Dispositivo sensor BME280 + Solución de problemas

Algunos consejos para ti:

Abra más de 1 consolas mediante masilla

en 1 consola haga sus cambios, y en la otra consola lea su syslog en vivo con:

tail -f / var / log / syslog

Si tiene un error, busque primero en su archivo de registro.

Tu salida debería ser similar a la mía:

Paso 5: Configuración del hardware del sensor de suelo

Configuración del hardware del sensor de suelo
Configuración del hardware del sensor de suelo
Configuración del hardware del sensor de suelo
Configuración del hardware del sensor de suelo
Configuración del hardware del sensor de suelo
Configuración del hardware del sensor de suelo

Para el sensor DS18B20 necesitamos hacer un sistema de bus con algunos cables y soldaduras.

Compruebe su DS18B20

DATOS, GND, VCC

Entre VCC y DATA, necesita una resistencia de 4.7K. Es suficiente si tiene la resistencia en el primer DS18B20

Los otros DS18B20 son paralelos entre sí.

Mide la longitud según tus necesidades. Suelde una cadena, he asegurado los pines con un tubo retráctil.

Para una PRUEBA, conecte DATA a D3 y VCC a VCC (3.3V) y GND a GND.

Para la opción de sueño profundo, debe conectar un puente entre RST y D0 (GPIO16)

No debes poner la cadena en el tubo de Aluminio ahora mismo, ¡haz tus pruebas antes!

Paso 6: Código DS18B20 Nodemcu ESP8266

DS18B20 Nodemcu ESP8266 Código
DS18B20 Nodemcu ESP8266 Código

Para el código, puede usar mis repositorios de GITHUB:

github.com/Landixus/multipleDS18B20WeeWX

Además, el archivo ino necesita algunas inserciones de usted: la dirección IP de su servidor weewx o URL y la ruta donde ha colocado el archivo php, asegúrese de que el área sea de escritura, elijo el directorio public_html porque es un servidor doméstico.

Si desea clonar los repositorios de git y tener git instalado en su servidor, puede clonar con el comando git clone

Ahora tenemos que hacer algunas cosas para que todo funcione en nuestro servidor weewx.

Necesita hacer las rutas a su configuración en

/ home / weewx / public_html

crear una carpeta "datos" en la carpeta de datos crear un ds18b20.txt por ejemplo nano ds18b20.txt el txt debe estar vacío. hágalo escribible con chmod -R 777 ds18b20.txt (¡nunca hace esto en un servidor que sea accesible por Internet!) En la carpeta / home / weewx / public_html pones el ground.php de mi representante de github. El truco es que el archivo INO envía valores al ground.php y el ground.php escribe los datos en ds18b20.txt a continuación, necesitamos agregar el servicio en weewx y poner el ds18b20.py en la carpeta / home / weewx / bin / usuario

abra su weewx.conf en la carpeta / home / weewx

¡Siempre es bueno tener una copia de seguridad antes de editar este archivo!

ir a la línea:

[Motor]

# agrupados por tipo y el orden de los servicios dentro de cada grupo

# determina el orden en el que se ejecutarán los servicios.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 agregue la línea después de una coma

"user.ds18b20.ds18b20" debería verse como la línea superior ^^

reinicie weewx con:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx start

con el comando tail -f / var / log / syslog puede buscar errores en el archivo de registro o buscar un resultado exitoso ds18b20: valor encontrado de Dale a tu servidor algunos minutos para generar, en mi weewx.conf cada 5 minutos sale poner. Si tiene un mensaje de error, compruebe sus rutas. Si tienes valores puedes ir a mostrarlo en la página: abrir

skin.conf en / home / weewx / skins / Standard ir a:

# ¡Este probablemente sea específico de mi estación!

agregar

sueloTemp1 = DS18B201

SueloTemp2 = DS18B202

sueloTemp3 = DS18B203

guarde el archivo y ábralo en la misma carpeta index.html.tmpl busque una línea:

#if $ day.extraTemp..…

#terminara si

después del primer #end si encuentra, coloque su sensor GroundSensor con:

^^ lo siento, pero no es posible poner esto como texto: (guarde el archivo y salga. No es necesario reiniciar weewx. Ahora necesita alimentar el NODEMCU ESP8266 con el archivo Arduino.

No olvide configurar su wifi y direcciones en el archivo. Después de la carga, compruebe la salida en serie para ver si hay errores.

Después de un breve período, debería ver los valores en su sitio web weewx.

Paso 7: Sensor de suelo satisfactorio y resolución de problemas

Sensor de suelo de éxito y solución de problemas
Sensor de suelo de éxito y solución de problemas

Si tiene todo funcionando y ve los valores, salga y coloque la tubería de aluminio en el suelo.

Una buena manera es poner pegamento caliente en un lado de la tubería y luego presionar el tubo para juntarlo, luego tiene una buena parte superior para que sea más fácil en el suelo.

Primero ponga su pipa en el suelo, puede martillar suavemente con una tabla de madera.

Si la tubería es lo suficientemente profunda, puede colocar su cadena ds18b20 y los cables de alimentación en la caja impermeable.

¡Asegúrate de que tu wifi esté funcionando en este lugar!

Si no sabe qué sensor tiene la profundidad, hay 2 posibilidades.

La fase de prueba pongo 1 ds18b20 entre el dedo, la temperatura sube más para este.

Cuando la tubería ya está en el suelo, normalmente el valor más alto es el punto más profundo.

Paso 8: Terminar

Terminar
Terminar

Solo el final

¡Publique sus preguntas y muestre sus temperaturas terrestres en los comentarios!

Para obtener más ayuda, únase a los grupos de google de weewx en:

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

Recomendado: