Cómo: Instalar FHEM - Módulo MQTT

En el artículo RaspberryPi: instale el servidor MQTT en RaspberryPi Escribí un poco sobre MQTT y expliqué cómo instalar su propio servidor MQTT en RaspberryPi.

Para que también pueda usar un servidor MQTT de FHEM, todavía tiene que instalar algunos módulos FHEM. He descrito cómo funciona esto y a qué debe prestar atención en el siguiente artículo.


Descripción general

Antes de que pueda comenzar a instalar el módulo MQTT, debe haber preparado el RaspberryPi para que FHEM esté instalado y pueda configurarse a través del menú web.
Los siguientes tres artículos describen lo que se debe hacer para preparar la RaspberryPi:
RaspberryPi: ¡configuración para nerdiys!
RaspberryPI – ¡La primera configuración!
RaspberryPi: controle el RaspberryPi a través de SSH
FHEM – Instalación en RaspberryPi
RaspberryPi: instale el servidor MQTT en RaspberryPi

Herramienta requerida:
-No-

Material requerido:

En la siguiente lista encontrará todas las piezas que necesita para implementar este artículo.


Inicie sesión en RaspberryPi a través de SSH

Para comenzar, primero debe iniciar sesión en Rasp Pi con Putty a través de SSH. Cómo hacer esto está en el artículo. RaspberryPi - Controle el RaspberryPi a través de SSH descrito.

Después de ingresar su nombre de usuario y contraseña, puede ingresar los primeros comandos.

Gestión de paquetes de actualización

La gestión de paquetes en Linux es un "lugar central" a través del cual se pueden instalar varios paquetes de software. Para que esto funcione de manera confiable, las listas y fuentes de administración de paquetes deben actualizarse antes de cada instalación de nuevos paquetes.

Para iniciar la actualización de la gestión de paquetes, debe ingresar el siguiente comando.
sudo apt-obtener actualización && sudo apt-obtener actualización
Dependiendo de cuánto tiempo hace que fue la última actualización de la administración de paquetes, este proceso ahora puede demorar un tiempo. Las listas que hacen referencia a las fuentes de paquetes individuales se actualizan primero.
Después de eso, los paquetes en sí se actualizan. Dado que la memoria adicional está ocupada, se le pedirá nuevamente su consentimiento. Tienes que confirmar esto con una "J" y "Enter".
Una vez que se complete la actualización, verá un pequeño resumen de la duración y el alcance de la actualización.

Instalar paquetes Perl MQTT

Para que FHEM pueda comunicarse con el servidor MQTT, se deben instalar dos paquetes de Perl.
Debe iniciar sesión en Rasp Pi con Putty e ingresar los siguientes comandos:

sudo cpan install Net::MQTT:Simple sudo cpan install Net::MQTT:Constantes

La consulta “¿Le gustaría configurar todo lo posible de forma automática? [sí]” confirmas con “sí” y Enter.

La instalación de los dos paquetes me llevó unos cinco minutos. Así que tiempo suficiente para tomar otra taza de café. 🙂

Reiniciar FHEM

Para que FHEM reconozca los paquetes recién instalados, FHEM debe reiniciarse una vez. Para hacer esto, debe ingresar los siguientes dos comandos uno tras otro. Esto primero detendrá el servidor y luego lo iniciará de nuevo. Puede encontrar más información sobre la parada y el arranque en el artículo FHEM - estructura, módulos y cosas que vale la pena saber

sudo /etc/init.d/fhem detener sudo /etc/init.d/fhem iniciar


Definir clientes MQTT

Para que ahora pueda enviar y recibir datos a través de FHEM MQTT, FHEM debe registrarse con el servidor MQTT como cliente. Solo tiene que crear este cliente una vez. Todos los sensores o actuadores registrados en FHEM luego reciben datos a través de estos clientes o pueden enviar sus datos a través de ellos.

Para registrar el cliente MQTT en FHEM, debe cambiar a la interfaz web de FHEM.
Hay un campo de entrada en el área superior donde podemos ingresar la definición del cliente MQTT.

La definición es (por ejemplo):

definir mqttCliente MQTT 127.0.0.1:1883

El comando creó el cliente MQTT en FHEM. Pero este no puede hacer mucho.


Para probar la función creamos un MQTT_ DEVICE. Este módulo se puede utilizar para suscribirse a temas de MQTT en FHEM y también para publicar datos.

La definición de nuestro pequeño módulo de prueba es:

definir mqttTest MQTT_DEVICE; attr mqttTest subscribeReading_testTopic testTopic; attr mqttTest publicarSet_testTopic testTopic;
Ingrese esto nuevamente en el campo de texto en la página de configuración web de FHEM.

Después de definir el módulo de prueba, no será redirigido directamente a su página de configuración. Puede encontrarlo en la "sala" "Sin clasificar" y luego en "mqttTest".

La página de configuración del módulo que acaba de definir.

Enviar mensaje de prueba y verificar recibo

Para enviar y recibir un mensaje de prueba, debe cambiar a la página de configuración del módulo definido. Allí puede ingresar cualquier texto en el campo de texto con un círculo rojo.

A continuación, puede enviar este texto haciendo clic en "establecer". Luego se envía al servidor MQTT a través de MQTT con el tema "testTopic".

Dado que también nos suscribimos al tema "testTopic" al definir el módulo, estamos recibiendo una actualización de esta lectura "testTopic" en este momento. El texto que enviamos fue recibido nuevamente. Entonces la configuración en FHEM funciona. 🙂

Ahora ha hecho que su instalación de FHEM sea compatible con MQTT.

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é. 🙂

Cómprame un café en ko-fi.com       

Kommentar hinterlassen

Tu dirección de correo electrónico no será publicada. Erforderliche Felder sind mit * markiert

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.