Si desea conectar un dispositivo a IoT Platform mediante un gateway de Message Queuing Telemetry Transport (MQTT), primero debe crear un gateway MQTT. Este tema describe cómo crear un gateway MQTT.
Requisitos previos
Se ha adquirido una instancia Exclusive Enterprise Edition. Para obtener información sobre cómo adquirir una instancia, consulte Purchase an Enterprise instance.
Contexto
Para obtener información sobre cómo utilizar un gateway, consulte Use an MQTT gateway to connect a device to IoT Platform.
Crear un gateway
Inicie sesión en la IoT Platform console.
En la pestaña Overview, haga clic en la instancia Exclusive Enterprise Edition que desea gestionar.
En el panel de navegación izquierdo, seleccione . En la página que aparece, haga clic en Add Gateway.
-
En el paso Basic Information, configure los parámetros y haga clic en Next. La siguiente tabla describe los parámetros.
Parámetro
Descripción
Gateway Name
El nombre del gateway. El nombre debe ser único dentro de la instancia. Debe tener entre 4 y 30 caracteres de longitud y puede contener letras, dígitos y guiones bajos (_).
Protocol
Seleccione MQTT.
Custom Port Number
Valores válidos: de 1024 a 65535. Valor predeterminado: 1883.
Enable Data Parsing
Especifique si desea habilitar la función de análisis de datos para los dispositivos del gateway.
IoT Platform transmite los datos de los dispositivos del gateway sin modificarlos. Puede habilitar la función de análisis de datos según sus necesidades empresariales. Puede implementar el método
transformPayload()en el script de análisis de datos para convertir los datos sin procesar enviados por un dispositivo al formato JSON estándar o al formato definido en el protocolo Alink para modelos de Thing Specification Language (TSL). Para obtener más información sobre la función de análisis de datos, consulte What is message parsing.Authentication Type
One-party Verification
Si selecciona esta opción, debe importar la información de verificación de un dispositivo a IoT Platform. Esta información incluye el nombre de usuario, la contraseña y el número de serie (SN) del dispositivo. IoT Platform verifica el dispositivo basándose en dicha información.
Third-party Certification
Si selecciona esta opción, debe especificar el servicio de verificación de terceros que desea utilizar. Puede seleccionar Alibaba Cloud Function Compute o un servicio de verificación de dispositivos basado en HTTPS. Para obtener más información sobre Alibaba Cloud Function Compute, consulte What is Function Compute?
Alibaba Cloud Function Compute: Si selecciona esta opción, debe configurar los parámetros Device-verified FC Service, Device-verified FC Function y Authorize. Puede seleccionar una función existente de Function Compute o crear una nueva para la verificación de dispositivos. Los parámetros de entrada y salida de la función que cree deben ser válidos. Puede especificar un nombre de función personalizado. Para obtener información sobre los requisitos de los parámetros de entrada y salida de la función de verificación de dispositivos, consulte Parameters of the Function Compute function for device verification.
Haga clic en Create Service para ir a la consola de Function Compute y crear un servicio. Para obtener información sobre los servicios de Function Compute, consulte Manage services.
Haga clic en Create Function para ir a la consola de Function Compute y crear una función. Para obtener información sobre las funciones de Function Compute, consulte Manage functions.
Si el rol
AliyunIOTAccessingFCRoleno está disponible, haga clic en Create RAM Role para ir a la consola de RAM y crear el rol. Para obtener información sobre cómo crear un rol de RAM y otorgarle permisos, consulte Create a RAM role.
External HTTPS: Si selecciona esta opción, debe configurar el parámetro HTTPS URL for Device Verification. Los Custom Device Verification Parameters son opcionales.
La URL para la verificación de dispositivos debe comenzar con
https://. IoT Platform envía solicitudes HTTPS para invocar servicios personalizados de verificación de dispositivos. Los parámetros de entrada y salida de las solicitudes HTTP deben ser válidos. Para obtener información sobre los requisitos de los parámetros, consulte Parameters of HTTPS requests for device verification.Puede configurar hasta 10 parámetros personalizados de verificación de dispositivos en formato de par clave-valor.
Parameter Key: el nombre del parámetro, que puede tener hasta 64 caracteres de longitud.
Parameter Value: el valor del parámetro, que puede tener hasta 64 caracteres de longitud. Puede establecer el campo Parameter Value como una variable con el formato
${Variable name}. Se admiten las siguientes variables:${username}: el nombre de usuario que envía el dispositivo para establecer una conexión MQTT.${password}: la contraseña que envía el dispositivo para establecer una conexión MQTT.${clientId}: el ID de cliente que envía el dispositivo para establecer una conexión MQTT.${cert.***}: el certificado del dispositivo.***puede sercn,serialoissuer.${userProperties.***}: los datos personalizados deUserPropertyen el paquete CONNECT.***es un campo personalizado.
Enable X.509 certificate-based Device Verification
Habilitar la verificación de dispositivos basada en certificados X.509
Valores válidos del parámetro Enable OCSP:
Disabled
OCSP Verification for Server Certificate
OCSP Verification for Client Certificate
Client and Server-side OCSP Verification
NotaOnline Certificate Status Protocol (OCSP) es un protocolo de Internet que utiliza una autoridad de certificación (CA) para comprobar el estado de revocación de un certificado.
Cuando un cliente envía un mensaje a un servidor, este realiza la verificación OCSP del certificado del cliente. Si el certificado del cliente está revocado, el servidor cierra la conexión.
El tiempo de vida (TTL) predeterminado de la información OCSP almacenada en caché varía de 5 minutos a 1 hora. Una vez que expira la información OCSP en caché, el grapado OCSP del lado del servidor no surte efecto hasta que se vuelve a obtener la información OCSP.
Deshabilitar la verificación de dispositivos basada en certificados X.509
Valores válidos del parámetro Enable OCSP:
Disabled
OCSP Verification for Server Certificate
NotaOnline Certificate Status Protocol (OCSP) es un protocolo de Internet que utiliza una autoridad de certificación (CA) para comprobar el estado de revocación de un certificado.
Cuando un cliente envía un mensaje a un servidor, este realiza la verificación OCSP del certificado del cliente. Si el certificado del cliente está revocado, el servidor cierra la conexión.
El tiempo de vida (TTL) predeterminado de la información OCSP almacenada en caché varía de 5 minutos a 1 hora. Una vez que expira la información OCSP en caché, el grapado OCSP del lado del servidor no surte efecto hasta que se vuelve a obtener la información OCSP.
Tabla 1. Parámetros de la función de Function Compute para la verificación de dispositivos
Tipo
Parámetro
Tipo de datos
Obligatorio
Descripción
Parámetros de solicitud
userName
String
Sí
El nombre de usuario necesario para conectar un dispositivo a IoT Platform mediante MQTT.
El nombre de usuario debe tener entre 4 y 32 caracteres de longitud, y puede contener letras, dígitos, guiones (-), guiones bajos (_), arrobas (@), puntos (.) y dos puntos (:). El nombre de usuario debe ser único dentro del producto.
password
String
Sí
La contraseña necesaria para conectar el dispositivo a IoT Platform mediante MQTT.
La contraseña debe tener entre 1 y 32 caracteres de longitud, y puede contener letras, dígitos, guiones (-), guiones bajos (_), arrobas (@), puntos (.) y dos puntos (:).
clientId
String
Sí
El ID de cliente necesario para conectar el dispositivo a IoT Platform mediante MQTT.
certificateCommonName
String
No
El campo commonName en la especificación de certificados X.509. Si utiliza un certificado X.509 para verificar la identidad del dispositivo, debe configurar este parámetro.
Parámetros de respuesta
result
String
Sí
El resultado de la verificación. El valor true indica que la verificación fue exitosa. El valor false indica que la verificación falló.
message
String
No
El mensaje de error que se devuelve si la verificación falla.
deviceName
String
No
El DeviceName correspondiente al nombre de usuario que se devuelve si la verificación es exitosa.
La primera vez que conecta un dispositivo a IoT Platform, esta crea un dispositivo basándose en el valor devuelto del parámetro deviceName.
Respuesta de ejemplo de la función de Function Compute para la verificación de dispositivos:
{ "result":"true", "deviceName":"device_TH", "message":"" }Tabla 2. Parámetros de las solicitudes HTTPS para la verificación de dispositivos
Tipo
Parámetro
Tipo de datos
Obligatorio
Descripción
Ejemplo
Método de solicitud
Method
String
Sí
Establezca el valor en POST.
POST Content-Type: application/json body:{ "username": "UN001", "password": "PW001", "certificateCommonName": "CN001" }Encabezado
Content-Type
String
Sí
El formato de codificación de datos definido en los encabezados HTTPS. Solo
application/jsones válido.Si se especifica otro formato de codificación, se produce un error.
Cuerpo de la solicitud
username
String
Sí
El nombre de usuario necesario para conectar el dispositivo a IoT Platform mediante MQTT.
El nombre de usuario debe tener entre 4 y 32 caracteres de longitud, y puede contener letras, dígitos, guiones (-), guiones bajos (_), arrobas (@), puntos (.) y dos puntos (:). El nombre de usuario de un dispositivo debe ser único dentro de un producto.
password
String
Sí
La contraseña necesaria para conectar el dispositivo a IoT Platform mediante MQTT.
La contraseña debe tener entre 1 y 32 caracteres de longitud, y puede contener letras, dígitos, guiones (-), guiones bajos (_), arrobas (@), puntos (.) y dos puntos (:).
certificateCommonName
String
No
El campo commonName en la especificación de certificados X.509. Si utiliza un certificado X.509 para verificar la identidad del dispositivo, debe configurar este parámetro.
Cuerpo de la respuesta
deviceName
String
Sí
El DeviceName correspondiente al nombre de usuario que se devuelve si la verificación es exitosa.
La primera vez que conecta un dispositivo a IoT Platform, esta crea un dispositivo basándose en el valor devuelto del parámetro deviceName.
body:{ "deviceName": "device_TH" } -
Complete el paso Certificate Configuration y haga clic en OK.
Configurar certificados
NotaLos certificados que se configuran en este paso están en formato PEM.
-
Debe configurar los parámetros Server Certificate y Private Key of Server Certificate.
Un dispositivo conectado a IoT Platform mediante un gateway MQTT solo admite Transport Layer Security (TLS). Para garantizar la seguridad del servicio, debe especificar el certificado de CA y la clave privada del servidor original al que se conecta el dispositivo.
Por ejemplo, suponga que su cadena de certificados contiene certificados ordenados de la siguiente manera: certificado raíz del servidor, certificados intermedios del servidor y certificado del servidor. Los certificados intermedios del servidor pueden incluir varios niveles, como Certificado Intermedio A y Certificado Intermedio B. En este caso, debe configurar los parámetros de este paso siguiendo estas instrucciones:
Server Certificate: Especifique los certificados de la cadena en orden inverso. Primero especifique el certificado del servidor y luego los certificados intermedios del servidor (Certificado Intermedio B y Certificado Intermedio A).
Private Key of Server Certificate: Especifique la clave privada del certificado del servidor.
-
Si ha habilitado la verificación de dispositivos basada en certificados X.509, debe configurar el parámetro Device Root Certificate.
Por ejemplo, suponga que su cadena de certificados contiene certificados ordenados de la siguiente manera: certificado raíz del dispositivo, certificados intermedios del dispositivo y certificado del dispositivo. Los certificados intermedios del dispositivo pueden incluir varios niveles, como Certificado Intermedio A y Certificado Intermedio B. En este caso, debe configurar los parámetros de este paso siguiendo estas instrucciones:
Device Root Certificate: Especifique los certificados de la cadena en orden inverso. Primero especifique los certificados intermedios del dispositivo (Certificado Intermedio B y Certificado Intermedio A) y luego el certificado raíz del dispositivo.
Si en el paso anterior estableció el parámetro Enable OCSP en OCSP Verification for Server Certificate o Client and Server-side OCSP Verification, debe establecer el parámetro Trusted Certificate en el certificado raíz del servidor en este paso.
-
-
Consulte la información sobre el gateway que creó en la página Gateway, incluido el nombre, el ID, la URL del gateway, el estado y el producto asociado.
ImportanteDebe guardar la URL del gateway. Cuando conecte un dispositivo a IoT Platform mediante MQTT, deberá reemplazar el endpoint MQTT con la URL del gateway. Puede especificar la URL del gateway como endpoint MQTT o configurar un registro CNAME para resolver el endpoint MQTT hacia la URL del gateway.

(Opcional) Modificar un gateway
Después de crear un gateway, búsquelo en la página Gateway y haga clic en Edit en la columna Actions. Puede modificar el nombre, la información del certificado y la función de Function Compute del gateway.

Resultado
Después de crear un gateway, IoT Platform crea un producto y lo asocia con dicho gateway. El nombre del producto sigue el formato Gateway+${Gateway ID}. Para ver el nuevo producto, seleccione . El nuevo producto aparecerá en la página Products.
Haga clic en View en la columna Actions del producto. En la página de product details, podrá consultar los detalles del producto, como se muestra en la siguiente figura.

Siguientes pasos
-
Después de crear un gateway cuyo parámetro Authentication Type esté configurado como Third-party Certification y utilizarlo para conectar un dispositivo a IoT Platform por primera vez, la plataforma usará automáticamente el valor devuelto del parámetro deviceName como nombre para crear el dispositivo.
Puede usar MQTT.fx para simular un dispositivo y conectarlo a IoT Platform a través de un gateway para habilitar la comunicación. Para obtener más información, consulte Use MQTT.fx to connect a device (Function Compute for device verification).
Después de crear un gateway cuyo parámetro Authentication Type esté configurado como One-party Verification, debe importar la información de verificación de los dispositivos para agregarlos al producto de gateway correspondiente. Para obtener más información, consulte Batch add devices.