Tous les produits
Search
Centre de documentation

IoT Platform:Connecter un appareil Android Things à IoT Platform

Dernière mise à jour :Aug 21, 2026

Cette rubrique explique comment connecter un appareil matériel Google Android Things à Alibaba Cloud IoT Platform, en prenant pour exemple un projet de surveillance de la qualité de l'air intérieur.

Matériel

  • Liste du matériel pour le projet

    Ce projet nécessite le matériel suivant.

    Appareil

    Image

    Remarques

    Carte de développement NXP Pico i.MX7D

    Android Things

    Basé sur Android Things 1.0.

    Pour plus d'informations, consultez le Guide du développeur pour les E/S NXP Pico i.MX7D.

    Remarque

    Vous pouvez utiliser un Raspberry Pi comme alternative. Pour plus d'informations, consultez Contrôler à distance un serveur Raspberry Pi.

    Capteur de température et d'humidité DHT12

    Android Things

    Utilise le protocole I2C pour la communication des données.

    Capteur de détection de formaldéhyde ZE08-CH2O

    Android Things

    Utilise le protocole UART pour la communication des données.

  • Schéma de câblage

    Android Things

    • Connectez les broches SCL (signal d'horloge) et SDA (données) du capteur DHT12 aux broches SCL et SDA correspondantes du bus I2C sur la carte de développement.

    • Connectez la broche TXD (transmission des données) du capteur ZE08-CH2O à la broche RXD (réception des données) de la carte de développement, et la broche RXD du capteur à la broche TXD de la carte.

Créer un produit et un appareil

  1. Connectez-vous à la console IoT Platform.

  2. Créez un produit.

    1. Sur la page Instance Overview, localisez l'instance cible et cliquez sur son nom pour accéder à la page Instance Details.

      Important

      Les instances Enterprise Edition sont disponibles uniquement dans les régions Japon (Tokyo). Si votre instance se trouve dans une autre région, ignorez cette étape.

      Connectez-vous à la console IoT Platform. Dans le volet de navigation de gauche, cliquez sur Instance Overview pour afficher les instances Enterprise Edition de la région actuelle et leur statut.

      Sur la page Instance Overview, consultez l'état d'exécution des instances Enterprise Edition de la région actuelle, y compris le type d'instance (Standard), l'environnement (environnement de production/environnement de test), le nombre d'appareils en ligne et les informations de quota TPS pour les messages entrants et sortants.

    2. Dans le volet de navigation de gauche, choisissez Device Management > Products.

    3. Sur la page Products, cliquez sur Create Product. Pour plus d'informations, consultez Créer un produit.

  3. Définissez un modèle TSL.

    1. Une fois le produit créé, cliquez sur Define TSL Model.

    2. Sur la page Product Details, sous l'onglet Define Feature, cliquez sur Edit Draft > Add Custom Feature.

    3. Ajoutez les propriétés suivantes.

      Propriété

      Identifiant

      Type

      Valeur

      Description

      Température

      temperature

      float

      -50–100

      Données de température collectées par le capteur de température et d'humidité DHT12.

      Humidité

      humidity

      float

      0–100

      Données d'humidité collectées par le capteur de température et d'humidité DHT12.

      Concentration de formaldéhyde

      ch2o

      double

      0–3

      Concentration de formaldéhyde collectée par le capteur ZE08-CH2O.

    4. Cliquez sur Publish pour publier le modèle TSL.

  4. Créez un appareil.

    Sur la page Device, cliquez sur Add Device pour créer un appareil sous un produit. Pour plus d'informations, consultez Créer un seul appareil.

Développer l'appareil Android Things

  1. Utilisez Android Studio pour créer un projet Android Things et ajoutez l'autorisation Internet au fichier manifeste.

    <uses-permission android:name="android.permission.INTERNET" />
  2. Dans le fichier Gradle, ajoutez la dépendance eclipse.paho.mqtt.

    implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0'
  3. Configurez l'appareil pour lire les données du capteur de température et d'humidité DHT12 via 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. Configurez l'appareil pour lire les données du capteur de détection de formaldéhyde Ze08-CH2O via 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. Connectez l'appareil à IoT Platform et envoyez les données.

    /*
    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);

Pour obtenir l'exemple de code complet, téléchargez le projet depuis Alibaba Cloud IoT sur GitHub.

Afficher les données en temps réel

Une fois l'appareil démarré, connectez-vous à la console IoT Platform. accédez à la page Device Details. Sous l'onglet Status, consultez les données de propriété en temps réel de l'appareil.