Todos los productos
Search
Centro de documentos

IoT Platform:Conexión a una puerta de enlace en la nube MQTT mediante MQTT.fx

Última actualización: Sep 03, 2026

Este tema describe cómo utilizar MQTT.fx en una computadora con Windows para simular un dispositivo de puerta de enlace en la nube MQTT, conectarlo a IoT Platform y reportar datos.

Requisitos previos

  • Purchase an Enterprise Edition instance. Este tutorial utiliza una instancia Exclusive Enterprise Edition en la región China (Shanghai).

  • Descargue e instale el software MQTT.fx. Para obtener instrucciones, consulte MQTT.fx.

    Dado que el software de terceros se actualiza con regularidad, su interfaz de usuario podría ser diferente.

  • Genere un certificado personalizado.

    Este tutorial requiere un certificado personalizado que incluya un certificado raíz (root-ca.crt), una clave privada del lado del servidor (server.key) y un certificado de servidor (server.crt).

    Puede utilizar OpenSSL para generar el certificado. Para obtener más información, consulte Generate a custom certificate.

Contexto

MQTT.fx es un cliente MQTT basado en Eclipse Paho y escrito en Java. Es compatible con Windows, macOS y Linux. Puede utilizar MQTT.fx para comprobar que un dispositivo puede conectarse a IoT Platform y comunicarse mediante temas.

Los dispositivos pueden utilizar cualquiera de los métodos con funciones como certificados personalizados, autenticación del lado del servidor y temas personalizados para conectarse y comunicarse con IoT Platform.

Para obtener más información sobre la autenticación y comunicación de dispositivos para una puerta de enlace en la nube MQTT, consulte Overview of MQTT cloud gateways.

Conexión de un dispositivo mediante MQTT.fx (verificación unilateral)

Paso 1: Crear una puerta de enlace en la nube y un dispositivo

  1. Create an MQTT cloud gateway. Al configurar la puerta de enlace, utilice el contenido del archivo server.key para el parámetro CA certificate file y el contenido del archivo server.crt para el parámetro Server Certificate.

    Configure los demás parámetros de la siguiente manera: seleccione MQTT para Protocol, mantenga el valor predeterminado de 1883 para Custom Port Number, seleccione one-party verification para Authentication Type, seleccione No para Enable Data Parsing, seleccione No para Enable Device X.509 Certificate Authentication y seleccione Do not enable para Enable OCSP.

  2. En la lista de puertas de enlace en la nube, copie y guarde la Gateway URL.

    La lista de puertas de enlace en la nube muestra información como el nombre de la puerta de enlace, el protocolo, la Gateway URL y el estado.

  3. Add devices in batches. Para este tutorial, agregue un dispositivo. Establezca MQTT Username en device_01 y MQTT Password en hello123.

Paso 2: Configurar la conexión de MQTT.fx

  1. Abra el software MQTT.fx. En la barra de menús, haga clic en Extras y seleccione Edit Connection Profiles.

  2. En la página Edit Connection Profiles, configure los siguientes parámetros.

    1. Establezca la información básica. Utilice los valores predeterminados para los demás parámetros.

      Parámetro

      Descripción

      Profile Name

      Introduzca un nombre personalizado.

      Profile Type

      Para el tipo de conexión, seleccione MQTT Broker.

      Broker Address

      Introduzca el nombre de dominio de la Gateway URL que guardó.

      Broker Port

      Establézcalo en el número de puerto personalizado. El valor predeterminado es 1883.

      Client ID

      Opcional. Un ID de cliente personalizado de hasta 64 caracteres. Para facilitar la identificación, utilice la dirección MAC o el número de serie (SN) del dispositivo.

    2. Haga clic en User Credentials, seleccione la casilla Use Username/Password y configure User Name y Password.

      El User Name y la Password deben coincidir con el MQTT Username y la MQTT Password del dispositivo que agregó.

    3. Haga clic en SSL/TLS, seleccione la casilla Enable SSL/TLS y establezca Protocol en TLSv1.2.

    4. Seleccione CA certificate file y, a continuación, seleccione la ruta a su archivo root-ca.crt.

  3. Después de configurar los parámetros, haga clic en OK.

  4. Haga clic en Connect.

    Una luz verde a la derecha indica que la conexión fue exitosa. En la consola de IoT Platform, vaya a la página Devices > Devices de su instancia. El estado del dispositivo device_01 es online.

Conexión de un dispositivo mediante MQTT.fx (verificación de terceros)

