BevywiseMQTT Brokeres un completo IoT Application Suite con un MQTT Broker incorporado. Actúa como un MQTT central servidor, que facilita la comunicación entre dispositivos de borde habilitados para MQTT / Internet de Cosas (IoT) dispositivos y recopila datos que se pueden almacenar para análisis y visualización de datos.
CrystalMQ Broker utiliza el transporte de telemetría de búsqueda de mensajes (MQTT) protocolo como su protocolo de mensajería estándar / protocolo de comunicación.MQTTtrabajos basados en la subscripción publica modelo. Le proporciona un marco totalmente extensible que ayuda usted construye potente IoT/IIoT Aplicación para cualquier caso de uso industrial.
Mensajería basada en temas:Cristal MQ utiliza un modelo de mensajería basado en temas donde los mensajes son publicados en temas específicos, permitiendo a los suscriptores recibir solamente datos relevantes basados en sus suscripciones.
QoS Handling:CrystalMQ admite diferentes niveles de calidad de servicio (QoS) (0, 1, 2) para asegurar el mensaje fiabilidad y garantía de entrega, basado en los requisitos del escenario de comunicación.
Gestión de contactos:Gestiona las conexiones de clientes, incluyendo establecer, mantener, y la terminación de conexiones MQTT, así como la manipulación de retries de conexión y timeouts.
Seguridad:Proporciona características de seguridad tales como encriptación TLS, mecanismos de autenticación (nombre de usuario/palabra, certificados de cliente), y control de acceso para garantizar una comunicación segura y autorizada.
Persistencia:Ofrece opciones de persistencia de mensajes para almacenar y gestionar mensajes, asegurando la entrega de mensajes incluso en caso de interrupciones temporales de la red o falta de disponibilidad del cliente.
Escalabilidad:Con su capacidad de escalar para apoyar a millones de concurrentes conexiones, destaca como el MQTT Broker más escalable y de alto rendimiento disponible.
Esta sección ofrece una guía completa para descargar e instalar la versión de Bevywise MQTT Broker en sus máquinas o servidores. Además, cubre instrucciones para conectar dispositivos y probar mensajes escenarios (publicar y suscribir) con el corredor.
Tenemos varios planes adecuados para varios casos de uso, a saber:
Desarrollador | Lite | Starter | Enterprise |
---|---|---|---|
Fully FREE MQTT Broker | Premium | Premium | Premium |
Hasta 10 conexiones de dispositivo | Hasta 100 conexiones de dispositivo | Conexiones basadas en requisitos personalizados | Conexiones basadas en requisitos personalizados |
Soporte de protocolo completo - 3.1, 3.1.1 y 5.0 | Soporte de protocolo completo - 3.1, 3.1.1 y 5.0 | Soporte de protocolo completo - 3.1, 3.1.1 y 5.0 | Soporte de protocolo completo - 3.1, 3.1.1 y 5.0 |
Sin restricciones de fuerza | Almacenamiento personalizado | Multi-tenanacy - Labelling blanco | |
Incluido | y más | y más | y más |
Descargar | Comprar ahora | Contáctenos | Contáctenos |
Para el Plan de Desarrolladores (versiónFREE), puede obtener directamente su gratis
paquete usando elEnlace de descarga.
Para los planes Premium, por favorsoporte de contactopara obtener su licencia " construir.
Nuestro corredor de mensajería puede funcionar en cualquier máquina privada / local / servidor físico en un entorno on-premise o también se puede ejecutar en docker.
Es agnóstico de la nube y puede ser alojado en cualquier plataforma de la nube.
Actualmente se presta apoyo a los siguientes sistemas operativos para ejecutar paquete descargable.
También tiene la opción de desplegar el MQTT Broker con sólo uno haga clic enAWSyAzure Mercado.
Para ejecutar MQTT Broker como docker, por favor utilice el enlace de abajo para empezar con:Corre como un docker.
Windows
O
Linux
Ventana terminal abierta. Vaya a la ruta donde se descarga el MQTT Broker paquete se encuentra " descifrar el archivo.
Por defecto, el corredor comienza en la dirección IP localhost (127.0.0.1) / máquina IP y escucha en el puerto 1883.
Abra su navegador web y vaya a http://localhost:8080/ (Sustitución) "localhost" con su dirección IP) en la barra de direcciones para acceder al tablero de MQTT.
El otro método a través del cual puede iniciar el corredor de mensajes es por que lo ejecute como un servicio. El corredor de ejecución como servicio le ayuda a iniciar el bróker automáticamente cuando la máquina comienza. Usted puede evitar ejecutarlo cada vez desde el terminal o el comando prompt.
Para Windows
Para iniciar el servicio CrystalMQ,
Para detener a Crystal Servicio MQ,
Para Linux
La carpeta de bin (Bevywise/CrystalMQ/bin) contiene el archivo RunAsService.sh. Corre este archivo para activar el archivo de servicio ’ y “path” (configurado como un enlace simbólico redirigir a la carpeta “/opt/Bevywise”).
Ahora, para empezar el servicio, use
Sudo systemctl start cristalmq. servicio
Para comprobar el estado, use
sudo sistemactl status cristalmq. servicio
Para detener el servicio, uso
Sudo systemctl stop cristalmq. servicio
ElBevywise IoT Simulatores una herramienta de simulación de datos MQTT que permite crear y simular varios dispositivos simultáneamente. Esto permite para realizar pruebas de carga y probar conectividad eficientemente.
MQTT Protocol Supported - MQTT 3.1, & 3.1.1
Clientes MQTT
Tenemos documentos completos para ayudarle a conectar variosMQTT clientesa nuestro corredor de CrystalMQ. Esas guías proporcionarán instrucciones y percepciones detalladas,
asegurar una experiencia de integración perfecta con CrystalMQ. Haga clic en el enlace de abajo para empezar
con
nuestros clientes MQTT instantáneos.
Clientes MQTT
Documentación
Esta sección explica los requisitos de hardware y archivos " directorios para configuraciones de alto nivel.
Requisitos de hardware
Los requisitos de hardware varían en función de la velocidad y tamaño del mensaje.
Sin embargo, por favor encuentre los requisitos mínimos a continuación para su referencia.
Presentando carpetas de rotor MQTT
Después de completar el proceso de instalación, descubrirá el siguiendo archivos y carpetas ubicados en la ruta especificada.
Folder | Descripción | Archivos |
---|---|---|
bin | Contiene archivos ejecutables | 1. runbroker.bat / runbroker.sh - Para iniciar el broker 2. stopbroker.bat / stopbroker.sh - Para detener el broker 3. Crystalmq. service - sistemad linux service file 4. RunAsService.sh - Para ejecutar el broker como un servicio en linux 5. install_mysql_connector.sh / install_mysql_connector.bat - Para instalar el conector mysql & otras dependencias. |
Certificado ./root ./servidor ./cliente |
Certificados para comunicación TLS / SSL | .root/root.crt - Autofirmado CA. .server/server.crt - certificado firmado por el servidor CA .server/server.key - servidor basado clave privada .client/client.crt - certificado firmado por CA .client/client.key - clave privada basada en el cliente |
conf | Contiene archivos configurables | mqtt.conf MQTT Authentication Configuración TLS UTF Apoyo ACL Clustering application.conf Configuración UI Manejo de registros datastore.conf Configuraciones relacionadas con bases de datos |
extensiones | ganchos de pitón extensibles | custom_auth.py - Para personalizar la autenticación custom_scheduler.py - Para añadir algoritmos AI / ML custom_store.py - Para integrar aplicaciones de terceros custom_ui_server.py - Para personalizar UI según sea necesario |
lib | archivos de biblioteca esenciales para el funcionamiento del corredor | |
licencia | Contiene licencia Broker | licencia.dat - archivo de licencia premium |
troncos | Registros de errores | broker.log - Captura los últimos registros de errores |
ui | Lista completa de archivos html de extremo frontal, css, jss de MQTT Broker | |
datos | Base de datos SQLite | bevywise - Base de datos que almacena datos recibidos y enviados por broker (si SQLITE es seleccionada como opción de almacenamiento de datos) |
Technical Support
Para cualquier consulta técnica sobre MQTT Broker o necesidad de discutir su requisitos, usted puede siempre nos alcanzan
Correo electrónico:[email protected]
Mensaje : https://www.bevywise.com/contact-us.html
TeléfonoIndia - +91 8072398868 / US - +1 707 879 8999
Esta sección proporciona la vista detallada sobreMQTT 5propiedades y las configuraciones que se pueden configurar para jugar con esta versión de protocolo.
Gastos de período de sesiones
MQTT 5 presenta el concepto de período de sesiones y expiración de mensajes. Clientes puede establecer intervalos de expiración de la sesión, permitiendo al corredor limpiar las sesiones de clientes desconectadas después de un período especificado.
Puede configurar y configurar el intervalo de expiración de sesión en el corredor. conf
Puede definir un plazo específico para la expiración de la sesión. Una vez configurado, Las sesiones de clientes desconectadas se eliminarán automáticamente después de la duración especificada.
Usted tiene la opción de establecer un intervalo de expiración de sesión universal para todos dispositivos.
Además, puede establecer intervalos de expiración de sesión individuales para cada sesión cliente estableciendo el valor a -1. En este caso, el corredor comprobará el paquete CONNECT de cada cliente para la expiración de la sesión valor de intervalo, y utilizará estos valores para gestionar la limpieza de sesión en consecuencia.
Recibir el máximo
La propiedad RECEIVE MAXIMUM se utiliza para indicar el número máximo de QoS 1 y QoS 2 mensajes que el cliente puede procesar simultáneamente. Esto aumenta la flexibilidad y la eficiencia envío de mensajes procesamiento simultáneo de mensajes, lo que permite una mejor utilización de los recursos y mejorada dinámica de manejo de mensajes entre clientes y corredor.
Puede configurar y configurar los números en el broker. bienes inmuebles SERVER_RECEIVE_MAXIMUM.
El valor de SERVER_RECEIVE_MAXIMUM puede oscilar entre 1 y 65.535.
Un valor de 0 indica que el cliente no puede procesar ningún QoS 1 o QoS 2 mensajes simultáneamente, desactivar efectivamente estos niveles de QoS para el cliente.
QoS máximo
MQTT Brokerpuede informar al cliente sobre lo más altoNivel QoSsoporta incluido el Máximo QoS en el paquete CONNACK durante el establecimiento de conexión.
Al recibir el QoS Máximo del corredor del paquete CONNACK, el cliente debe adherirse a este nivel máximo de QoS al enviar paquetes PUBLISH.
Sin embargo, el corredor todavía puede aceptar paquetes SUBSCRIBE de clientes que contiene un QoS solicitado de 0, 1, o 2, independientemente de su soporte para paquetes QoS 1 o QoS 2 PUBLISH.
Puede definir Maximum QoS en broker. conf
Tamaño máximo del paquete
El paquete máximo Tamaño propiedad es utilizado por el corredor para notificar al cliente sobre el máximo tamaño permitido para paquetes. Se requiere que el cliente no envíe paquetes más grandes que este límite a el servidor. Si el servidor recibe un paquete que excede este límite de tamaño, se considera un Error de Protocolo, y el servidor desconectará al cliente usando el paquete DISCONNECT.
Puede configurar el tamaño máximo del paquete en el corredor. Conf como abajo.
Tema Alias Máximo
El "Topic Alias Maximum" es una propiedad utilizada para especificar el máximo Número de tema alias que un cliente puede utilizar durante la comunicación MQTT con el broker. Esto permite al corredor informar al cliente sobre el número máximo de alias de tema que puede uso.
Los alias temáticos son referencias cortas a temas que ayudan a reducir el tamaño de los paquetes de control MQTT reemplazando el nombre del tema por un identificador más corto (alias).
Puede configurar Maximum Topic Alias en broker.conf.
Un valor de 0 indica que el corredor no apoya los alias tópicos, y el cliente no debe utilizar el tema alias en sus mensajes.
Mantener el servidor activo
El"Server Keep Vivosmecanismo se refiere a una característica que permite al corredor MQTT (servidor) notificar a los clientes aproximadamente el intervalo de tiempo máximo permitido para mantener una conexión activa.
Durante la fase de establecimiento de conexión (envase CONNACK), el MQTT broker informa al cliente sobre el intervalo "Server Keep Alive". El intervalo "Server Keep Alive" especifica el máximo duración del tiempo (en segundos) que el cliente puede permanecer ocioso sin enviar paquetes de control (por ejemplo, PINGREQ) al corredor.
Puedes definir esto en mqtt. conf
Si especifica el mantener vivo aquí, el cliente utilizará este valor en lugar del valor de mantenimiento proporcionado en su paquete CONNECT.
Sin embargo, si el valor se fija en -1, lo que significa que el corredor no enviar la propiedad Server Keep Alive, y el corredor utilizará el valor de reserva establecido por el cliente en su paquete CONNECT.
Retain Available
La característica "Retener disponible" se refiere a la capacidad de un MQTT broker to supportmensajes retenidos. Los mensajes retenidos son mensajes especiales de MQTT que se almacenan en el bróker y entregado a nuevos suscriptores cuando se suscriben a un tema.
Puede activar / desactivar Retener en mqtt.conf
Un valor de 0 significa que los mensajes retenidos están deshabilitados. Se habilita un valor de 1 medio de mensajes retenidos.
Suscripción de la tarjeta salvaje Disponible
Una suscripción a wildcard se refiere a un patrón de suscripción que permite clientes para suscribirse múltiples temas usando caracteres comodín (+, #).
Usted tiene la opción de configurar el MQTT Broker para activar o deshabilitar la función comodín basado en sus requisitos.
Un valor de 0 significa que la suscripción de tarjetas silvestres está deshabilitada. Un valor de 1 significa que la suscripción de tarjetas silvestres está habilitada.
Identificadores de suscripción Disponible
Los identificadores de suscripción son una característica que permite a los clientes de MQTT c) identificadores a sus suscripciones. Los identificadores de suscripción se utilizan para identificar de forma única las suscripciones individuales hecho porMQTT clientesa temas específicos. Cada suscripción se puede asignar un identificador único.
Un valor de 0 significa que los identificadores de suscripción están deshabilitados. Un valor de 1 significa que los identificadores de suscripción están habilitados.
MQTT Suscripción compartida
Nuestro broker, por defecto, admite suscripciones compartidas, permitiendo datos a se distribuye entre dispositivos suscritos. Cuando un editor envía datos a un tema, se comparte entre todos los suscritos clientes. Por ejemplo, si dos clientes están suscritos a 'Tema 1', el corredor alternará enviar mensajes entre ellos.
Las suscripciones compartidas siguen el formato siguiente
Puede activar / desactivar lo mismo en mqtt. conf
Nota:Tenga en cuenta que mientras que función de suscripción compartida dentro de los nodos en un entorno agrupado, no se extienden a través de todo el grupo.
Nuestro broker UI le permite monitorear, visualizar y gestionar su conexión dispositivos " datos. Esta sección ofrece una visión profunda sobre cómo acceder al dashboard y visualizar los datos de MQTT de una manera que necesite.
Por defecto, la interfaz de usuario del corredor comienza a funcionar en el puerto 8080. Usted puede acceder a él navegando al navegador y entrando
O
Este puerto UI se puede cambiar actualizando UI_HTTP_PORT dentro conf/application.conf
Esta página contiene información de conexión del Broker. El cifrado TLS puede ser habilitado o desactivado desde esta página.
API Token para accederMQTT Broker REST APIse puede generar en esta página.
El panel proporciona una instantánea rápida de los últimos acontecimientos en el Broker, donde puedes ver los datos de tiempo real procedentes de sus dispositivos. Junto con datos brutos, usted puede esperar el estado de tiempo real rápido del corredor.
Además del panel predeterminado, MQTT Broker admite personalizado que permite a los usuarios crear múltiples paneles específicos para sus aplicaciones. Déjanos profundizar para saber cómo puede ayudar a su aplicación.
El uso de dashboards varía con la aplicación de caso de uso y él no es justo proporcionar estática dashboards para todas las implementaciones IoT. Por lo tanto, nuestro sistema de corretaje soporta tableros personalizados con conjunto de widgets preconstruidos a ayuda a los usuarios a tener mejor visualización específico a su aplicación o necesidades industriales.
A diferencia de otros MQTT Broker / servidores que no necesita ningún tercero plugin para visualizar sus datos. Puede crear varios paneles con esta funcionalidad de la propia UI. Ponga los widgets en el panel de control y proporcione una visualización de valor añadido a su datos.
Lista de widgets compatibles :
Para crear un panel personalizado:
Para crear un Widget :
Widgets admiten datos JSON y TEXT. Asegúrese de crear widget sólo para datos numéricos.
Los pasos para hacer 9 tipos diferentes de widgets se enumeran a continuación.
Haga clic para saber más sobreTemas MQTT.
Por ejemplo – la sintaxis JSON será como
{ “KEY 1” : “ VALUE1 ” , “KEY2” : “ VALUE2”, “KEY 3” : “VALUE 3”
Ejemplo de datos JSON
{ “sensor” :”99′′ , “temperatura” : “90” , “status” : on” }
En los datos anteriores, se denomina sensor, temperatura, estado claves y 99, 90 y ON son valores para las teclas.
Por ejemplo, si quiero mostrar datos de temperatura, tengo que seleccionar la clave como “temperatura”. Entonces tengo que entrar en la unidad para los datos. Como he seleccionado la temperatura como la clave, He dado a Celsius como unidad. Puede ingresar la unidad adecuada en función de sus datos.
El widget de color le ayuda a ver los datos en una forma de color. Además, puedes establecer diferentes colores para cada rango óptimo de valores.
Los pasos son los mismos que los de crear un widget TEXT.
Que 0 a 50 sean velocidad normal, 50 a 100 sean velocidad media y más que 100 ser alta velocidad. Ahora revise los pasos a continuación.
Línea Widget le permite crear tendencia que es para ver datos que cambia con el tiempo. Esto le ayuda a crear una serie de valores conectados con una línea recta. También puede comparar cambios durante el mismo período por más de un valor.
Los pasos son los mismos que los de crear un widget TEXT & Color. Pero no habrá ninguna opción para establecer un rango mínimo y máximo " offset ya que esta es una tendencia Gráfico.
Como es un gráfico de tendencia, muestra datos con el tiempo. Por lo tanto es un gráfico de sus datos vs tiempo. Los datos (valor) ocuparán el eje y y y el tiempo ocupará el eje x. El subtítulo " unidad que proporcione se mostrará en eje y.
Nota:Cuando se elija Datos históricos, puede exportar los datos para su período preferible de días.
Para comparar dos o más valores :
Comparando dos o más valores (datos) de un solo dispositivo se puede hacer con widget de línea.
Siga los pasos a continuación para crear un gráfico de comparación de datos.
El uso de bar widget es el mismo que el de línea widget y él representa datos en barras rectangulares con alturas proporcionales a los valores que representan.
Como es un gráfico de tendencia, muestra datos con el tiempo. Por lo tanto es un gráfico de sus datos vs tiempo, los datos (valor) ocuparán el eje y y y el tiempo ocupará el eje x. El subtítulo " unidad que proporcione se mostrará en eje y.
Nota:Al elegir datos históricos, puede exportar datos para su período preferible de días.
Para comparar dos o más valores :
Comparando dos o más valores (datos) de un solo dispositivo se puede hacer con bar widget.
Siga los pasos a continuación para crear un gráfico de comparación de datos.
Un gráfico medidor que ilustra visualmente un velocímetro se utiliza para representan valores progresivos.
Los pasos son los mismos que los del widget TEXT > COLOR.
Consideremos un medidor de presión y los datos sobre caídas de presión entre el rango 0 a 100. Ahora puedo dividir el dial en 5 rangos diferentes.
Cada categoría representa cada compensación y asignaré diferentes colores para el mismo. La aguja girará sobre " señala el valor de presión basado en el datos recibidos en línea.
El uso de medidor vertical y horizontal es el mismo que el de Gauge pero utilizado para representar valores progresivos lineales.
Los pasos para la creación de widget son exactamente los mismos pero usted va a tienen la escala lineal (horizontal o vertical) en lugar de dial. Puede configurar el offset en esto.
Para el procedimiento paso a paso, consulte el widget Gauge.
Es un widget basado en condiciones que funciona para datos aleatorios. Puede ser utilizado en un escenario para comprobar el estado del dispositivo ya sea activo o inactivo.
Siga los pasos de abajo para crear un widget LED.
Nota:Al elegir datos históricos, puede exportar datos para su período preferible de días.
Nota:LED funciona sólo para el dispositivo que envía datos en RANDOM. Por ejemplo, SobrevivirOff o Open VidaClose
Ahora proporciona el valor (ON) que recibe cuando su dispositivo está activo y (OFF) cuando el dispositivo es inactivo en el espacio respectivo dado. Elige tu color deseado. Basado en el color elegido, el LED parpadeará representando el estado del dispositivo.
Este es un widget interactivo de usuario donde puedes controlar el actividad de dispositivo de la propia UI.
Usted puede elegir qué tipo de datos desea obtener : Vivir o vivir Histórico. Basado en el tema/evento recibido por dispositivo, puede hacer su dispositivo ON/OFF o la acción que necesita para realizar con los datos suscritos.
Puede conectar manualmente el dispositivo con el widget del interruptor.
Nota:Al elegir datos históricos, puede exportar datos para su período preferible de días.
Nota:Asegúrese de que el dispositivo que desea controlar está suscrito al tema que tiene datos aleatorios (ON / OFF o Open / Close).
Este menú muestra la lista completa de dispositivos (tanto activos como inactivo) que están conectados aMQTT Broker. Esto le proporciona una vista de alto nivel en cada dispositivo conectado.
Déjanos profundizar para saber cómo esto puede ayudar.
Dashboard puede proporcionar los últimos eventos rápidos de dispositivos. Pero cómo puede obtenemos la lista completa de eventos publicados y los comandos recibidos si es un suscriptor?
¿Cómo puedo enviar un comando instantáneo a los dispositivos?
Todas estas preguntas pueden ser contestadas si usted puede hacer el uso óptimo de Menú de clientes.
La lista completa de eventos publicados por el dispositivo seleccionado. También puede obtener la lista de mensajes publicados junto con sus temas asociados por el seleccionado Dispositivo.
La lista completa de comandos suscritos por el dispositivo seleccionado. Tú. también puede conseguir,
Esta es una lista de filtros de tema suscritos por el cliente en particular.
“Enviar comando” le ayuda a enviar mensajes instantáneos al cliente.
Siga los pasos para enviar una orden instantánea:
La lista absoluta de temas publicados y suscritos por todos los dispositivos conectado al corredor.
La conexión del dispositivo con el corredor puede ser restringido/interrumpido por tantas razones. La pestaña Iniciar sesión contiene una lista de errores que ocurrió mientras conecta un dispositivo con el corredor. Esto te ayuda a conocer la razón detrás de fracaso.
La siguiente lista le ayuda a identificar la razón del error.
ERROR | REASON |
---|---|
Servidor ocupado | Servidor ocupado, número de conexión de toma excedido límite físico del servidor alcanzado |
Cliente desconocido | Los detalles del cliente no se dan correctamente. Datos del cliente inválido proporcionados |
Cliente id Null | Cliente id Null, entrada de conexión restringido Identificador de cliente es NULL |
Conexión Refusa | Mismo cliente id ya encontrado, tratar de conectar con otro cliente id Reutilizando un existentes Identificador de cliente no permitido |
Credencial inválida | Nombre de usuario o contraseña incorrecta. Conéctese con la credencial correcta del usuario. Inválidos Detalles de autenticación proporcionados |
Ping Response Failed | El dispositivo salió fuera de línea. TCP El tiempo ocurrió. |
SSL Accept | Error al establecer una conexión segura. Certificado SSL inválido o Conexión |
Protocolo no respaldado | Protocolo inválido. El mensaje recibido no está en el formato MQTT adecuado |
Socket cerrado | El servidor está ocupado |
Dispositivo desconectado Inesperadamente | Dispositivo desconectado |
Las reglas son el primer paso para construir inteligencia al corredor. Es un motor de automatización donde puede crear alertas basadas en el mensaje recibido.
El motor de reglas consta de reglas basadas en condiciones " Time based.
Creación de reglas basadas en condiciones:
Este tipo de regla le permite crear reglas basadas en el cliente " el tema que está asociado.
Consideremos el escenario. Mi editor publica los datos con el tema, pub/test en 2 minutos intervalo. Y quiero a mi suscriptor con el tema sub/test suscrito para saber que el editor está publicando los datos o no.
Así que puedo crear una regla que cada vez que el Editor envía datos, suscriptor recibirá el mensaje ‘Message Sent’.
Nota: Esto es sólo un escenario de ejemplo, usted puede crear su propio regla basada en tu necesidad.
Pasos para crear el tipo de regla del cliente & Tema :
Si tiene varios temas, seleccione el tema para el cual usted es pretendía generar una regla.
Ahora introduce el tema que está a punto de recibir el mensaje aleatorio (sin configurar en reglas)
Nota : El dispositivo que se suscriba a este tema recibirá el mensaje configurado.
Introduzca el mensaje a enviar " haga clic en enviar.
Alternativamente, si desea enviar el mensaje como es de el editor, haga clic en "para adelante". Esto transmitirá los mensajes publicados como son para los suscriptor.
Este tipo de regla le permite enviar una respuesta basada en el mensaje recibido y se asocia sólo con el tema " no con el dispositivo. (i.e) Puede crear reglas específicas para cualquier tema de publicación " no se limita al dispositivo asociado con.
Este tipo de regla será útil para el escenario mencionado más abajo.
Consideremos que mi sensor de temperatura está publicando la temperatura datos en un rango de 0 a 50 y si alcanza el valor óptimo de 50, tengo que enviar un mensaje de alerta al suscriptor. Así que con el tema " tipo de regla del mensaje, Puedo establecer la condición de que, si los datos recibidos son = 50, entonces envía un mensaje de alerta ‘Temperatura alta’.
Nota:Esto es sólo un escenario de ejemplo, usted puede crear su propia regla basada en su necesidad.
Ahora introduce el tema que está a punto de recibir el mensaje aleatorio (sin configurar en reglas)
Nota:El dispositivo que se suscriba a este tema recibirá el mensaje configurado cuando el el estado establecido está satisfecho.
Introduzca el mensaje a enviar " haga clic en enviar.
Alternativamente, Si desea enviar el mensaje como es de el editor, haga clic en "para adelante". Esto transmitirá los mensajes publicados como son para el suscriptor en satisfacer el estado establecido.
Este tipo de regla le permite enviar una respuesta basada en el mensaje recibido y asociado con ambos temas " mensaje (es decir) Puedes crear regla específico a cualquier tema de publicación que esté asociado con el dispositivo particular.
Los pasos son los mismos que los del tipo de regla Cliente-Tema-Mensaje.
Nota:El dispositivo que se suscriba a este tema recibirá el mensaje configurado cuando el el estado establecido está satisfecho.
Introduzca el mensaje a enviar " haga clic en enviar.
Alternativamente, si desea enviar el mensaje como es de el editor, haga clic en "para adelante". Esto transmitirá los mensajes publicados como son para el suscriptor en satisfacer el estado establecido.
Timer Rule – Creación de reglas basada en la fecha y hora dadas.
Regla del temporizador ayuda a programar la regla para ejecutarla en una la fecha preferida. (i.e) Puede enviar una alerta para la fecha especificada.
Una vez hecho, el suscriptor recibirá la alerta cliente para la fecha mencionada.
AsegurarseSeguridad MQTTes vital para proteger datos sensibles y mantener la integridad de los sistemas de mensajería. Por abordar los aspectos clave de la seguridad del MQTT, las organizaciones pueden establecer una seguridad sólida posture for MQTT-based deployments, protect sensitive data, prevenir el acceso no autorizado y mantener la integridad y confidencialidad del MQTT comunicaciones.
Aquí hay tres niveles de seguridad empleados en Bevywise MQTT Broker:
La autenticación a nivel de dispositivo implica validar la identidad de los dispositivos conectarse al corredor MQTT. Esto es crucial para prevenir dispositivos no autorizados desde el acceso al corredor y garantiza que sólo los dispositivos de confianza pueden publicar y suscribirse Temas.
Esto le permite conectar sus dispositivos con mayor seguridad credenciales de autenticación. Esto requiere que usted active el campo de autenticación en mqtt. archivo conf presente en la carpeta conf.
Activar autenticación :
[DEVICE_AUTHENTICATION]
AUTORICACIÓN = DEFAULT
DEFAUT TENIDO DISABLED TENIDO CUSTOM
Guardar el archivo " reiniciar el broker.
Ahora ve a la UI de MQTT Broker. Usted encontrará el Menú 'Seguridad' mostrado. Puede crear sus credenciales de autenticación para una conexión segura del dispositivo.
Crear autenticación Credenciales :
Añadir MQTT Usuario (Access Key) y Contraseña (Access Token) que puede ser utilizado por ClientIds específicos. 'Clients' - se puede modificar a un solo ClienteId, o una lista de coma separados Cliente Ids (las tarjetas son compatibles). '* significa que los clientes con cualquier cliente Puede conectarse.
Estas credenciales también se pueden eliminar.
MQTT Nombre de usuario (Access Token) puede ser almacenado plana o como un digestivo en la base. Ajuste SECURE_MQTT_PASSWORD = TRUE en conf/datastore. Conf se almacenará MQTT Contraseñas como un digesto y no se mostrará en la UI.
SECURE_MQTT_PASSWORD = TRUE
♪ VERDADERO TENIDO FALSE
Guardar el archivo " reiniciar el broker.
Tenga en cuenta que cambiar esta configuración requiere soltar el base de datos existente.
ACLs se utilizan para definir permisos granulares y controlar qué dispositivos o clientes pueden realizar acciones específicas (por ejemplo, publicar, suscribir)Temas del MQTT. Este nivel de La seguridad ayuda a aplicar políticas de control de acceso bien arraigadas dentro del corredor MQTT.
Con ACL habilitado, puede especificar qué temas se permiten los dispositivos a publicar o suscribirse, así como qué temas se restringen de acceder.
Activar ACL
Para habilitar ACL, vaya al archivo 'mqtt.conf' en la carpeta 'conf'. Entonces ponte como sigue: TOPIC_ACL = TRUE. Guarda el archivo y reinicia el broker.
# Esto permite al Cliente Lista de control de acceso basado en nombres de usuario a temas
# Si TRUE, todos los temas están permitidos por defecto, a menos que los temas sean concedidos/denegados acceso
basado en cliente Id o nombre de usuario.
TOPIC_ACL = TRUE
♪ VERDADERO TENIDO FALSE
Activar la autenticación del dispositivo para utilizar MQTT Nombre de usuario basado en ACL.
Navegue al menú 'Security'
En la sección Lista de control de acceso, seleccione el nombre de usuario de MQTT
En la creación de MQTT Usuario/Password, los ajustes predeterminados de ACL son generado automáticamente que permite PUBLISH/SUBSCRIBE de todos los Temas. Esto se puede editar haciendo clic en 'Editar' en el nombre de usuario de MQTT.
Comma lista separada de Temas se puede configurar para ser permitido/denido para Publicar y Suscripción de cualquier Cliente conectar con este nombre de usuario MQTT. Tanto el Publish como el Subscribir Temas aceptar MQTT-like filtros.
(por ejemplo, habitación/+/temperatura)
También puede establecer ACL basado en el ClientId. ACL se puede añadir sólo a clientes ya conectados.
En el menú de seguridad, bajo la sección Lista de control de acceso, seleccione 'Clients' y añadir ACL para un cliente conectado.
Seguridad de la Capa de Transporte (TLS) o Cifrado de Sockets Seguro (SSL) añade una capa de seguridad por encriptando comunicaciones MQTT entre clientes y el corredor. Esto evita el escucha, manipulación o acceso no autorizado a los mensajes MQTT durante transmisión.
Activar TLS / SSL
Para habilitar TLS, establece TLS_ENCRYPTION = TRUE en conf/mqtt.conf :
TLS_ENCRYPTION = TRUE
[TLS]
# Usado sólo cuando TLS_ENCRYPTION = TRUE
TLS_PORT = 8883
TLS_PORT debe ser 88xx.
WSS_PORT = 11443
# Secure Websocket port of the Broker
SERVER_CERTIFICATE = ././Certificate/server/server.crt
SERVER_KEY = ./././Certificate/server/server.key
CA_CERTIFICATE = ././Certificate/root/root.crt
Como TLS está habilitado, el corredor comenzará a funcionar en el puerto 8883 en su lugar de 1883.
Nota:WSS_PORT_NO es iniciar la versión SSL MQTT en Websocket.
Por defecto, MQTTRoute viene con Auto-Firmado Certificado para Servidor. Usted puede encontrar los certificados dentroCrystalMQ/Certificate
SERVER_CERTIFICATE = ././Certificate/server/server.crt
SERVER_KEY = ./././Certificate/server/server.key
CA_CERTIFICATE = ././Certificate/root/root.crt
El certificado de arranque (root.crt) debe ser subido en el dispositivo / cliente para que el cliente pueda verifique que el certificado del servidor (server.crt) fue firmado por su certificado de raíz de confianza.
Si necesita crear su propio certificado auto-firmado, consulte a continuación.
Generar la clave de firma de la Autoridad de Certificados
$ opensl genrsa -des3 -out ca.key 2048
Introduzca la frase de paso para la clave y guardarla.
Resultado:
Generación de llave privada RSA, 2048 bit de largo módulo (2 primos)
...+++++
.++++
e is 65537 (0x010001)
Introduzca la frase de paso para ca.key:
Verificación - Introduzca la frase para ca.key:
Generar una solicitud de firma de certificados para la CA
$ opensl req -new -key ca.key -out ca-cert-request.csr -sha256
Introduzca cualquier nombre de organización (Eg. Bevywise) y deje a otros
vacío.
Resultado:
Introduzca la frase de paso para ca.key:
Se le pedirá que introduzca información que será incorporada
en su solicitud de certificado.
Lo que estás a punto de entrar es lo que se llama Nombre Distinguido o DN.
Hay bastantes campos pero puedes dejar algo en blanco
Para algunos campos habrá un valor predeterminado,
Si entras, el campo quedará en blanco.
---
Nombre del país (2 código de carta) [AU]:
Nombre del Estado o provincia (nombre completo) [algunos Estados]:
Localidad Nombre (por ejemplo, ciudad) []:
Nombre de organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]:Bevywise
Nombre de la Dependencia de Organización (por ejemplo, sección) []:
Nombre común (por ejemplo, servidor FQDN o SU nombre) []:
Correo electrónico []:
Por favor introduzca los siguientes atributos 'extra'
para ser enviado con su solicitud de certificado
Una contraseña de desafío []:
Un nombre de empresa opcional []:
Crear el certificado raíz de CA
$ opensl x509 -req -in ca-cert-request.csr -signkey ca.key -out ca-root.crt -days 365 -sha256
Resultado:
Firma bien
asunto=C = UA, ST = Some-State, O = Bevywise
Obtener clave privada
Introduzca la frase de paso para ca.key:
Crear el servidor / par de llaves de MQTT Broker
$ opensl genrsa -out server. clave 2048
Resultado:
Generación de llave privada RSA, 2048 bit de largo módulo (2 primos)
..............................+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.......................................................................................................................................................................................................................................................................................
..........................................++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++..........................................................................................
e is 65537 (0x010001)
Crear una solicitud de firma de certificados
Esto se puede hacer utilizando la tecla servidor (server.key) para enviar a la autoridad certificadora para la verificación de identidad
$ opensl req -nueva - servidor clave. llave -out servidor-cert-request.csr -sha256
Proporcionar cualquier nombre de organización (por ejemplo, Bevywise Inc) y entrar en el común
nombre.
Nombre del usuario (por ejemplo: tempmyaccount.mqtserver.com) debe ser el nombre de dominio de su servidor en
que el MQTT Broker está corriendo.
O introduzca localhost si MQTT Broker está operando en una máquina local.
Resultado:
Se le pedirá que introduzca información que será incorporada
en su solicitud de certificado.
Lo que estás a punto de entrar es lo que se llama Nombre Distinguido o DN.
Hay bastantes campos pero puedes dejar algo en blanco
Para algunos campos habrá un valor predeterminado,
Si entras, el campo quedará en blanco.
---
Nombre del país (2 código de carta) [AU]:
Nombre del Estado o provincia (nombre completo) [algunos Estados]:
Localidad Nombre (por ejemplo, ciudad) []:
Nombre de organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]:Bevywise Inc
Nombre de la Dependencia de Organización (por ejemplo, sección) []:
Nombre común (por ejemplo, servidor FQDN o SU nombre) []:tempmyaccount.mqtserver.com
Correo electrónico []:
Por favor introduzca los siguientes atributos 'extra'
para ser enviado con su solicitud de certificado
Una contraseña de desafío []:
Un nombre de empresa opcional []:
Crear y firmar el certificado del servidor
Este paso es crear un nuevo certificado de servidor y firmarlo con la potencia de la Autoridad de Certificados.
$ opensl x509 -req -in server-cert-request.csr -CA ca-root.crt -CAkey ca.key -CAcreateserial -out server.crt -days 360
Resultado:
Firma bien
subject=C = AU, ST = Some-State, O = Bevywise Inc, CN = tempmyaccount.mqtserver.com
Obtener CA Clave privada
Introduzca la frase de paso para ca.key:
Ahora tienes los siguientes certificados y la llave en mano.
Ahora, servidor.crt y servidor. clave debe ser subido en el servidor ../MQTTRoute/Certificate/servidor, y root.crt debe ser proporcionado en el cliente para que el cliente puede verifique que el certificado del servidor (server.crt) fue firmado por su certificado de raíz de confianza.
root.crt - .../MQTTRoute/Certificate/root
server.crt - .../MQTTRoute/Certificate/server
servidor.key - .../MQTTRoute/Certificate/servidor
nuevo -x509 -sha256 -nodos -días365 -newkey rsa:2048 - ¡Buena! root.key -out root.crt
Se le pedirá que introduzca el Nombre Distinguido aplicable (DN) información, totalizando siete campos:
Nombre del país (2 código de carta) [AU]:.
Nombre del Estado o provincia (nombre completo) [algunos Estados]:.
Localidad Nombre (por ejemplo, ciudad) []:.
Nombre de organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]:Bevywise
Nombre de la Dependencia de Organización (por ejemplo, sección) []:.
Nombre común (por ejemplo, servidor FQDN o SU nombre) []:
Correo electrónico []:[email protected]
Puede modificar los detalles basados en su necesidad.
Una vez completado, encontrará la raíz. crt y root. archivos clave creado bajo el ..\\ Directorio OpenSSL\bin\\
Crear par de teclas servidor :
Otra vez, navegar a la carpeta de bin de openssl y entrar en la siguientes comandos:
genrsa -out server.key2048
req -new -out server.csr - servidor de llave. clave
Se le pedirá que introduzca el Nombre Distinguido aplicable (DN) información, totalizando siete campos:
Nombre del país (2 código de carta) [AU]:.
Nombre del Estado o provincia (nombre completo) [algunos Estados]:.
Localidad Nombre (por ejemplo, ciudad) []:.
Nombre de organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]:Bevywise
Nombre de la Dependencia de Organización (por ejemplo, sección) []:
Nombre común (por ejemplo, servidor FQDN o SU nombre) []:mqtt.server.com
Correo electrónico []:[email protected]
Por favor, introduzca los siguientes atributos ‘extra’ que se enviarán con su solicitud de certificado.
Un reto contraseña []:
An Optional Company Name []:
Introduzca el siguiente comando en el prompt
x509 -req -in server.csr -CA root.crt - raíz de llave. clave -CACreateserial -out server.crt
Cargue los certificados creados en las carpetas respectivas.
root.crt in ../MQTTRoute/Certificate/root
server.crt in ../MQTTRoute/Certificate/server
server.crt in ../MQTTRoute/Certificate/server
En este ejemplo, usaremos certbot para generar LetsEncrypt Certificado y uso del certificado para permitir una comunicación segura TLS entre MQTTRoute y sus clientes.
Instalar certbot:
$ sudo snap install -classic certbot
$ sudo ln -s/snap/bin/certbot/usr/bin/certbot/
Crear certificado :
Sudo certbot certonly -standalone -d - No.
Los certificados serán creados y guardados en /etc/letsencrypt/live/según tu_domain
Establecer los caminos de estos certificados generados en Bevywise/MQTTRoute/conf/mqtt.conf
TLS_ENABLED = TRUE
SERVER_CERTIFICATE = /etc/letsencrypt/live/según su_domain Confes/fullchain.pem
SERVER_KEY = /etc/letsencrypt/live/según su_domain Confes/privkey.pem
CA_CERTIFICATE = /etc/letsencrypt/live/seguiste_domain confidencial/chain.pem
En este ejemplo, usaremos certbot para generar LetsEncrypt Certificado y uso que certificado para permitir una comunicación segura TLS entre MQTTRoute y sus clientes.
Instalar certbot:
Descargar la última versión del instalador Certbot para Windows de la url, https://dl.eff.org/certbot-beta-installer-win_amd64.exe.
Crear certificado :
Abrir el menú Inicio de Windows y lanzar Windows PowerShell como un Administrador.
Ingrese los siguientes comandos para solicitar un free Let's Encrypt SSL certificado.
PS = certbot -d
Los certificados serán creados y guardados en la carpeta en vivo de directorio de instalación. Establecer los caminos de estos certificados generados en Bevywise/MQTTRoute/conf/mqtt.conf
TLS_ENABLED = TRUE
SERVER_CERTIFICATE = /etc/letsencrypt/live/según su_domain Confes/fullchain.pem
SERVER_KEY = /etc/letsencrypt/live/según su_domain Confes/privkey.pem
CA_CERTIFICATE = /etc/letsencrypt/live/seguiste_domain confidencial/chain.pem
Las opciones para configurar cómo los datos se almacenan por Broker está en Bevywise/CrystalMQ/conf/datastore.conf.
Información de dispositivos ( ID de dispositivos y suscripciones) y MQTT Payload (Mensajes publicados/recibidos) son almacenados por el corredor en una de las bases de datos relacionales, por defecto. La relación bases de datos respaldadas por el Broker son: SQLite, MySQL, MSSQL & PostgreSQL. La UI utiliza esta base de datos.
Sin embargo, si los datos necesitan ser almacenados en alguna otra base de datos, fuera el Broker, entonces se puede configurar también.
Para almacenar información de dispositivos ( ID de dispositivos, suscripciones) y Carga de pago (Mensajes publicados/Recibidos) en la base de datos,
RELATIONAL_PERSISTENCE_ENABLED = TRUE
PAYLOAD_TO_DB = ENABLED
Si no desea almacenar tanto información de dispositivo como carga útil base de datos, luego se establece
RELATIONAL_PERSISTENCE_ENABLED = FALSE
En este caso, CrystalMQ UI NO está disponible. Por lo tanto, PAYLOAD_TO_DB es Supongo que es DISABLE.
Para almacenar sólo la información del dispositivo en la base de datos y NO el MQTT Carga de pago, set
RELATIONAL_PERSISTENCE_ENABLED = TRUE
PAYLOAD_TO_DB = DISABLED
En este caso, solo se puede ver información de dispositivo en la UI.
Veamos las Configuraciones de base de datos relacionales a continuación.
SQLITE es la opción de almacenamiento predeterminada en MQTTRoute. Y por defecto, Broker almacenará datos en SQLITE.
Puede comprobar las configuraciones establecidas en la datastore. Conf. DB_SERVER será establecido en SQLITE.
[CONFIG]
DB_SERVER = SQLITE
# SQLITE Silencioso MYSQL
Además, compruebe la información de SQLite Server. Se da una configuración de muestra infra:
[SQLITE]
# SQLITE Silencioso MYSQL
La base de datos SQLite se almacenará en el camino Fuente/Bevywise/CrystalMQ/data.
Para configurar MySQL Server como la base de datos relacional utilizada por CrystalMQ, establecido en Bevywise/CrystalMQ/conf/data_store.conf
DB_SERVER = MYSQL
Además, establece la información de MySQL Server. A continuación se proporciona una configuración de muestra.
[MYSQL]
DBHOST = 127.0.0.1
DBPORT = 3306
MYSQL_DB = Bevywise
MYSQL_USER = root
MYSQL_PASSWORD = root
Nota : La configuración del servidor debe ser obtenida desde su servidor MySQL.
Instalación de conexión de MYSQL :
Instalar el conector MYSQL y otras dependencias ejecutando abajo
Comando.
../MQTTRoute/bin
Windows
install_mysql_connector.bat
Linux
$ sh install_mysql_connector.sh
Para configurar MSSQL Server como la base de datos relacional utilizada por CrystalMQ, establecido en Bevywise/CrystalMQ/conf/datastore.conf
DB_SERVER = MSSQL
Además, establece la información MSSQL Server. A continuación se proporciona una configuración de muestra
[MSSQL]
DRIVER = ODBC Driver 17 para SQL Server
SERVER_NAME =
DBPORT = 1434
MSSQL_DB = audaz
MSSQL_USER = sa
MSSQL_PASSWORD =
En Linux, establecer SERVER_NAME como el valor de “Descripción” en el archivo: /etc/odbcinst.ini
Para configurar PostgreSQL Servidor como base de datos relacional utilizada por CrystalMQ, establecido en Bevywise/CrystalMQ/conf/datastore.conf
DB_SERVER = POSTGRES
También, set PostgreSQL Información del servidor. Se da una configuración de muestra infra
[POSTGRES]
PSQLHOST = 127.0.0.1
PSQLPORT = 5432
PSQL_DB
PSQL_USER = postgres
PSQL_PASSWORD = administración
MQTT Sparkplug Bdepende de un corredor de MQTT para facilitar la comunicación entre dispositivos industriales, sensores y aplicaciones como SCADA, historiadores, etc. El corredor MQTT sirve como el subyacente comunicación infraestructura que se adhiere aMQTT protocoloestándares y maneja el enrutamiento de mensajes compatibles con Sparkplug B.
Dispositivos y aplicaciones compatibles con Sparkplug B publican y suscriben temas sobre el corredor de MQTT, siguiendo los formatos y directrices de datos estructurados especificados por el protocolo Sparkplug B.
El broker MQTT proporciona la columna vertebral de comunicación y el protocolo MQTT Sparkplug B define las normas y convenios para el intercambio de datos dentro de los ecosistemas industriales IoT, aprovechando capacidades del protocolo MQTT para una automatización y monitoreo industriales eficientes, fiables y escalables.
Nuestro broker, por defecto, admite dispositivos habilitados para Sparkplug sin requerir cambios en la configuración archivo. Sin embargo, es esencial para verificar que el ajuste 'authentication' está habilitado en el mqtt. Conf file.
AUTHENTICATION = TRUE
AsegurarseAlto Disponibilidad, se pueden utilizar más de 1 corredores robustos. Nuestro CrystalMQ con el incorporadoInter-Broker Communicator (IBC)permite que todos los corredores del grupo hablen entre sí asegurando comunicación continua con los dispositivos de ambos modos Independientemente de que los clientes se conecten con cualquier corredor del grupo.
Un balanceador de carga se puede configurar en el borde del dispositivo para equilibrar el Carga.
Para obtener más información sobre la funcionalidad del comunicador inter-broker, lea nuestro blog de alta disponibilidad.
Para habilitar alta disponibilidad en CrystalMQ, debe activar el Communicator inter-broker primero.
La característica del comunicador interbroker integrado (IBC) garantiza que sea inigualable comunicación entre todos los corredores dentro de un grupo. Esto garantiza una conectividad continua con dispositivos en ambas direcciones, independientemente de a qué clientes de corredor se conectan.
Para habilitar IBC después de instalar MQTTRoute en las máquinas de corretaje, modifique el configuración en Bevywise/MQTTRoute/conf/mqtt.conf como sigue:
CLUSTERING_ENABLED Sí.
La siguiente ilustración demuestra la configuración:
En este arreglo se agrupan dos o más corredores con IBC habilitados para formar un grupo. A continuación, se configura un balanceador de carga para distribuir cargas de trabajo uniformemente a través de estos corredores. All MQTT corredores dentro del grupo permanecer activo, y IBC dentro de cada corredor garantiza la comunicación persistente utilizando un compartido Base de datos (BD). Esto significa que los corredores no se comunican directamente entre sí. En su lugar, empujan los datos al central database, allowing other corredores para acceder a estos datos. Como resultado, cada corredor tiene acceso a los datos y datos del cliente.
Nota:Usted tiene la flexibilidad de seleccionar cualquier balanceador de carga
que se adapte a sus necesidades.
Para una comprensión más completa de la configuración de balanceador de carga Nginx, recomendamos
comprobar nuestro blog detallado en alta disponibilidad.
Si usted ha optado por utilizar Azure como su balanceador de carga, sugerimos referirnos a nuestro dedicado
blog post en
Configuración de balanceador de carga azure para mayor claridad.
Refer :IoT
Aplicación en el blog Azure
Para ejecutar el MQTT Broker como servicio, necesitamos la versión 5,25 Monit. Monit es una dinámica de código abierto herramienta de monitoreo para sistemas Linux que se utiliza para monitorizar y gestionar procesos del sistema. Y también, realiza automático mantenimiento o reparación de un proceso particular (es decir, reiniciar el servicio) y ejecutar significativa acciones informales en condiciones de error cuando sea necesario.
Descargar & Install Monito:
$ sudo apt install monit
Sudo systemctl disable monit
# https://monit.com/monit/dist/binary/5.25.2/monit-5.25.2-linux-x64.tar.gz
Extraiga el archivo usando el comando siguiente:
$ tar -xvzf (Por ejemplo -$ tar -xvzf monit-5.25.2-linux-x64.tar.gz
Copiar archivo monitrc y pegar en la siguiente ubicación:
$ sudo cp monit-5.25.2/con/monitrc/etc/
$ sudo chmod 700 /etc/mmonitrc
Interfaz HTTP Monit:
Permitir la interfaz HTTP por un comentario de las siguientes líneas en /etc/monitrc file.
set httpd port 2812 and
use address localhost # only accept connection from localhost (drop if you use M/Monit)
permitir que localhost # permita que localhost se conecte al servidor y
Permitir administración: monit # require user ‘admin’ with password ‘monit ’
Si desea que puede cambiar admin:monit con nombre de usuario y contraseña usted querer usar
Inicio Monito :
$ cd monit-5.25.2/bin/
Sudo Pkill -9 dinero
Sudo ./monit
Open Monit UI usando la siguiente URL en su navegador web http://localhost:2812
CrystalMQ tiene ciertas extensiones para hacerlo flexible para los usuarios. Puedes personalizarlo basado en tus necesidades.
Estas extensiones personalizadas se pueden utilizar individualmente o en combinaciones a cumplir sus requisitos más allá de un MQTT Broker.
En CrystalMQ/extensions/extension_globals.py, hay objetos que se puede utilizar para consultar la base de datos interna, para enviar actualizaciones en vivo a la interfaz de usuario y para enviar mensajes a cliente conectado.
Estos objetos se pueden utilizar en las extensiones para producir convincentes personalizaciones.
Por defecto, la autenticación de dispositivos es hecha por el Broker. Pero, si la autenticación debe hacerse fuera del Broker, entonces esta opción se puede utilizar estableciendo en Bevywise/MQTTRoute/conf/mqtt.conf
AUTHENTICATION = CUSTOM
[DEVICE_AUTHENTICATION]En este caso, el Usuario/Password enviado por dispositivos se reciben en el método custom_authenticate(nombre de usuario, contraseña, clienteid, ipaddress) en CrystalMQ/extensions/custom_authentication.py
Este método se puede actualizar para autenticar los dispositivos, la forma en que Requiere. (por ejemplo, HTTP Solicitud a un servidor LDAP externo)
AI / ML juega un papel importante en cualquier implementación de IoT. Así que los datos recibidos de los diferentes sensores necesita ser modelado y almacenado en cualquier motor de datos BIG para más análisis y toma de decisiones. MQTT Route proporciona una opción llamada la tienda personalizada para recibir datos en el extremo posterior para ser almacenado según sea necesario.
Aduanas La implementación de las tiendas se utiliza para conectar la carga útil recibida de MQTT Broker y almacenar la carga útil en cualquiera de sus análisis / gran motor de datos. Para configurar, en conf/datastore.conf
DATA_INTEGRATION = TRUE
En CrystalMQ/extensions/custom_store.py, hay dos ganchos método:
on_message_received_hook(data) - Este método obtiene datos cada vez que un cliente lo publica.
on_message_sent_hook(data) - Este método obtiene datos cada vez que se envía a un cliente.
Los datos se transmitirán en formato JSON con las siguientes claves:
datos: {
"Sender":
UI servidor personalizado ofrece una opción para personalizar la interfaz de usuario. Tú. puede alterar el código en el archivo CrystalMQ/extensions/custom_ui_server.py como usted necesita para personalizarlo. Tú. podrá configurar su dashboard para ver los datos del dispositivo según sus necesidades. Puedes agregar tu propio requisitos, detalles del dispositivo o notificaciones a la interfaz del usuario según sea necesario. La UI personalizada servidor le ayudará a personalizar la interfaz de usuario del CrystalMQ añadiendo su propio código en el lado servidor. Añade tu nueva funcionalidad usando la URL y el método correspondiente. Estas URL pueden ser invocadas de su interfaz de usuario para manipular datos.
El programador personalizado le ayudará a crear sus propios trabajos programados en
Cristal MQ agregando su propio código en el lado del servidor.
Trabajos y horarios añadidos a CrystalMQ/extensions/custom_scheduler.py serán recogidos por el
Broker. Para habilitar esto, se establece en el método custom_schedules()habilitador Las horarios = Verdadero
¿Lista para ampliar el poder de su corredor auto hospedado?
Desbloquear herramientas de monitoreo, funciones de automatización y soporte a nivel de expertos explora nuestros planes avanzados construidos para crecer con usted.