martes, 10 de marzo de 2020

Monitor con Raspberry Pi, MQTT, InfluxDB, Grafana, NODE-RED y Blynk (IV)


Instalación de ESP8266 y sensores


Comenzamos con la instalación de las ESP8266 y los sensores, vamos a instalar un sensor BME280 y otro DS18B20, cada uno ira conectado a sendas tarjetas ESP8266, estas comunicarán mediante Wifi con Raspberry Pi donde serán, por una parte, almacenados en la base de datos de InfluxDB, de aquí sacaremos los datos para mostrar en Grafana, por otra parte, mostraremos en un dashboard de NODE-RED, y enviaremos a la plataforma de Blynk para poder acceder a ellos de forma remota.


  • Sensor BME280



El esquema de conexión para el sensor BME280 es el siguiente:


La comunicación de este sensor se realiza mediante I2C, conectamos SDA y SCL a los pines SDA (D2) y SCL (D1) de la placa.

También conectaremos un cable desde el pin D0 al pin RST de la placa, con esto logramos que al poner en “Deep Sleep” podamos despertarla cada intervalo que definamos de “sueño”.

Sensor DS18B20

El esquema de conexión para el sensor DS18B20 es el siguiente:



 En este caso, el sensor comunica mediante OneWire, para ello conectaremos el pin central del sensor al pin D4 de la placa, además, en el pin de datos del sensor pondremos una resistencia de 4.7Ω a voltaje (3v3).

También conectaremos un cable desde el pin D0 al pin RST de la placa, con esto logramos que al poner en “Deep Sleep” podamos despertarla cada intervalo que definamos de “sueño”.

Sketch en Arduino IDE 

Para poder comunicar, y así subir los sketches a la placa ESP8266, es necesario configurar Arduino IDE.
Para ello, ejecutamos Arduino IDE, accedemos a “Archivo”, “Preferencias”



En el campo “Gestor de URLs adicionales de tarjetas” añadimos: http://arduino.esp8266.com/stable/package_esp8266com_index.json y pulsamos en “OK

Ahora debemos ir a “Herramientas” “Placa” “Gestor de tarjetas” y aquí instalar “Esp8266 By ESP8266 Community”.

Con esto tendremos instalada y disponible la Placa “NodeMCU (ESP-12E Module) que es la que utilizaremos.

Por otra parte, necesitaremos instalar varias librerías, en el caso del sketch para BME280:
  • ESP8266WiFi
  • PubSubClient
  • Adafruit Unified Sensor
  • Adafruit BME280 Library
  • Streaming

En el caso del sketch para DS18B20:

  • ESP8266WiFi
  • PubSubClient
  • OneWire
  • DallasTemperature Streaming

Una vez incluidas las librerías, abrimos los sketches, podemos descárgalos desde github, en la carpeta “ESP8266”.

Tendremos que rellenar las variables:

  • Ssid: Nombre de nuestra wifi
  • Password: contraseña de conexión de wifi
  • mqtt_server: dirección IP de nuestra Raspberry
  • mqtt_username: usuario de mosquitto (lo dimos de alta durante la instalación de mosquitto)
  • mqtt_password: contraseña del usuario de mosquitto


También podremos definir el valor para “SLEEP_DELAY_IN_SECONDS” está definido en 60 segundos, se trata del tiempo que permanecerá en modo “sueño” nuestra ESP8266, pasado este tiempo, despierta, comunica, envía y vuelve a modo “sueño”.

Conectamos, mediante un cable USB, la placa ESP8266 y subimos el sketch.
Podemos comprobar con el monitor serie el proceso de conexión, datos y envío.

Y hasta aquí esta entrega, si quieres realizar alguna consulta o comentario, puedes hacerlo en el formulario que encontraras al final o en el formulario de contacto del pie.

No hay comentarios:

Publicar un comentario