Tabla de contenido:

Estación meteorológica de bricolaje con DHT11, BMP180, Nodemcu con Arduino IDE sobre el servidor Blynk: 4 pasos
Estación meteorológica de bricolaje con DHT11, BMP180, Nodemcu con Arduino IDE sobre el servidor Blynk: 4 pasos

Video: Estación meteorológica de bricolaje con DHT11, BMP180, Nodemcu con Arduino IDE sobre el servidor Blynk: 4 pasos

Video: Estación meteorológica de bricolaje con DHT11, BMP180, Nodemcu con Arduino IDE sobre el servidor Blynk: 4 pasos
Video: Nodo LoRa con RFM95W y ESP32 | Añade comunicaciones de largo alcance a tus proyectos. 2024, Mes de julio
Anonim
Estación meteorológica de bricolaje con DHT11, BMP180, Nodemcu con Arduino IDE sobre el servidor Blynk
Estación meteorológica de bricolaje con DHT11, BMP180, Nodemcu con Arduino IDE sobre el servidor Blynk
Estación meteorológica de bricolaje con DHT11, BMP180, Nodemcu con Arduino IDE sobre el servidor Blynk
Estación meteorológica de bricolaje con DHT11, BMP180, Nodemcu con Arduino IDE sobre el servidor Blynk
Estación meteorológica DIY usando DHT11, BMP180, Nodemcu con Arduino IDE sobre Blynk Server
Estación meteorológica DIY usando DHT11, BMP180, Nodemcu con Arduino IDE sobre Blynk Server
Estación meteorológica DIY usando DHT11, BMP180, Nodemcu con Arduino IDE sobre Blynk Server
Estación meteorológica DIY usando DHT11, BMP180, Nodemcu con Arduino IDE sobre Blynk Server

Github: DIY_Weather_Station

Hackster.io: estación meteorológica

Habría visto la aplicación meteorológica, ¿verdad? Por ejemplo, cuando lo abres, conoces las condiciones climáticas como la temperatura, la humedad, etc. Esas lecturas son el valor promedio de un área grande, por lo que si quieres conocer los parámetros exactos relacionados con tu habitación, no puedes simplemente confíe en la aplicación meteorológica. Para este propósito, pasemos a la fabricación de la estación meteorológica, que es rentable y también confiable y nos brinda el valor exacto.

Una estación meteorológica es una instalación con instrumentos y equipos para medir las condiciones atmosféricas a fin de proporcionar información para pronósticos meteorológicos y estudiar el tiempo y el clima. Requiere un poco de esfuerzo conectar y codificar. Entonces empecemos.

Acerca de Nodemcu:

NodeMCU es una plataforma de IoT de código abierto.

Incluye firmware que se ejecuta en el SoC Wi-Fi ESP8266 de Espressif Systems y hardware que se basa en el módulo ESP-12.

El término "NodeMCU" por defecto se refiere al firmware en lugar de a los kits de desarrollo. El firmware utiliza el lenguaje de secuencias de comandos Lua. Se basa en el proyecto eLua y se basa en Espressif Non-OS SDK para ESP8266. Utiliza muchos proyectos de código abierto, como lua-cjson y spiffs.

Requisitos de sensores y software:

1. Nodemcu (esp8266-12e v1.0)

2. DHT11

3. BMP180

4. IDE de Arduino

Paso 1: conozca sus sensores

Conozca sus sensores
Conozca sus sensores

BMP180:

Descripción:

El BMP180 consta de un sensor piezorresistivo, un convertidor de analógico a digital y una unidad de control con E2PROM y una interfaz I2C en serie. El BMP180 entrega el valor no compensado de presión y temperatura. La E2PROM ha almacenado 176 bits de datos de calibración individuales. Se utiliza para compensar la compensación, la dependencia de la temperatura y otros parámetros del sensor.

  • ARRIBA = datos de presión (16 a 19 bits)
  • UT = datos de temperatura (16 bits)

Especificaciones técnicas:

  • Vin: de 3 a 5 VCC
  • Lógica: compatible de 3 a 5 V
  • Rango de detección de presión: 300-1100 hPa (9000 ma -500 m sobre el nivel del mar)
  • Resolución de hasta 0,03 hPa / 0,25 m: rango de funcionamiento de 40 a + 85 ° C, precisión de temperatura de + -2 ° C
  • Esta placa / chip utiliza la dirección I2C de 7 bits 0x77.

DHT11:

Descripción:

  • El DHT11 es un sensor de temperatura y humedad digital básico y de muy bajo costo.
  • Utiliza un sensor de humedad capacitivo y un termistor para medir el aire circundante, y escupe una señal digital en el pin de datos (no se necesitan pines de entrada analógica). Es bastante simple de usar, pero requiere una sincronización cuidadosa para capturar los datos.
  • La única desventaja real de este sensor es que solo puede obtener nuevos datos una vez cada 2 segundos, por lo que cuando usa nuestra biblioteca, las lecturas del sensor pueden tener hasta 2 segundos de antigüedad.

Especificaciones técnicas:

  • E / S y potencia de 3 a 5 V
  • Bueno para lecturas de temperatura de 0-50 ° C ± 2 ° C de precisión
  • Bueno para lecturas de humedad del 20 al 80% con una precisión del 5%
  • Uso de corriente máxima de 2.5 mA durante la conversión (mientras se solicitan datos)

Paso 2: conectividad

Conectividad
Conectividad

DHT11 con Nodemcu:

Pin 1 - 3,3 V

Pin 2 - D4

Pin 3 - NC

Pin 4 - Tierra

BMP180 con Nodemcu:

Vin - 3,3 V

Gnd - Gnd

SCL - D6

SDA - D7

Paso 3: Configurar Blynk

Image
Image
Configurar Blynk
Configurar Blynk

¿Qué es Blynk?

Blynk es una plataforma con aplicaciones iOS y Android para controlar Arduino, Raspberry Pi y similares a través de Internet.

Es un tablero digital donde puede crear una interfaz gráfica para su proyecto simplemente arrastrando y soltando widgets. Es realmente simple configurar todo y comenzará a retocar en menos de 5 minutos. Blynk no está atado a ningún tablero o escudo específico. En cambio, es compatible con el hardware de su elección. Ya sea que su Arduino o Raspberry Pi esté conectado a Internet a través de Wi-Fi, Ethernet o este nuevo chip ESP8266, Blynk lo pondrá en línea y listo para Internet Of Your Things.

Para obtener más información sobre la configuración de Blynk: Configuración detallada de Blynk

Paso 4: Código

Código
Código

// Los comentarios para cada línea se dan en el archivo.ino a continuación

#include #define BLYNK_PRINT Serial #include #include #include #include #include Adafruit_BMP085 bmp; #define I2C_SCL 12 #define I2C_SDA 13 float dst, bt, bp, ba; char dstmp [20], btmp [20], bprs [20], balt [20]; bool bmp085_present = true; char auth = "Pon tu clave de autenticación de la aplicación Blynk aquí"; char ssid = "Su SSID WiFi"; char pass = "Su contraseña"; #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht (DHTPIN, DHTTYPE); // Definición del pin y el temporizador dhttype BlynkTimer; void sendSensor () {if (! bmp.begin ()) {Serial.println ("No se pudo encontrar un sensor BMP085 válido, ¡verifique el cableado!"); while (1) {}} float h = dht.readHumidity (); flotar t = dht.readTemperature (); if (isnan (h) || isnan (t)) {Serial.println ("¡No se pudo leer el sensor DHT!"); regreso; } doble gamma = log (h / 100) + ((17,62 * t) / (243,5 + t)); doble dp = 243,5 * gamma / (17,62-gamma); float bp = bmp.readPressure () / 100; flotar ba = bmp.readAltitude (); flotador bt = bmp.readTemperature (); flotar dst = bmp.readSealevelPressure () / 100; Blynk.virtualWrite (V5, h); Blynk.virtualWrite (V6, t); Blynk.virtualWrite (V10, bp); Blynk.virtualWrite (V11, ba); Blynk.virtualWrite (V12, bt); Blynk.virtualWrite (V13, dst); Blynk.virtualWrite (V14, dp); } configuración vacía () {Serial.begin (9600); Blynk.begin (auth, ssid, pass); dht.begin (); Wire.begin (I2C_SDA, I2C_SCL); retraso (10); timer.setInterval (1000L, sendSensor); } bucle vacío () {Blynk.run (); timer.run (); }

Recomendado: