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", entonces es posible 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 vacías.
Esto lo llevará a una página donde aparecerá un menú desplegable.
Abra el menú desplegable haciendo clic en él y seleccionando 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 ingresar los datos 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 la casilla "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 configurar el nombre/ID de su controlador para el servidor MQTT.
- "Identificación de cliente única al volver a conectar": si esta casilla está marcada, se agregará una identificación aleatoria a un nuevo intento de conexión. Esto (probablemente) evitará que dos clientes se conecten con la misma ID.
- "Publish Retain Flag": si esta marca de verificación está activada, se envían los valores publicados, incluido el "Retain Flag".
- "Suscripción del controlador": este tema está suscrito por el controlador. Este tema se puede usar para enviar comandos a ESPEasy, por ejemplo. También puede encontrar información al respecto 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á activado).
- "Tema LWT del controlador": el servidor MQTT puede usar el LWT(="Última voluntad/Testamento") para informar sobre el estado de conexión del cliente.
- "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 conexión o desconexión.
- "Enviar LWT al corredor": Habilita/deshabilita la funcionalidad LWT
- "Retendrá": Establece el "Indicador de retención" para los mensajes enviados a través del tema LWT.
- "Sesión Limpia": Activa/desactiva un inicio de sesión de una "sesión limpia"
- "Habilitado": Habilita/deshabilita este controlador
Tan pronto como haya configurado todos los ajustes según sus deseos, puede aceptar los ajustes 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 fila vacía en la pestaña "Dispositivos".
Luego configure la opción para "Datos GPIO" y "Modelo de sensor" de acuerdo con 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 sus datos hasta el primero Si desea enviar el controlador, la marca aparece junto al "1".
Puede utilizar la opción "Intervalo" para especificar con qué frecuencia se lee el sensor. A continuación, los datos se envían en el mismo intervalo. En el ejemplo que se muestra, el valor del sensor se lee cada segundo y se envía a través de 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 una sección de la vista "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
Con la ayuda de otro "dispositivo" virtual, también puede suscribirse a otros temas. Los valores recibidos a través de esto pueden procesarse posteriormente con reglas, por ejemplo.
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 fila vacía.
A continuación, será redirigido a un menú desplegable. Seleccione la entrada "Genérico - Importación MQTT" aquí.
En el menú que se muestra a continuación, puede suscribirse a hasta cuatro temas. Ingrese esto en "MQTT Tema 1 - 4".
En la sección "Valores" puede especificar los nombres de las variables. Estas variables luego contienen los valores recibidos vía MQTT. Esto es importante, por ejemplo, si desea reaccionar a estos valores utilizando "Reglas".
Si ha configurado todo como desea, verifique nuevamente que haya marcado "Habilitado" y confirme la configuración haciendo clic en "Enviar".
Ahora puede usar reglas para reaccionar a los temas suscritos. 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" allí ...
...y marque 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.
Si no, debería ser visible a más tardar después de una "recarga" de la página.
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 ingresar las reglas que se muestran, por ejemplo. Estos provocan que cada vez sobre 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é. 🙂