MXTT MQTT Explorer

Documentación generada automáticamente para los módulos de MXTT.

Módulos

debug.debug(*args, **kwargs)

Función de debug centralizada, compatible con UI y consola.

Parameters:
  • *args – Mensajes o valores a mostrar.

  • **kwargs – Argumentos adicionales para icecream.ic.

Returns:

None

debug.set_debug_callback(callback)

Registra una función de callback para redirigir los mensajes de debug. :type callback: :param callback: Función que recibe el mensaje de debug. :type callback: Callable[[str], None]

debug.timestamp_prefix()

Genera un prefijo de timestamp para los mensajes de debug.

Returns:

Hora actual en formato ``[HH:MM:SS] ``.

Return type:

str

class mxtt_driver.MXTTDriver(view, settings)

Bases: object

Controlador que conecta mxtt_ui con mxtt_paho. Maneja los eventos de los botones y actualiza la interfaz.

close()

Cierra la conexión MQTT y detiene el hilo al cerrar la aplicación.

Returns:

None

connect_to_broker()

Conecta al broker MQTT creando un hilo independiente (QThread). Se configuran credenciales, puerto y TLS según los valores de la UI.

Returns:

None

load_config()

Carga la configuración del cliente desde un archivo y la aplica en la UI.

Returns:

None

save_config()

Guarda la configuración del cliente en un archivo.

Returns:

None

send_message()

Envía un mensaje al broker MQTT.

El input debe tener el formato:
  • topic : payload

  • topic:payload (también soportado, sin espacios)

Returns:

None

show_feedback(text)

Muestra feedback en label_status y lo borra después de 3 segundos.

Parameters:

text (str) – Texto de feedback para mostrar en la UI.

subscribe_to_topic()

Suscribe al cliente MQTT a un topic ingresado en el input correspondiente.

Returns:

None

update_message(topic, payload)

Callback que se ejecuta al recibir un mensaje MQTT. Actualiza la lista de mensajes en la UI.

Parameters:
  • topic (str) – Tópico del mensaje recibido.

  • payload (str) – Contenido del mensaje recibido.

Returns:

None

class mxtt_logger.MXTTLogger(filename='mxtt.log')

Bases: object

Logger de debug opcional a archivo.

Permite habilitar o deshabilitar el guardado de mensajes de debug en un archivo de texto con timestamp.

log(msg)

Si está habilitado, escribe el mensaje en el archivo con timestamp.

Parameters:

msg (str) – Mensaje a registrar.

Returns:

None

set_enabled(enabled)

Habilita o deshabilita el logging a archivo.

Parameters:

enabled (bool) – True para habilitar, False para deshabilitar.

Returns:

None

class mxtt_main.MainWindow

Bases: QWidget

Ventana principal de la aplicación MXTT.

Integra la interfaz gráfica generada con Qt Designer, el controlador de MQTT, las configuraciones de la aplicación y el logger opcional.

append_debug(text)

Agrega una línea al tab Debug y opcionalmente la guarda en archivo.

Parameters:

text (str) – Texto a mostrar en el panel de debug.

Returns:

None

closeEvent(event)

Se ejecuta automáticamente al cerrar la ventana.

Parameters:

event (QCloseEvent) – Evento de cierre de Qt.

Returns:

None

staticMetaObject = PySide6.QtCore.QMetaObject("MainWindow" inherits "QWidget": )
toggle_file_logging(state)

Habilita o deshabilita el logging a archivo.

Parameters:

state (int) – Estado del checkbox (0 = desmarcado, distinto de 0 = marcado).

Returns:

None

class mxtt_paho.MQTTClient(url, port, username, password, use_tls=False)

Bases: QThread

Cliente MQTT ejecutado en un hilo independiente usando QThread.

  • Maneja la conexión a un broker MQTT (con soporte TLS).

  • Permite publicar y suscribirse a topics.

  • Emite señales hacia la UI cada vez que se recibe un mensaje.

Señales:
data_received (Signal): Emitida al recibir un mensaje MQTT.

Parámetros: (topic: str, payload: str)

data_received
on_connect(client, userdata, flags, reason_code, properties=None)

Callback ejecutado al establecer conexión con el broker.

Parameters:
  • client – Cliente MQTT (paho.Client)

  • userdata – Datos de usuario asociados al cliente.

  • flags – Flags de conexión.

  • reason_code (int) – Código de resultado de la conexión (0 = éxito).

  • properties – Propiedades MQTT v5 (opcional).

Returns:

None

on_disconnect(client, userdata, disconnect_flags, reason_code, properties=None)

Callback ejecutado al desconectarse del broker.

Parameters:
  • client – Cliente MQTT (paho.Client)

  • userdata – Datos de usuario asociados al cliente.

  • disconnect_flags – Flags de desconexión.

  • reason_code (int) – Código de resultado de la desconexión (0 = solicitada, !=0 inesperada).

  • properties – Propiedades MQTT v5 (opcional).

Returns:

None

on_message(client, userdata, msg)

Callback ejecutado al recibir un mensaje de un topic suscrito.

Parameters:
  • client – Cliente MQTT (paho.Client)

  • userdata – Datos de usuario asociados al cliente.

  • msg – Objeto mensaje MQTT (paho.MQTTMessage)

Returns:

None

publish(topic, payload)

Publica un mensaje en el broker.

Parameters:
  • topic (str) – Tópico donde publicar el mensaje.

  • payload (str) – Contenido del mensaje.

Returns:

None

run()

Hilo del cliente MQTT.

  • Conecta al broker.

  • Entra en loop_forever() para mantener la conexión activa.

  • Hilo bloqueante.

Returns:

None

staticMetaObject = PySide6.QtCore.QMetaObject("MQTTClient" inherits "QThread": Methods:   #12 type=Signal, signature=data_received(QString,QString), parameters=QString, QString )
stop()

Detiene el hilo y desconecta del broker.

Returns:

None

subscribe(topic)

Se suscribe a un topic para recibir mensajes.

Parameters:

topic (str) – Tópico a suscribirse.

Returns:

None

class mxtt_settings.MXTTSettings

Bases: object

Clase para gestionar la configuración del broker MQTT usando QSettings.

Permite guardar y cargar la configuración de conexión (URL, puerto, TLS, usuario, contraseña).

load_broker()

Carga la configuración del broker desde QSettings.

Returns:

Diccionario con la configuración, con claves:
  • ’url’ (str)

  • ’port’ (int)

  • ’tls’ (bool)

  • ’username’ (str)

  • ’password’ (str)

Return type:

dict

save_broker(url, port=1883, tls=False, username='', password='')

Guarda la configuración actual del broker en QSettings.

Parameters:
  • url (str) – Dirección del broker MQTT.

  • port (int, optional) – Puerto TCP. Por defecto 1883.

  • tls (bool, optional) – True para habilitar TLS. Por defecto False.

  • username (str, optional) – Nombre de usuario para autenticación. Por defecto cadena vacía.

  • password (str, optional) – Contraseña para autenticación. Por defecto cadena vacía.

Returns:

None