ESPEasy ahora puede leer muchos sensores y/o actuadores de control diferentes (ver también ESPEasy: sensores y actuadores). Con la ayuda de las “Reglas”, puedes reaccionar localmente en el ESP y actuar en consecuencia.
Pero los datos del sensor recopilados también se pueden enviar. Por ejemplo, estos datos se pueden recopilar o procesar en el sistema SmartHome. El envío a través del protocolo MQTT es ideal para esto.
El siguiente artículo describe cómo registrar su instancia ESPEasy con un servidor MQTT.
Instrucciones de seguridad
Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/
Enlaces afiliados / enlaces publicitarios
Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂
Requisitos
Artículos útiles:
Puede encontrar consejos adicionales sobre ESPEasy en los siguientes artículos.
- ESPEasy: ejecuta comandos y acciones a través de HTTP, MQTT, UDP y directamente
- ESPEasy: compila y actualiza el firmware y configura los datos de acceso WiFi
- Categoría – ESPEasy
Herramienta requerida:
- No -
Material requerido:
¿Qué servidor MQTT usar?
Ahora hay varios servidores MQTT que se pueden usar. Por ejemplo, también hay servidores MQTT públicos a los que se puede acceder a través de Internet.
Personalmente, no quiero usar estos porque creo que hay dos inconvenientes:
- Mis datos salen de mi red y terminan en un servidor externo. Incluso si los estándares de protección de datos ahora son muy altos, los ataques/errores aún pueden resultar en la publicación de mis datos.
- Solo se puede acceder al servidor MQTT público si hay una conexión a Internet a este servidor. Si esto falla, el reenvío de los datos allí también fallará. Esto también puede significar que las automatizaciones relacionadas ya no funcionan.
Ambas desventajas se pueden prevenir muy bien utilizando su propio servidor MQTT. Esto se puede instalar en una RaspberryPi, por ejemplo. Puedes encontrar información al respecto en el artículo RaspberryPi: instale el servidor MQTT en RaspberryPi.
Configurar el inicio de sesión en el servidor MQTT
Para que pueda ingresar al servidor MQTT en su instancia ESPEasy, el firmware ESPEasy ya debe estar instalado y accesible en el ESP8266. También puede encontrar información al respecto en el artículo ESPEasy: compila y actualiza el firmware y configura los datos de acceso WiFi.
Primero, abra el sitio web de configuración de su ESP8266 programado con ESPEasy ingresando su dirección IP en su navegador web. La información sobre cómo averiguar la dirección IP también se encuentra en el artículo. Mostrar/averiguar la dirección IP de los dispositivos en la red resumido.
Una vez que haya abierto el sitio web de configuración, debe cambiar a la pestaña "Controladores". Para hacer esto, haga clic en el botón "Controladores".
Ahora haga clic en el botón "Agregar" en una de las líneas aún vacías.
Esto lo llevará a una página donde aparecerá un menú desplegable.
Abra el menú desplegable haciendo clic en él y seleccione la entrada "Home Assistant (openHAB) MQTT".
Luego será redirigido a la página de configuración de este controlador (=servidor MQTT). Primero puede elegir si desea ingresar la dirección del servidor MQTT como nombre de host o dirección IP.
En el ejemplo que se muestra aquí, estoy usando un nombre de host. Pero también puede utilizar una dirección IP. Si hace eso, debe configurar su enrutador para que la dirección IP sea fija.
Puede aceptar las otras configuraciones como se muestra.
Es importante que el puerto esté configurado en el puerto configurado de su servidor MQTT (1883 por defecto).
También debe proporcionar los detalles de inicio de sesión para su servidor MQTT si requiere autenticación. Para hacer esto, ingrese su nombre de usuario y contraseña en los campos correspondientes y marque "Usar credenciales extendidas".
Puede configurar los ajustes restantes como se muestra. En aras de la exhaustividad, sigue una breve descripción.
- “ID de cliente del controlador”: Aquí puede especificar el nombre/ID de su controlador para el servidor MQTT.
- “ID de cliente única al volver a conectar”: si esta casilla de verificación está marcada, se agregará una ID aleatoria a un nuevo intento de conexión. Esto (muy probablemente) impide que dos clientes se conecten con el mismo ID.
- “Publicar indicador de retención”: si esta casilla de verificación está activada, se envían los valores publicados, incluido el “indicador de retención”.
- “Suscripción del controlador”: el controlador está suscrito a este tema. A través de este tema, por ejemplo, se pueden enviar comandos a ESPEasy. También puedes encontrar información sobre esto en el artículo. ESPEasy: ejecuta comandos y acciones a través de HTTP, MQTT, UDP y directamente.
- “Publicación del controlador”: aquí se define el tema bajo el cual se publican los valores del sensor (si están activados).
- “Tema LWT del controlador”: el servidor MQTT puede informar sobre el estado de la conexión del cliente a través del LWT (“Última voluntad/testamento”).
- “Mensaje de conexión/desconexión de LWT”: esta opción se puede utilizar para especificar el mensaje que se envía a través del tema LWT en caso de que se produzca una conexión o si se pierde la conexión.
- “Enviar LWT al corredor”: activa/desactiva la funcionalidad LWT
- “Retendrá”: establece el “Indicador de retención” para los mensajes enviados a través del tema LWT.
- “Sesión limpia”: habilita/deshabilita un inicio de sesión de “sesión limpia”
- “Activado”: Activa / Desactiva este controlador
Una vez que haya configurado todos los ajustes según sus deseos, podrá aplicarlos haciendo clic en "Enviar".
Después de eso, su controlador debería aparecer en la lista de controladores.
Si ha configurado más de un controlador, debe recordar la cantidad de partes en las que se configura el servidor MQTT. En este ejemplo, el servidor MQTT es el primero controladores
Configurar el envío de datos del sensor
Después de configurar el servidor MQTT, ahora también puede enviar los datos de un sensor conectado a través de MQTT a su servidor MQTT previamente configurado.
Para hacer esto, primero cambie a la pestaña "Dispositivos" haciendo clic en el botón "Dispositivos".
Si aún no lo ha hecho, primero debe configurar un sensor.
En este ejemplo se utiliza el DHT11.
Para hacer esto, haga clic en el botón "Agregar" en la primera línea vacía en la pestaña "Dispositivos".
Luego configure la opción para “Datos GPIO” y “Modelo de sensor” según su sensor.
Pero ahora a la parte MQTT:
Para que ESPEasy envíe los datos del sensor al servidor MQTT, debe activar la marca de verificación en la sección "Enviar al controlador". Desde que envías los datos al primero Si desea enviar el controlador, la marca aparece junto a "1".
Usando la opción "Intervalo" puede especificar con qué frecuencia se lee el sensor. Luego, los datos se envían en el mismo intervalo. En el ejemplo mostrado, el valor del sensor se lee cada segundo y se envía mediante MQTT.
Guarde esta configuración nuevamente haciendo clic en "Enviar".
De vuelta en la pestaña "Dispositivos", ahora también puede ver el controlador ingresado.
También se puede utilizar un cliente MQTT externo para comprobar si se envían los datos.
En la imagen puede ver un extracto de la vista del “MQTT Explorer”. Esta herramienta es gratuita y es muy útil cuando se trata de mensajes MQTT.
Cree un dispositivo MQTT para suscribirse a un tema MQTT
También puede suscribirse a otros temas determinados utilizando otro "dispositivo" virtual. Los valores recibidos se pueden seguir procesando, por ejemplo, mediante reglas.
Para hacer esto, vuelva a la pestaña "Dispositivos" haciendo clic en el botón "Dispositivos".
Luego haga clic en el botón "Agregar" en la primera línea vacía.
Luego serás redirigido a un menú desplegable. Seleccione la entrada "Genérico - Importación MQTT" aquí.
En el menú que aparece puedes suscribirte hasta a cuatro temas. Ingrese esto en "Tema MQTT 1 - 4".
En la sección "Valores" puede especificar los nombres de las variables. Estas variables contienen posteriormente los valores recibidos vía MQTT. Esto es importante, por ejemplo, si desea reaccionar a estos valores mediante “Reglas”.
Una vez que haya configurado todo como desee, verifique nuevamente que haya marcado "Activado" y confirme la configuración haciendo clic en "Enviar".
Ahora puedes reaccionar a los temas suscritos usando reglas. Para hacer esto, primero debe cambiar a la pestaña "Reglas".
Si esto no está visible, primero debe activarlo.
Para hacer esto, haga clic en "Herramientas" para cambiar a la pestaña "Herramientas".
Haga clic en "Avanzado"...
...y marca la opción “Reglas”.
Luego confirme esta configuración haciendo clic en el botón "Enviar".
La pestaña "Reglas" ahora debería estar visible.
De lo contrario, debería volverse visible después de una "recarga" de la página a más tardar.
En MQTT#Value_of_TestTopic1 hacer
si [MQTT#Value_of_TestTopic1]=1.00
pbani,5,150,0,0,0,0,0,
final
finalizará el
En la pestaña "Reglas" puede introducir, por ejemplo, las reglas que se muestran. Estos provocan que cada vez que sale el tema”Valor_de_TestTopic1” se recibe un uno, el comando “pbani,5,150,0,0,0,0,0," es interpretado.
Este comando es parte del complemento pxlBlck. También puedes encontrar información sobre esto aquí pxlBlck - Comandos para configurar el pxlBlck
Más sensores para conectar al ESP8266 / ESP32
Puede encontrar una descripción general de otros elementos para conectar sensores y actuadores a ESPEasy en la siguiente categoría.
Diviértete con el proyecto.
Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂
PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