Todos los productos
Search
Centro de documentos

IoT Platform:Conectar un dispositivo Android Things a IoT Platform

Última actualización: Sep 03, 2026

Este documento describe cómo conectar un dispositivo de hardware Google Android Things a Alibaba Cloud IoT Platform mediante un proyecto de monitoreo de calidad del aire en interiores como ejemplo.

Hardware

  • Lista de dispositivos para el proyecto

    Este proyecto requiere los siguientes dispositivos de hardware.

    Dispositivo

    Imagen

    Observaciones

    NXP Pico i.MX7D

    tarjeta de desarrollo

    Android Things

    Basado en Android Things 1.0.

    Para más información, consulte la Guía del desarrollador para NXP Pico i.MX7D I/O.

    Nota

    Puede usar una Raspberry Pi como alternativa. Para más información, consulte Remotely control a Raspberry Pi server.

    DHT12

    sensor de temperatura y humedad

    Android Things

    Utiliza el protocolo I2C para la comunicación de datos.

    ZE08-CH2O

    sensor de detección de formaldehído

    Android Things

    Utiliza el protocolo UART para la comunicación de datos.

  • Diagrama de cableado

    Android Things

    • Conecte el pin SCL (señal de reloj) y el pin SDA (datos) del sensor DHT12 a los pines SCL y SDA correspondientes del bus I2C en la tarjeta de desarrollo.

    • Conecte el pin TXD (transmisión de datos) del sensor ZE08-CH2O al pin RXD (recepción de datos) de la tarjeta de desarrollo, y el pin RXD del sensor al pin TXD de la tarjeta.

Crear un producto y un dispositivo

  1. Inicie sesión en la consola de IoT Platform.

  2. Cree un producto.

    1. En la página Instance Overview, localice la instancia objetivo y haga clic en su nombre para ir a la página Instance Details.

      Importante

      Las instancias Enterprise Edition solo están disponibles en las regiones Japan (Tokyo). Si su instancia se encuentra en otra región, omita este paso.

      Inicie sesión en la consola de IoT Platform. En el panel de navegación izquierdo, haga clic en Instance Overview para ver las instancias Enterprise Edition de la región actual y su estado.

      En la página Instance Overview, consulte el estado de ejecución de las instancias Enterprise Edition en la región actual, incluido el tipo de instancia (Standard), el entorno (entorno de producción/entorno de prueba), el número de dispositivos en línea y la información de cuota de TPS para mensajes de subida y bajada.

    2. En el panel de navegación izquierdo, elija Device Management > Products.

    3. En la página Products, haga clic en Create Product. Para más información, consulte Create a product.

  3. Defina un modelo TSL.

    1. Una vez creado el producto, haga clic en Define TSL Model.

    2. En la página Product Details, dentro de la pestaña Define Feature, haga clic en Edit Draft > Add Custom Feature.

    3. Agregue las siguientes propiedades.

      Propiedad

      Identificador

      Tipo

      Valor

      Descripción

      Temperatura

      temperature

      float

      -50–100

      Datos de temperatura recopilados por el sensor de temperatura y humedad DHT12.

      Humedad

      humidity

      float

      0–100

      Datos de humedad recopilados por el sensor de temperatura y humedad DHT12.

      Concentración de formaldehído

      ch2o

      double

      0–3

      Concentración de formaldehído recopilada por el sensor ZE08-CH2O.

    4. Haga clic en Publish para publicar el modelo TSL.

  4. Cree un dispositivo.

    En la página Device, haga clic en Add Device para crear un dispositivo bajo un producto. Para más información, consulte Create a single device.

Desarrollar el dispositivo Android Things

  1. Use Android Studio para crear un proyecto de Android Things y agregue el permiso de internet al archivo de manifiesto.

    <uses-permission android:name="android.permission.INTERNET" />
  2. En el archivo Gradle, agregue la dependencia eclipse.paho.mqtt.

    implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0'
  3. Configure el dispositivo para leer datos del sensor de temperatura y humedad DHT12 mediante I2C.

    private void readDataFromI2C() {
            try {
                byte[] data = new byte[5];
                i2cDevice.readRegBuffer(0x00, data, data.length);
                // check data
                if ((data[0] + data[1] + data[2] + data[3]) % 256 != data[4]) {
                    humidity = temperature = 0;
                    return;
                }
                // humidity data
                humidity = Double.valueOf(String.valueOf(data[0]) + "." + String.valueOf(data[1]));
                Log.d(TAG, "humidity: " + humidity);
                // temperature data
                if (data[3] < 128) {
                    temperature = Double.valueOf(String.valueOf(data[2]) + "." + String.valueOf(data[3]));
                } else {
                    temperature = Double.valueOf("-" + String.valueOf(data[2]) + "." + String.valueOf(data[3] - 128));
                }
                Log.d(TAG, "temperature: " + temperature);
            } catch (IOException e) {
                Log.e(TAG, "readDataFromI2C error " + e.getMessage(), e);
            }
        }
  4. Configure el dispositivo para leer datos del sensor de detección de formaldehído Ze08-CH2O mediante UART.

    try {
                    // data buffer
                    byte[] buffer = new byte[9];
                    while (uartDevice.read(buffer, buffer.length) > 0) {
                        if (checkSum(buffer)) {
                            ppbCh2o = buffer[4] * 256 + buffer[5];
                            ch2o = ppbCh2o / 66.64 * 0.08;
                        } else {
                            ch2o = ppbCh2o = 0;
                        }
                        Log.d(TAG, "ch2o: " + ch2o);
                    }
                } catch (IOException e) {
                    Log.e(TAG, "Ze08CH2O read data error " + e.getMessage(), e);
                }
  5. Conecte el dispositivo a IoT Platform y reporte los datos.

    /*
    Payload format
    {
      "id": 123243,
      "params": {
        "temperature": 25.6,
        "humidity": 60.3,
        "ch2o": 0.048
      },
      "method": "thing.event.property.post"
    }
    */
    MqttMessage message = new MqttMessage(payload.getBytes("utf-8"));
    message.setQos(1);
    String pubTopic = "/sys/${YourProductKey}/${YourDeviceName}/thing/event/property/post";
    mqttClient.publish(pubTopic, message);

Para obtener el código de muestra completo, descargue el proyecto desde Alibaba Cloud IoT en GitHub.

Ver datos en tiempo real

Una vez que el dispositivo se inicie, inicie sesión en la consola de IoT Platform. vaya a la página Device Details. En la pestaña Status, consulte los datos de propiedad en tiempo real del dispositivo.