Instalación Broker MQTT emqx
¿Qué es EMQX?
EMQX es un broker MQTT de código abierto altamente escalable y permite la creación de un cluster con múltiples nodos lo que facilita el manejo de miles de conexiones, EMQX permite su gestión a través de un dashboard muy completo e integra varios plugins que facilitan el manejo de usuarios y reglas para administrar los permisos de cada uno.
Instalación
Para la instalación del broker se puede sar Docker corriendo un contenedor con una instancia de EMQX sobre una Raspberry Pi 3
Instalación docker
Con los siguientes comandos se instala los paquetes docker y docker-compose.
sudo apt-get install docker.ce
sudo apt-get install docker.compose
Instalación del contenedor EMQX
Creamos un archivo de docker-compose que nos facilitara la instalación del contenedor.
docker-compose.yml
version: "2.0"
services:
emqx:
container_name: emqx_iot
image: emqx/emqx:latest
#restart: always
ports:
- 18083:18083
- 18084:18084
- 1883:1883
- 8883:8883
- 8083:8083
- 8084:8084
- 8085:8081
environment:
EMQX_NAME: mi-emqtt
EMQX_HOST: 127.0.0.1
EMQX_ALLOW_ANONYMOUS: "false"
EMQX_NOMATCH: "deny"
TZ: "America/Bogota"
EMQX_DASHBOARD__DEFAULT_USER__PASSWORD: "contraseña_dashboard"
EMQX_DASHBOARD__DEFAULT_USER__LOGIN: "usuario_dashboard"
EMQX_AUTH__USER__1__USERNAME: "usuario_cliente"
EMQX_AUTH__USER__1__PASSWORD: "contraseña_cliente"
EMQX_LOADED_PLUGINS: "emqx_recon,emqx_retainer,emqx_management,emqx_dashboard,emqx_auth_mnesia"
Iniciamos el contenedor con el siguiente comando:
docker-compose up -d
Luego de que termine la descarga de la imagen e inicie el contenedor se puede acceder al broker EMQX mediante el navegador en la dirección http://ip_raspberry:18083
Usamos las credenciales pasadas como variables de entorno al contenedor, username = usuario_dashboard y password = contraseña_dashboard,
![](/images/emqx/emqx_1.png)
Por ultimo probamos que nos podamos conectar al broker mediante el usuario creado, para esto usamos una herramienta que nos provee EMQX la cual encontramos en la pestaña tools y en Websocket e ingresamos en Username el usuario creado: usuario_cliente y la contraseña: contraseña_cliente, ya solo queda hacer click en conectar como se muestra en la siguiente imagen.
![](/images/emqx/websocket_conn.png)
EMQX es un broker muy completo, para mas información es recomendado leer la documentación donde se destaca todas las características que esta herramienta nos ofrece.
Referencias
Tags: