Tabla de contenido:
- Paso 1: lo que necesita …
- Paso 2: Comience con la configuración del hardware del sensor BME 280
- Paso 3: Código BME 280 Nodemcu ESP8266
- Paso 4: Dispositivo sensor BME280 satisfactorio + resolución de problemas
- Paso 5: Configuración del hardware del sensor de suelo
- Paso 6: Código DS18B20 Nodemcu ESP8266
- Paso 7: Sensor de suelo satisfactorio y resolución de problemas
- Paso 8: Terminar
Video: Sensores de extensión Nodemcu ESP8266 para Weewx: 8 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
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 …
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
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
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
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
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
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
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
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:
Cómo hacer automatización del hogar basada en IoT con el relé de control de sensores NodeMCU: 14 pasos (con imágenes)
Cómo hacer automatización del hogar basada en IoT con el relé de control de sensores NodeMCU: en este proyecto basado en IoT, hice la automatización del hogar con el módulo de relé de control Blynk y NodeMCU con retroalimentación en tiempo real. En el modo manual, este módulo de relé se puede controlar desde el móvil o teléfono inteligente y, interruptor manual. En el modo automático, este smar
Placa de extensión RaspberryPi 3/4 para agregar funciones adicionales a Raspberry Pi: 15 pasos (con imágenes)
Placa de extensión RaspberryPi 3/4 para agregar funciones adicionales a Raspberry Pi: sabemos que raspberry pi 3/4 no viene con ADC (convertidor analógico a digital) y RTC (reloj en tiempo real) integrados, así que diseño una PCB que contenga 16 canal 12bit ADC, RTC, módulo SIM7600 4G, pulsadores, relés, salida de alimentación USB, salida de alimentación de 5 V, alimentación de 12 V
Alfombra con sensores / comunicación RF con Arduino Micro: 4 pasos (con imágenes)
Alfombra Con Sensores / Comunicación RF Con Arduino Micro: Recientemente terminé la instalación Igualmente diversa, la cual está compuesta por una serie de lámparas que reaccionan a los sensores colocados en una alfombra debajo de las lámparas, así es como hice la alfombra con sensores de presión. Espero que lo encuentres util.:)
Robot para evitar obstáculos con sensores ultrasónicos: 9 pasos (con imágenes)
Robot para evitar obstáculos con sensores ultrasónicos: este es un proyecto simple sobre el robot para evitar obstáculos que usa sensores ultrasónicos (HC SR 04) y la placa Arduino Uno. El robot se mueve evitando obstáculos y eligiendo la mejor manera de seguir por los sensores. Y tenga en cuenta que no es un proyecto tutorial, compartirte
Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub: 9 pasos (con imágenes)
Centro de recopilación de datos de sensores habilitado para IoT con ESP8266 y PubNub: la mayoría de los tutoriales sobre ESP8266 se encuentran en el nivel de novato (parpadeando un LED de forma remota) o son demasiado complejos para alguien que está buscando algo para mejorar y actualizar sus habilidades de parpadeo de LED. instructable tiene como objetivo cerrar esta brecha para crear