Después de nuestro tutorial para poder integrar el acceso por medio de NFC o RFID en Home Assistant, he pensado en hacer una serie de tutoriales para poder integrar diferentes dispositivos para hacer sensores caseros muy baratos.
En este caso he pensado en hacer un sensor de temperatura y presión con precisión de 2 decimales que podemos regular la cantidad de muestreos que realizan para poder tener una lectura lo más precisa posible.
NOTA: Para poder realizar este tutorial, deberías tener ya configurado el Wemos D1 mini con ESPEasy y listo para añadir “devices”, por lo que si no lo tienes, ve al link del tutorial (lo tienes aquí) y sigue todos los pasos de “Flasheo del Wemos D1 mini” hasta que llegues a la parte que habla de la pestaña “Devices”, esa no la hagas y sigue entonces este tutorial.
Lista de la compra para el sensor de temperatura
- Sensor BMP280: Se trata de un sensor con precisión de 2 decimales tanto en la presión atmosférica como en la tempertura, su coste ronda 1€ y podéis comprarlo aquí o aquí (Aliexpress sale un poco más barato).
- Controlador ESP8266: Al igual que dije en el tutorial de NFC, recomiendo el Wemos D1 mini, que podéis comprar aquí (Opción que pone ESP12) o aquí.
- Cable dupond hembra-hembra: Estos cables os harán falta si vais a empezar a hacer cosas de electrónica, si no tenéis, podéis comprar aquí o aquí.
OPCIONAL
- Soldador: Por cierto, por si no tienes soldador y quieres comprar algo que esté bien y no cueste mucho, yo el 936H, si queréis, podéis comprarlo aquí o aquí. También podéis comprar puntas para el soldador más finas por poco más de 1€ aquí.
- Estaño: Necesitaréis algo de estaño para soldar, podéis encontrar aquí, os recomiendo algo fino para estas soldaduras. Podéis encontrarlo aquí.
Soldadura del sensor de temperatura
Cuando compráis los sensores, suelen incluir los pines que hay que soldar, no cuesta mucho, tan solo tendremos que sujetar los pines para poder pegarles el estaño en la parte trasera para dejar la parte larga lista para conectar los cables dupond.
Conexión del sensor de temperatura al ESP8266
Para conectar tendremos que seguir este esquema:
BMP280 | ESP8266 (Wemos D1 mini) |
---|---|
VCC | 3V3 (o fuente que alimente el ESP de 3.3v) |
GND | GND (o gnd en fuente que alimente el ESP) |
SDA | SDA (D2 en Wemos D1 mini) |
SCL | SCL (D1 en Wemos D1 mini) |
Una vez conectado, podemos pasar a la configuración del software en nuestro ESPEasy.
Configuración del sensor en ESPEasy
Nos vamos a la pestaña de “Devices” y le damos a Edit al primero que tengamos libre, ya que, podríamos tener, por ejemplo el control de acceso y este sensor funcionando a la vez sin problema alguno.
Entonces desplegamos el menú y buscamos “Environment – BMx280” o “Environment – BMP280”, la configuración debería quedar así (ojo, Altitude es la altitud de la ciudad donde vivís). Podéis modificar el interval (segundos) al valor que queráis tener. Podréis poner el nombre a los Values que queráis, en el caso del BMP280 tan solo tenemos Temperatura y Presión atmosferica.
Si nos vamos al Log (Pestaña Tools y luego pulsamos en Log) veremos si todo ha ido bien como aparecen los valores en el Log:
Al igual que si hemos configurado el MQTT siguiendo los pasos, veremos el valor en el log del servidor MQTT:
Integramos los valores del sensor en Home Assistant
Como con cualquier sensor MQTT, los pasos a seguir son sencillos, tendremos que ver la estructura del topic para poder utilizarlo, si miramos el log del servidor MQTT, lo tendremos sencillo:
Por lo que para poder usar estos valores en Home Assistant tendremos que poner lo siguiente bajo la sección “sensor:” en nuestro configuration.yaml:
- platform: mqtt state_topic: "/Sensores/Entorno/Temperature" name: "Temperatura BMP280" unit_of_measurement: "C" - platform: mqtt state_topic: "/Sensores/Entorno/Pressure" name: "Presión BMP280" unit_of_measurement: "hpa"
Una vez hecho esto, cuando reiniciemos Home Assitant debería aparecer dicho sensor de esta forma:
Con esto ya tendríamos este sensor, que podemos poner, en cualquier lado de la casa por su reducido tamaño.
Nota: He tenido un problema a la hora de ver los valores en el servidor MQTT, es la primera vez que me pasa, pero el ESPEasy solo mandaba el primer valor del sensor de temperatura, es decir, la presión no la mandaba. Revisando, al intentar configurar otro Controller (con otro servidor MQTT apuntando al mismo) ha empezado a mandar el segundo valor también, por lo que creo que se debe tratar de algún fallo de la versión del ESPEasy que tengo instalada. Si os ocurre lo mismo podéis contarlo en los comentarios.
Tengo un sensor DHT11 con un ESP-01s, controlado con ESPHome, y noto que la temperatura que envía es algo elevada (unos 3C mas que lo que me marcan termómetros al lado...
Tambien noto que el modulo y la tarjeta se calientan.
Podría ser que me envía una temperatura elevada debido al propio calentamiento del dispositivo? Que podría hacer para enfriarlo/poner un offset?