Este tema describe cómo integrar IoT Platform con la plataforma de big data de Alibaba Cloud para implementar el análisis en tiempo real, la recopilación de estadísticas, el cómputo y la visualización de datos de dispositivos.
Requisitos previos
Los servicios que se utilizan en esta guía incluyen ApsaraDB RDS for MySQL, IoT Platform, entre otros.
Esta guía asume que usted está familiarizado con la configuración y el uso de los servicios involucrados.
Contexto
Objetivo: Mostrar datos en tiempo real de los dispositivos de un producto específico en un panel de DataV.
-
Flujo de trabajo:
IoT Platform recopila datos de los dispositivos.
El motor de reglas en IoT Platform reenvía los datos de dispositivos de un producto específico al servicio de procesamiento de datos de streaming DataHub.
Según su configuración, DataHub envía los datos del dispositivo a Realtime Compute for Apache Flink para su procesamiento. Posteriormente, Realtime Compute escribe los datos procesados en una base de datos ApsaraDB RDS for MySQL. Si sus datos no requieren procesamiento, puede usar DataConnector para sincronizar los datos directamente desde DataHub hacia la base de datos ApsaraDB RDS for MySQL.
DataV utiliza la tabla de la base de datos MySQL como origen de datos para mostrar la información del dispositivo en tiempo real.

Procedimiento
-
Cree una base de datos ApsaraDB RDS for MySQL para almacenar los datos del dispositivo.
Para obtener más información sobre ApsaraDB RDS, consulte la ApsaraDB RDS for MySQL.
Inicie sesión en la consola de ApsaraDB RDS.
-
En la página Instances, haga clic en Create Instance para crear una instancia de base de datos MySQL.
NotaLa instancia de ApsaraDB RDS for MySQL debe estar en la misma región que sus dispositivos de IoT Platform y el proyecto de DataHub.
En su lista de instancias de base de datos, haga clic en Manage junto a la instancia objetivo.
En el panel de navegación izquierdo, haga clic en Accounts para crear una cuenta de base de datos.
En el panel de navegación izquierdo, haga clic en Databases para crear una base de datos.
En el panel de navegación izquierdo, haga clic en Data Security y agregue una lista de permitidos de base de datos. Para obtener más información, consulte Set an IP whitelist.
-
En el panel de navegación izquierdo, haga clic en Basic Information para consultar la información de la base de datos.
Necesitará esta información en pasos posteriores para configurar la sincronización de datos en DataHub, DataV y Realtime Compute for Apache Flink.
En la parte superior de la página Basic Information, haga clic en Log On to Database e introduzca sus credenciales para iniciar sesión en la base de datos.
-
Cree una tabla de base de datos. Por ejemplo, cree una tabla llamada mytable que contenga dos campos:
Tabla 1. mytable
Parámetro
Tipo
Descripción
d_data
varchar(32)
Marca de tiempo del punto de datos.
device_num
int
Número de dispositivos activos.
-
En la consola de IoT Platform, cree un producto y un dispositivo, y configure el motor de reglas.
Inicie sesión en la consola de IoT Platform.
En la página Overview, haga clic en All environment. En la pestaña All environment, busque la instancia que desea gestionar y haga clic en el ID de la instancia o en el nombre de la instancia.
En el panel de navegación izquierdo, seleccione y luego cree un producto. Para obtener más información, consulte Create a product.
Una vez creado el producto, vaya a la página Product Details. Según sus necesidades comerciales, create custom topic categories o define product features (a TSL model) para el producto.
En el panel de navegación izquierdo, seleccione y luego register a device.
-
En el panel de navegación izquierdo, seleccione para crear una regla.
ImportanteSi se muestra la página Data Forwarding (New Version), haga clic en Back to Previous Version en la esquina superior derecha y luego haga clic en View junto a la regla objetivo.
En la lista de reglas, haga clic en View para la regla.
-
En la página Data Forwarding Rule, haga clic en Write SQL en la sección Data Processing para write and debug a data processing SQL statement de la regla.
En el cuadro de diálogo Write SQL, en el área de configuración Topic, seleccione TSL Model Data Submitted, Home Thermostat, Device1 y Default Module en secuencia. Establezca los campos SELECT de la sentencia SQL como
items.temperature.value as temperature,items.humidity.value as humidity,deviceName() as deviceNameytimestamp() as time, y deje la condición WHERE vacía. Después de completar la configuración, haga clic en OK. Haga clic en Add Operation en la sección Data Forwarding y configure una acción de regla para reenviar datos del dispositivo al tema de DataHub. Para obtener más información, consulte Set a data forwarding rule.
Una vez configurada la regla, vaya a la página Data Forwarding. En la lista de reglas, haga clic en Start para la regla y habilitarla.
Una vez iniciada la regla, utilice un dispositivo simulado para enviar mensajes y compruebe que los mensajes se reenvían correctamente a DataHub. Puede consultar los registros del dispositivo en la página Device Log del dispositivo. En la consola de DataHub, puede monitorear el cambio en el volumen de datos en los shards del tema correspondiente y utilizar la función de muestreo de datos para ver el contenido específico del mensaje.
-
Desarrolle el cliente del lado del dispositivo y conecte el dispositivo a IoT Platform.
Este ejemplo utiliza el SDK Link de Java para el desarrollo del dispositivo: Descargar demostración del SDK de Java. Para instrucciones de desarrollo, consulte Environment requirements and configuration.
Después de desarrollar la aplicación del lado del dispositivo, cárguela en el dispositivo físico. Cuando el dispositivo se enciende y se conecta a la red, establece una conexión con IoT Platform y puede intercambiar datos. Los datos se reenvían a DataHub a través del motor de reglas, son procesados por Realtime Compute for Apache Flink y luego se escriben en la base de datos.
Para probar su panel, haga que varios dispositivos envíen mensajes. El número de dispositivos activos en el panel se actualizará en tiempo real.