Insights de la industria
2026-06-10 17:49:00
Análisis del principio de funcionamiento de MQTT
MQTT es un protocolo ligero de mensajería de publicación/suscripción que usa brokers, temas, sesiones, niveles QoS, mensajes retenidos y paquetes eficientes para IoT, telemetría y comunicación en tiempo real.

Becke Telcom

Análisis del principio de funcionamiento de MQTT

MQTT es un protocolo de mensajería ligero diseñado para una comunicación eficiente entre dispositivos, aplicaciones, sensores, pasarelas, plataformas en la nube y sistemas de control. Se utiliza ampliamente en redes IoT, sistemas de telemetría, edificios inteligentes, supervisión industrial, plataformas vehiculares, sistemas de energía, automatización del hogar, gestión remota de equipos y aplicaciones móviles donde el ancho de banda, la energía o la estabilidad de la red pueden ser limitados.

El protocolo se basa en un modelo de publicación/suscripción. En lugar de que un dispositivo envíe datos directamente a otro, los mensajes se envían a un broker. Después, el broker distribuye esos mensajes a los clientes que se han suscrito a temas coincidentes. Esta estructura hace que la comunicación sea flexible, escalable y adecuada para sistemas con muchos dispositivos que no necesitan conocer la dirección de red de los demás.

Otra forma de entender la mensajería entre dispositivos

La comunicación cliente-servidor tradicional suele funcionar como una petición y una respuesta directas. Un cliente solicita información a un servidor y el servidor responde. MQTT sigue una idea distinta. Un dispositivo puede publicar un mensaje sin saber quién lo recibirá, mientras que otro puede suscribirse a un tema sin saber quién publicará en él.

Esta separación es útil en sistemas distribuidos grandes. Un sensor de temperatura no necesita saber qué panel, base de datos, aplicación móvil o regla de automatización consumirá sus datos. Solo tiene que publicar en un tema definido. El broker se encarga de la distribución.

El resultado es un patrón de comunicación que reduce el acoplamiento fuerte entre dispositivos. Los sistemas pueden añadir nuevos suscriptores sin cambiar el sensor. También pueden añadir nuevos publicadores sin reescribir cada aplicación. Esta es una de las razones por las que el protocolo es popular en diseños de IoT y telemetría.

Arquitectura MQTT de publicación y suscripción con sensor pasarela broker panel en la nube y aplicación móvil
MQTT utiliza un modelo de publicación/suscripción centrado en el broker para distribuir mensajes entre dispositivos, aplicaciones, paneles y servicios en la nube.

El broker como centro de mensajes

El broker es el componente central de la arquitectura. Acepta conexiones de clientes, autentica clientes cuando es necesario, recibe mensajes publicados, compara temas con suscripciones y reenvía los mensajes a los suscriptores correctos.

Un broker puede ejecutarse en una plataforma en la nube, un servidor privado, una pasarela de borde, un ordenador industrial, un dispositivo integrado o un servicio de mensajería gestionado. En despliegues pequeños, un solo broker puede manejar todo el tráfico. En despliegues grandes, varios brokers pueden agruparse, enlazarse, balancearse o distribuirse entre regiones.

El broker también controla muchos comportamientos operativos, como el estado de sesión, los mensajes retenidos, el control de acceso, la entrega por calidad de servicio, el tiempo de espera de keepalive, los límites de conexión, la autorización por tema y la persistencia de mensajes. Por eso, el diseño del broker influye directamente en la fiabilidad, la escalabilidad y la seguridad.

Ciclo de vida de la conexión

El cliente establece una sesión

Primero, el cliente abre una conexión de red con el broker. MQTT suele ejecutarse sobre TCP, y los despliegues seguros normalmente usan cifrado TLS. Después de establecer la conexión de transporte, el cliente envía un paquete CONNECT con información como ID de cliente, datos de autenticación, valor keepalive, comportamiento de sesión y ajustes opcionales de mensaje de última voluntad.

El broker revisa la solicitud de conexión y responde con un paquete CONNACK. Si la conexión se acepta, el cliente puede empezar a publicar, suscribirse, cancelar suscripciones y recibir mensajes. Si se rechaza, el broker proporciona una razón según la versión del protocolo y la configuración.

El latido mantiene activo el enlace

El mecanismo keepalive ayuda a ambas partes a detectar conexiones rotas. Si no se ha intercambiado ningún dato dentro del tiempo acordado, el cliente envía un paquete PINGREQ y el broker responde con PINGRESP.

Esto es importante porque los dispositivos IoT pueden operar en redes inestables, enlaces móviles, Wi-Fi, conexiones celulares, enlaces satelitales o rutas WAN remotas. Una red puede fallar en silencio sin cerrar la conexión correctamente. Keepalive ayuda a detectar esta condición.

Desconexión y reconexión

Un cliente puede desconectarse normalmente enviando un paquete DISCONNECT. También puede desaparecer de forma inesperada por pérdida de energía, fallo de red, bloqueo de firmware o pérdida de señal. El broker aplica entonces las reglas de sesión y de mensaje de última voluntad configuradas para ese cliente.

El comportamiento de reconexión es importante en despliegues reales. Los dispositivos deben manejar las interrupciones de red de forma controlada, evitar tormentas de reconexión y reanudar la comunicación de acuerdo con la política de sesión requerida.

Nombres de temas y enrutamiento de mensajes

Los temas son rutas de texto utilizadas para clasificar mensajes. Un tema puede parecer una jerarquía, como building/floor1/room102/temperature o factory/line3/motor7/status. Los publicadores envían mensajes a temas, y los suscriptores reciben mensajes de los temas a los que se suscriben.

Un buen diseño de temas es una de las partes más importantes de un despliegue correcto. Los nombres deben ser previsibles, legibles y alineados con la estructura real del sistema. Un mal diseño dificulta el filtrado, los permisos, la supervisión y el mantenimiento a largo plazo.

Los suscriptores pueden usar temas exactos o suscripciones con comodines. Un comodín de un solo nivel puede coincidir con un nivel del tema, mientras que un comodín multinivel puede coincidir con muchos niveles. Los comodines son útiles para paneles, plataformas analíticas, herramientas de supervisión y aplicaciones de gestión que necesitan recibir mensajes de muchos dispositivos.

Flujo de publicación y suscripción

Publicación de datos

Cuando un cliente publica datos, envía un paquete PUBLISH al broker. El paquete incluye el nombre del tema, la carga útil, el nivel de calidad de servicio, la bandera retenida y el identificador de paquete cuando el nivel QoS seleccionado lo requiere.

La carga útil puede contener muchos formatos de datos. Puede ser texto plano, JSON, datos binarios, valores de sensores, mensajes de estado, comandos, alarmas, registros de telemetría o datos de aplicación codificados. MQTT no define el significado de la carga útil; la aplicación decide cómo estructurarla e interpretarla.

Recepción de suscripciones

Un cliente se suscribe enviando un paquete SUBSCRIBE con uno o varios filtros de tema. El broker responde con SUBACK y comienza a entregar los mensajes coincidentes al cliente según el nivel QoS solicitado y concedido.

Los suscriptores pueden ser paneles, bases de datos, motores de automatización, servicios en la nube, aplicaciones móviles, controladores de dispositivos u otros equipos de campo. Un mensaje publicado puede entregarse a muchos suscriptores al mismo tiempo.

Eliminación del interés

Cuando un cliente ya no quiere ciertos mensajes, envía un paquete UNSUBSCRIBE. El broker deja de reenviar mensajes de temas coincidentes después de confirmar la solicitud.

Esto permite que las aplicaciones cambien dinámicamente su interés por los datos. Por ejemplo, un panel puede suscribirse a un edificio mientras el usuario lo visualiza y cancelar la suscripción cuando se mueve a otro sitio.

El modelo de publicación/suscripción permite que productores y consumidores de datos evolucionen de forma independiente, mientras el broker gestiona el enrutamiento, el comportamiento de sesión y el control de entrega.

Niveles de calidad de servicio

QoS 0: como máximo una vez

QoS 0 es el nivel de entrega más simple. El mensaje se envía una vez y no hay confirmación del receptor en la capa MQTT. Si el mensaje se pierde, el protocolo no lo retransmite.

Este nivel es útil para telemetría frecuente cuando perder una actualización ocasional es aceptable. Por ejemplo, un sensor de temperatura que envía datos cada pocos segundos puede no necesitar que llegue cada lectura.

QoS 1: al menos una vez

QoS 1 requiere confirmación. El emisor retransmite el mensaje si no recibe confirmación. Esto mejora la fiabilidad de entrega, pero el receptor puede recibir mensajes duplicados.

Las aplicaciones que usan QoS 1 deben estar preparadas para manejar duplicados. Es común en alarmas, cambios de estado, comandos y telemetría importante donde la entrega importa más que evitar la repetición.

QoS 2: exactamente una vez

QoS 2 utiliza un intercambio más complejo para garantizar que un mensaje se entregue exactamente una vez a nivel de protocolo. Ofrece la garantía de entrega más fuerte, pero añade más sobrecarga y latencia.

Este nivel puede utilizarse cuando el procesamiento duplicado sería perjudicial. Sin embargo, muchos despliegues reales usan QoS 0 o QoS 1 porque ofrecen un mejor equilibrio entre rendimiento y fiabilidad.

Niveles QoS de MQTT que muestran entrega como máximo una vez al menos una vez y exactamente una vez
Los niveles QoS permiten elegir distintos compromisos entre velocidad, fiabilidad, manejo de duplicados y sobrecarga del protocolo.

Mensajes retenidos y último estado conocido

Un mensaje retenido es almacenado por el broker como el mensaje más reciente de un tema. Cuando un nuevo suscriptor se suscribe a ese tema, el broker envía inmediatamente el mensaje retenido para que el suscriptor vea el último estado conocido.

Esto es útil para información de estado como estado en línea del dispositivo, estado de un interruptor, valor de sensor, versión de configuración, estado de alarma o modo operativo actual. Sin mensajes retenidos, un nuevo suscriptor podría tener que esperar hasta la siguiente actualización para conocer la condición actual.

Los mensajes retenidos deben usarse con cuidado. Son útiles para estados, pero no siempre son adecuados para flujos de eventos. Un evento retenido de “puerta abierta” puede confundir a un nuevo suscriptor si ya no es cierto. Los temas de estado y de eventos deben diseñarse por separado.

Comportamiento de sesión y entrega sin conexión

MQTT admite un comportamiento de sesión que determina qué ocurre cuando un cliente se desconecta y luego se reconecta. Según la versión del protocolo y la configuración, el broker puede almacenar suscripciones, mensajes en cola y estado de sesión para un cliente.

Esto es útil para dispositivos que duermen, se mueven entre redes o pierden conectividad temporalmente. Cuando el dispositivo vuelve a conectarse, puede seguir recibiendo mensajes que quedaron en cola mientras estaba desconectado, siempre que la política de sesión y las reglas QoS lo permitan.

La persistencia de sesión debe coincidir con el rol del dispositivo. Un sensor con batería puede no necesitar que todos los comandos queden en cola indefinidamente. Un controlador remoto puede requerir actualizaciones de configuración en cola. Demasiada cola sin conexión consume recursos del broker, y muy poca puede provocar comandos perdidos.

Mensajes de última voluntad para fallos inesperados

Un mensaje de última voluntad permite que un cliente defina un mensaje que el broker debe publicar si el cliente se desconecta de forma inesperada. Esto ayuda a otros sistemas a detectar fallos de dispositivo, pérdida de red o apagados anormales.

Por ejemplo, un dispositivo puede definir un mensaje de última voluntad en un tema de estado como device/123/status. Si el dispositivo pierde energía sin enviar una desconexión normal, el broker publica el mensaje sin conexión configurado.

Esta función se usa ampliamente en paneles de supervisión, sistemas de salud de dispositivos, telemetría industrial, supervisión de pasarelas y gestión remota de activos. Ofrece una forma sencilla de exponer desconexiones anormales a otras partes del sistema.

Seguridad y control de acceso

Autenticación

El broker debe verificar la identidad del cliente antes de permitir el acceso. La autenticación puede usar nombre de usuario y contraseña, certificados de cliente, tokens, credenciales API o integración con un sistema externo de identidad.

Una autenticación débil puede permitir que dispositivos no autorizados publiquen datos falsos, se suscriban a temas sensibles o interrumpan el entorno de mensajería.

Autorización

Después de verificar la identidad, el broker debe decidir en qué temas puede publicar el cliente y a cuáles puede suscribirse. Un sensor no debería poder publicar comandos a dispositivos no relacionados. Una aplicación de un inquilino no debería recibir datos de otro inquilino.

Los permisos a nivel de tema son esenciales en despliegues con múltiples dispositivos, sitios y clientes.

Cifrado

El cifrado TLS protege los datos en tránsito entre clientes y broker. Es importante cuando los mensajes viajan por redes públicas, redes celulares, conexiones en la nube o infraestructura no confiable.

El cifrado debe combinarse con gestión de certificados, almacenamiento seguro de claves y aprovisionamiento cuidadoso de clientes. Una capa de transporte segura no ayuda si las credenciales quedan expuestas en firmware o archivos de configuración.

Patrones de despliegue

Del dispositivo a la nube

En muchos sistemas IoT, sensores y pasarelas publican datos en un broker de nube. Las aplicaciones en la nube luego almacenan, visualizan, analizan y actúan sobre los datos. Este modelo es común en edificios inteligentes, gestión energética, supervisión de flotas y plataformas de equipos remotos.

Las principales preocupaciones de diseño son seguridad, resiliencia de red, identidad de dispositivos, volumen de mensajes y escalado en la nube.

Agregación mediante pasarela de borde

Una pasarela de borde puede recoger datos de dispositivos locales y publicar datos resumidos o filtrados en un broker central. También puede suscribirse a temas de comandos y reenviar instrucciones a equipos locales.

Esto reduce el ancho de banda, mejora el control local y permite que el sitio mantenga algunas funciones incluso cuando la conexión con la nube no está disponible.

Broker local para sistemas de sitio

Algunos despliegues usan un broker local dentro de una fábrica, edificio, laboratorio, campus o sala de control. Los dispositivos y aplicaciones intercambian datos localmente con baja latencia y menor dependencia de redes externas.

Un broker local puede luego enlazar datos seleccionados con una plataforma en la nube o empresarial. Esto da a los diseñadores más control sobre el flujo de datos y la dependencia de red.

Patrones de despliegue MQTT incluyendo dispositivo a nube pasarela de borde broker local e integración empresarial
Los patrones comunes incluyen mensajería de dispositivo a nube, agregación en pasarela de borde, brokers locales de sitio e integración con plataformas empresariales.

Aplicaciones en sistemas conectados

Supervisión industrial

Fábricas y servicios públicos usan MQTT para recopilar estado de equipos, datos de sensores, alarmas, valores energéticos, lecturas de temperatura, vibraciones y métricas de producción. El protocolo encaja en entornos donde muchos dispositivos envían mensajes pequeños a plataformas de supervisión.

Los despliegues industriales deben considerar segmentación de red, redundancia de broker, selección de QoS, estado retenido y aprovisionamiento seguro de dispositivos.

Edificios inteligentes

Los sistemas de edificios pueden usar el protocolo para conectar iluminación, HVAC, control de acceso, sensores de ocupación, medidores, ascensores, paneles de sala y paneles de control. La estructura de temas puede reflejar la jerarquía de edificio, planta, sala y dispositivo.

Esto facilita organizar los datos y ayuda a que las reglas de automatización se suscriban solo a eventos o estados relevantes.

Energía y medición

Las plataformas energéticas pueden usar MQTT para recopilar lecturas de medidores, datos de inversores, estado de baterías, información de carga y telemetría relacionada con la red. La mensajería ligera es útil cuando muchos dispositivos informan pequeños valores periódicamente.

Como los sistemas energéticos pueden afectar facturación, control o seguridad, la autenticación y la integridad de mensajes deben tratarse con cuidado.

Vehículos conectados y movilidad

Plataformas vehiculares, estaciones de carga, sistemas de flota y servicios de movilidad pueden usar el protocolo para telemetría, actualizaciones de ubicación, diagnósticos, alertas y funciones de control remoto.

Las redes móviles pueden ser inestables, por lo que el manejo de sesión, la lógica de reconexión y un diseño eficiente de la carga útil son importantes.

Consumo y automatización del hogar

Los sistemas de automatización doméstica usan MQTT para conectar sensores, interruptores, luces, termostatos, cámaras, hubs y reglas de automatización. El modelo de publicación/suscripción facilita que un evento de sensor active varias acciones.

En despliegues domésticos, una nomenclatura sencilla de temas y una configuración segura del broker local son importantes para evitar confusión y acceso no autorizado.

Consideraciones de rendimiento y escalabilidad

El tamaño del mensaje debe mantenerse razonable. MQTT es eficiente para mensajes pequeños, pero no es ideal para archivos muy grandes o flujos multimedia pesados. Las cargas grandes pueden aumentar el uso de memoria del broker, la congestión de red y el retraso de procesamiento.

El diseño de temas afecta al rendimiento. El uso excesivo de suscripciones con comodines amplios puede aumentar la carga del broker porque muchos mensajes deben coincidir y entregarse a muchos clientes. Una jerarquía clara ayuda a escalar de forma más previsible.

El número de conexiones es otro factor. Un broker que atiende a miles o millones de clientes debe gestionar tráfico keepalive, autenticación, estado de sesión, mensajes retenidos, mensajes en cola y límites de red. La escalabilidad puede requerir clustering, balanceo de carga, agregación en el borde o partición de temas.

El nivel QoS también afecta al rendimiento. QoS 2 ofrece semánticas de entrega más fuertes, pero crea más intercambio de paquetes. Para telemetría de gran volumen, puede ser más práctico usar QoS 0 o QoS 1 con lógica a nivel de aplicación.

Errores comunes de diseño

Nombres de temas poco claros

Los nombres de temas aleatorios o inconsistentes dificultan la gestión de permisos, paneles, alertas y análisis. Debe crearse un plan de temas antes de un despliegue a gran escala.

Usar mensajes retenidos para eventos

Los mensajes retenidos son mejores para el estado actual. Usarlos para eventos puntuales puede engañar a nuevos suscriptores porque pueden recibir un evento antiguo como si acabara de ocurrir.

Sin manejo de duplicados

QoS 1 puede entregar duplicados. Las aplicaciones deben usar marcas de tiempo, ID de mensaje, números de secuencia o procesamiento idempotente cuando los duplicados puedan causar problemas.

Gestión débil de credenciales

Contraseñas compartidas codificadas, ID de cliente reutilizados y certificados sin protección pueden crear riesgos de seguridad graves. Cada dispositivo debe tener una identidad gestionable y una ruta de revocación.

Ignorar el fallo del broker

El broker es central para la arquitectura. Si falla y no hay redundancia ni plan de recuperación, la comunicación puede detenerse. Los despliegues críticos deben considerar clustering, brokers de respaldo, diseño de puente o comportamiento local de reserva.

MQTT funciona bien cuando temas, sesiones, QoS, estado retenido, seguridad y capacidad del broker se diseñan en conjunto, no como ajustes aislados.

Mantenimiento y supervisión

Los equipos de operación deben supervisar CPU del broker, memoria, número de conexiones, tasa de mensajes, cantidad de mensajes retenidos, número de suscripciones, mensajes en cola, fallos de autenticación, conexiones caídas y latencia de red.

La salud de los clientes también debe ser visible. Reconexiones repetidas, sesiones expiradas, ID de cliente duplicados, tasas anormales de publicación y accesos inesperados a temas pueden indicar fallos de dispositivo o problemas de seguridad.

Las copias de seguridad de configuración son importantes. Ajustes del broker, listas de control de acceso, certificados, políticas de temas, ajustes de puente y comportamiento de estado retenido deben documentarse y poder recuperarse.

Preguntas frecuentes

¿Puede MQTT funcionar sobre WebSocket?

Sí. Muchos brokers admiten MQTT sobre WebSocket, lo que permite a aplicaciones basadas en navegador y paneles web comunicarse mediante rutas de transporte compatibles con la web.

¿Es adecuado para enviar video o archivos grandes?

Normalmente no como método principal. Es mejor para mensajes pequeños, telemetría, eventos, comandos y actualizaciones de estado. Los archivos grandes suelen transferirse mediante otros protocolos, con un mensaje que lleva la referencia del archivo.

¿Qué ocurre si dos clientes usan el mismo ID de cliente?

Muchos brokers desconectarán al cliente existente cuando un nuevo cliente se conecte con el mismo ID. Los ID de cliente únicos son importantes para un comportamiento de sesión estable.

¿Puede un broker conectarse a otro broker?

Sí. El puente entre brokers o el clustering pueden usarse para intercambiar temas seleccionados entre sitios, regiones, pasarelas de borde y plataformas en la nube, según la capacidad del broker.

¿Cómo deben planificarse los nombres de tema?

