Utilice el código de ejemplo de Node.js de este tema para conectar un dispositivo a IoT Platform mediante un canal MQTT-WebSocket.
Requisitos previos
Cree un producto y un dispositivo, como device2, en la consola de IoT Platform para su instancia. Obtenga el certificado del dispositivo que contiene ProductKey, DeviceName y DeviceSecret. Para obtener más información, consulte:
Contexto
Para obtener más información sobre las conexiones de dispositivos basadas en WebSocket, consulte MQTT-WebSocket connections.
Este ejemplo utiliza Link SDK del lado del dispositivo de IoT Platform para simular la conexión y la mensajería del dispositivo.
Link SDK del lado del dispositivo tiene habilitado el cifrado TLS. No se requiere ninguna configuración adicional.
Procedimiento
Inicie sesión en la consola de IoT Platform.
En la página Instance Overview, ubique la instancia del tipo de datos correspondiente y haga clic en ella para ir a la página Instance Details.
-
En su computadora local, cree un archivo JavaScript, como iot_device.js, para almacenar el código de ejemplo de Node.js.
Utilice el siguiente código de ejemplo de Node.js:
const iot = require('alibabacloud-iot-device-sdk'); // The device certificate information. const productKey = 'a1W***'; const deviceName = 'device2'; const deviceSecret = 'ff01e59d1a***'; // You must specify the instance ID for new public instances and Enterprise instances. You do not need to specify an instance ID for old public instances. const instanceId = ''; // The ID of the region where the product and device reside. const region = 'cn-shanghai'; const brokerUrl = instanceId ? `wss://${instanceId}.mqtt.iothub.aliyuncs.com:443` : `wss://${productKey}.iot-as-mqtt.${region}.aliyuncs.com:443`; const device = iot.device({ productKey: `${productKey}`, deviceName: `${deviceName}`, deviceSecret: `${deviceSecret}`, brokerUrl, tls: true, }); // Listen for the 'connect' event to establish an MQTT connection, subscribe to a custom topic, and send a message to IoT Platform through the custom topic. device.on('connect', () => { device.subscribe(`/${productKey}/${deviceName}/user/get`); console.log('connect successfully!'); device.publish(`/${productKey}/${deviceName}/user/update`, 'hello world!'); }); // Listen for the 'message' event. device.on('message', (topic, payload) => { console.log(topic, payload.toString()); }); // Listen for the 'error' event. device.on('error', (error) => { console.error(error); }); // If you want to disconnect from IoT Platform, remove the comment symbol from the next line and call the end() function. //device.end();Reemplace los valores de los parámetros con la información real de su dispositivo, tal como se describe en la siguiente tabla.
Parámetro
Ejemplo
Descripción
productKey
a1W***
La información del certificado del dispositivo que se guardó cuando creó el dispositivo. Para obtener más información, consulte Obtain a device certificate.
También puede encontrar esta información en la página Device Details del dispositivo device2 en la consola.
deviceName
device2
deviceSecret
ff01e59d1a***
instanceId
''
El identificador de la instancia, que puede consultar en la página Instance Overview de la consola de IoT Platform.
-
Si se muestra un identificador, debe especificarlo.
-
Si la página Instance Overview no existe o no hay ningún identificador disponible, deje este parámetro vacío. Por ejemplo,
iotInstanceId = ''.
Para obtener más información sobre las instancias, consulte Instance overview.
region
cn-shanghai
El código de la región donde se encuentra su dispositivo de IoT Platform. Para consultar los códigos de región compatibles, consulte List of regions.
-
-
Abra una ventana del símbolo del sistema y vaya al directorio donde se guardó el archivo iot_device.js. Ejecute el siguiente comando para instalar la biblioteca Alibaba Cloud IoT SDK.
npm install alibabacloud-iot-device-sdk --save
-
En la ventana del símbolo del sistema, ejecute el siguiente comando para ejecutar el archivo iot_device.js e iniciar el dispositivo.
node iot_device.jsLa salida indica que el dispositivo se conectó correctamente y publicó un mensaje.

Consultar los registros operativos y probar la comunicación descendente
Inicie sesión en la consola de IoT Platform.
-
En la esquina superior izquierda de la consola, seleccione la región donde se encuentra su instancia . A continuación, en la página Instance Overview, haga clic en la instancia de destino.
NotaSi no aparece la página Instance Overview, se mostrará la página de funciones de IoT Platform.
-
En el panel de navegación izquierdo, elija .
En la pestaña Device List, el estado del dispositivo device2 es Online.

-
En la columna Actions del dispositivo device2, haga clic en View. En la página Device Details, haga clic en la pestaña Log Service y luego haga clic en View Log.
En la pestaña IoT Platform Logs, consulte los mensajes de registro.

-
En la lista de registros, busque un Device-to-Cloud Message y haga clic en View para ver la información que el dispositivo envió a IoT Platform.

-
Pruebe la comunicación descendente mediante el envío de un mensaje desde IoT Platform al dispositivo.
Regrese a la página . En la pestaña Device List, haga clic en View en la columna Actions del dispositivo device2
En la página Device Details, haga clic en la pestaña Topic List. Busque el tema suscrito
/a1W***/device2/user/gety haga clic en Publish Message.-
Introduzca un mensaje y haga clic en Confirm.
-
Vuelva a la ventana del símbolo del sistema donde se ejecuta el dispositivo. El dispositivo recibe el mensaje, lo cual indica que la comunicación se completó correctamente.

También puede volver a la pestaña IoT Platform Logs para consultar los registros detallados de comunicación.