Paso 1: Crear una función de autenticación de dispositivo

  1. Inicie sesión en la consola de Function Compute. En el panel de navegación izquierdo, haga clic en Services & Functions.

  2. En la barra de navegación superior, seleccione la región China (Shanghai). En la página Services, haga clic en Create Service.

  3. En el panel Create Service, introduzca un Service Name, como IoT_Service, y luego haga clic en OK.

  4. En la página Functions, haga clic en Create Function.

  5. En la página Create Function, configure los siguientes parámetros y haga clic en Create.

    Seleccione Create with Built-in Runtime como método de creación. Para Function Name, introduzca three_party_auth. Para Request Handler Type, seleccione Event Handler. Para Runtime, seleccione Python 3.6.

  6. En la página Function Details, reemplace el código de ejemplo con el siguiente código y haga clic en Deploy Code.

    La función de autenticación devuelve el UserName como el deviceName.

    # -*- coding: utf-8 -*-
    import logging
    import json
    import time
    import enum
    import random
    import string
    
    class Request:
        def __init__(self, json_str):
            self.clientId = None
            self.username = None
            self.password = None
            self.certificateCommonName = None
    
            for key, value in json.loads(json_str).items():
                setattr(self, key, value)
    
    class Response:
        def __init__(self):
            self.deviceName = None
            self.result = 'true'
            self.message = 'success'
    
        def handler(self, request):
            # Verify the validity of the username and password based on your business requirements.
        
            self.deviceName = request.username
            
            
            return json.dumps(self.__dict__)
    
    def handler(event, context):
        request = Request(event)
        return Response().handler(request)

Paso 2: Crear una puerta de enlace en la nube MQTT

  1. Create an MQTT cloud gateway. Al configurar la puerta de enlace, utilice el contenido del archivo server.key para el parámetro Server-side Private Key y el contenido del archivo server.crt para el parámetro Server Certificate. Para el servicio y la función de autenticación de dispositivos de Function Compute (FC), seleccione IoT_Service y three_part_auth que creó anteriormente.

    Configure los demás parámetros de la siguiente manera: establezca Protocol en MQTT, mantenga el valor predeterminado de Custom Port Number en 1883, establezca Authentication Type en Third-party Verification, establezca Enable Data Parsing en No, establezca Enable Device X.509 Certificate Authentication en No, establezca Enable OCSP en Disabled y establezca Authorization en AliyunIOTAccessingFCRole.

  2. En la lista de puertas de enlace en la nube, copie y guarde la Gateway URL.

    La lista de puertas de enlace en la nube muestra información como el nombre de la puerta de enlace, el protocolo, la Gateway URL y el estado.

Paso 3: Configurar la conexión de MQTT.fx

  1. Abra el software MQTT.fx. En la barra de menús, haga clic en Extras y seleccione Edit Connection Profiles.

  2. En la página Edit Connection Profiles, configure los siguientes parámetros.

    1. Establezca la información básica. Utilice los valores predeterminados para los demás parámetros.

      Parámetro

      Descripción

      Profile Name

      Introduzca un nombre personalizado.

      Profile Type

      Para el tipo de conexión, seleccione MQTT Broker.

      Broker Address

      Introduzca el nombre de dominio de la Gateway URL que guardó.

      Broker Port

      Establézcalo en el número de puerto personalizado. El valor predeterminado es 1883.

      Client ID

      Opcional. Un ID de cliente personalizado de hasta 64 caracteres. Para facilitar la identificación, utilice la dirección MAC o el número de serie (SN) del dispositivo.

    2. Haga clic en User Credentials, seleccione la casilla Use Username/Password y configure User Name (por ejemplo, threeParty_device_001) y Password.

      Nota
      • User Name: Debe tener entre 4 y 32 caracteres y puede contener letras, dígitos, guiones (-), guiones bajos (_), arrobas (@), puntos (.) y dos puntos (:). El User Name debe ser único dentro del producto.

      • Password: Debe tener entre 1 y 32 caracteres y puede contener letras, dígitos, guiones (-), guiones bajos (_), arrobas (@), puntos (.) y dos puntos (:).

    3. Haga clic en SSL/TLS, seleccione la casilla Enable SSL/TLS y establezca Protocol en TLSv1.2.

    4. Seleccione CA certificate file y, a continuación, seleccione la ruta a su archivo root-ca.crt.

  3. Después de configurar los parámetros, haga clic en OK.

  4. Haga clic en Connect.

    Una luz verde a la derecha indica que la conexión fue exitosa. IoT Platform utiliza el deviceName devuelto por la función de autenticación de FC, threeParty_device_001, como el DeviceName del dispositivo. Luego, la plataforma crea automáticamente el dispositivo, que aparece como online en la página Devices > Devices de la consola de IoT Platform.

Reporte de datos mediante un tema personalizado

  1. En MQTT.fx, haga clic en Publish. En el cuadro de texto Publish, introduzca el tema personalizado: /home/garden/fountain.

  2. En el editor de carga útil, introduzca el contenido del mensaje y haga clic en Publish.

  3. Inicie sesión en la consola de IoT Platform. En su instancia, vaya a la página Maintenance > Log Service para ver los registros de Device-to-Cloud Messages. Para obtener más información, consulte Query cloud-side logs. Haga clic en View para abrir los detalles del mensaje, donde se muestran el Topic, la marca de tiempo y la carga útil.