Use una jerarquía coherente basada en sitio, sistema, dispositivo, tipo de datos y función. Evite nombres aleatorios, información sensible en las rutas de temas y dependencia excesiva de comodines amplios.

Productos Recomendados
Catálogo
Servicio al cliente Teléfono
We use cookie to improve your online experience. By continuing to browse this website, you agree to our use of cookie.

Cookies

This Cookie Policy explains how we use cookies and similar technologies when you access or use our website and related services. Please read this Policy together with our Terms and Conditions and Privacy Policy so that you understand how we collect, use, and protect information.

By continuing to access or use our Services, you acknowledge that cookies and similar technologies may be used as described in this Policy, subject to applicable law and your available choices.

Updates to This Cookie Policy

We may revise this Cookie Policy from time to time to reflect changes in legal requirements, technology, or our business practices. When we make updates, the revised version will be posted on this page and will become effective from the date of publication unless otherwise required by law.

Where required, we will provide additional notice or request your consent before applying material changes that affect your rights or choices.

What Are Cookies?

Cookies are small text files placed on your device when you visit a website or interact with certain online content. They help websites recognize your browser or device, remember your preferences, support essential functionality, and improve the overall user experience.

In this Cookie Policy, the term “cookies” also includes similar technologies such as pixels, tags, web beacons, and other tracking tools that perform comparable functions.

Why We Use Cookies

We use cookies to help our website function properly, remember user preferences, enhance website performance, understand how visitors interact with our pages, and support security, analytics, and marketing activities where permitted by law.

We use cookies to keep our website functional, secure, efficient, and more relevant to your browsing experience.

Categories of Cookies We Use

Strictly Necessary Cookies

These cookies are essential for the operation of the website and cannot be disabled in our systems where they are required to provide the service you request. They are typically set in response to actions such as setting privacy preferences, signing in, or submitting forms.

Without these cookies, certain parts of the website may not function correctly.

Functional Cookies

Functional cookies enable enhanced features and personalization, such as remembering your preferences, language settings, or previously selected options. These cookies may be set by us or by third-party providers whose services are integrated into our website.

If you disable these cookies, some services or features may not work as intended.

Performance and Analytics Cookies

These cookies help us understand how visitors use our website by collecting information such as traffic sources, page visits, navigation behavior, and general interaction patterns. In many cases, this information is aggregated and does not directly identify individual users.

We use this information to improve website performance, usability, and content relevance.

Targeting and Advertising Cookies

These cookies may be placed by our advertising or marketing partners to help deliver more relevant ads and measure the effectiveness of campaigns. They may use information about your browsing activity across different websites and services to build a profile of your interests.

These cookies generally do not store directly identifying personal information, but they may identify your browser or device.

First-Party and Third-Party Cookies

Some cookies are set directly by our website and are referred to as first-party cookies. Other cookies are set by third-party services, such as analytics providers, embedded content providers, or advertising partners, and are referred to as third-party cookies.

Third-party providers may use their own cookies in accordance with their own privacy and cookie policies.

Information Collected Through Cookies

Depending on the type of cookie used, the information collected may include browser type, device type, IP address, referring website, pages viewed, time spent on pages, clickstream behavior, and general usage patterns.

This information helps us maintain the website, improve performance, enhance security, and provide a better user experience.

Your Cookie Choices

You can control or disable cookies through your browser settings and, where available, through our cookie consent or preference management tools. Depending on your location, you may also have the right to accept or reject certain categories of cookies, especially those used for analytics, personalization, or advertising purposes.

Please note that blocking or deleting certain cookies may affect the availability, functionality, or performance of some parts of the website.

Restricting cookies may limit certain features and reduce the quality of your experience on the website.

Cookies in Mobile Applications

Where our mobile applications use cookie-like technologies, they are generally limited to those required for core functionality, security, and service delivery. Disabling these essential technologies may affect the normal operation of the application.

We do not use essential mobile application cookies to store unnecessary personal information.

How to Manage Cookies

Most web browsers allow you to manage cookies through browser settings. You can usually choose to block, delete, or receive alerts before cookies are stored. Because browser controls vary, please refer to your browser provider’s support documentation for details on how to manage cookie settings.

Contact Us

If you have any questions about this Cookie Policy or our use of cookies and similar technologies, please contact us at support@becke.cc .