Artikel ini menjelaskan cara menghubungkan perangkat keras Google Android Things ke IoT Platform, menggunakan contoh proyek pengujian udara dalam ruangan.
Perangkat Keras
- Daftar perangkat keras untuk proyek
Tabel berikut menunjukkan perangkat keras yang digunakan dalam proyek pengujian udara dalam ruangan.
Perangkat Keras Gambar Catatan NXP Pico i.MX7D
Papan pengembangan

Berdasarkan Android things 1.0.
Untuk informasi lebih lanjut, lihat Panduan Pengembang untuk NXP Pico i.MX7D.
Catatan Anda juga dapat menggunakan Raspberry Pi sebagai gantinya. Untuk informasi lebih lanjut, lihat Mengontrol server Raspberry Pi secara jarak jauh.DHT12
Sensor suhu dan kelembaban

Mendukung metode komunikasi data inter-integrated circuit (I2C). ZE08-CH2O
Sensor deteksi formaldehida

Mendukung metode komunikasi data universal asynchronous receiver-transmitter (UART). - Diagram koneksi perangkat keras

- Hubungkan pin SCL (garis jam) dan SDA (garis data) dari sensor suhu dan kelembaban (DHT12) ke pin I2C SCL dan SDA papan pengembangan.
- Hubungkan pin TXD (transmit data) dari sensor deteksi formaldehida (ZE08-CH2O) ke pin RXD (terima data) papan pengembangan, serta hubungkan pin RXD ZE08-CH2O ke pin TXD papan pengembangan.
Buat produk dan perangkat di konsol IoT Platform
- Masuk ke konsol IoT Platform.
- Buat produk.
Di halaman Overview, klik All environment. Di tab All environment, temukan instance yang ingin Anda kelola dan klik ID atau nama instance tersebut.
- Di bilah navigasi sisi kiri, pilih Devices > Products.
- Di halaman Products, klik Create Product untuk membuat produk. Untuk informasi lebih lanjut, lihat Buat produk.
- Buat model TSL.
- Di halaman yang muncul setelah produk dibuat, klik Create TSL.
- Di halaman Product Details, klik tab Define Feature. Klik lalu Add Self-defined Feature.
- Tambahkan properti yang dijelaskan dalam tabel berikut.
Properti Pengenal Tipe Data Nilai valid Deskripsi Suhu temperature float -50 hingga 100 Data suhu yang dikumpulkan oleh sensor suhu dan kelembaban DHT12. Kelembaban humidity float 0 hingga 100 Data kelembaban yang dikumpulkan oleh sensor suhu dan kelembaban DHT12. Konsentrasi formaldehida ch2o double 0 hingga 3 Konsentrasi formaldehida yang dikumpulkan oleh sensor deteksi formaldehida ZE08-CH2O. - Klik Release online untuk mempublikasikan model TSL.
- Buat perangkat.
Di halaman Devices, klik Add Device untuk menambahkan perangkat ke produk. Untuk informasi lebih lanjut, lihat Buat perangkat.
Kembangkan perangkat Android Things
- Gunakan Android Studio untuk membuat proyek Android Things dan tambahkan izin jaringan.
<uses-permission android:name="android.permission.INTERNET" /> - Tambahkan
eclipse.paho.mqttke file Gradle.implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0' - Konfigurasikan perangkat untuk membaca data dari sensor suhu dan kelembaban DHT12 menggunakan I2C.
private void readDataFromI2C() { try { byte[] data = new byte[5]; i2cDevice.readRegBuffer(0x00, data, data.length); // periksa data if ((data[0] + data[1] + data[2] + data[3]) % 256 != data[4]) { humidity = temperature = 0; return; } // data kelembaban humidity = Double.valueOf(String.valueOf(data[0]) + "." + String.valueOf(data[1])); Log.d(TAG, "humidity: " + humidity); // data suhu 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); } } - Konfigurasikan perangkat untuk membaca data dari sensor deteksi formaldehida ZE08-CH2O menggunakan UART.
try { // buffer data 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); } - Hubungkan perangkat ke IoT Platform dan laporkan data.
/* Format Payload { "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 pubTopYourPc = "/sys/${YourProductKey}/${YourDeviceName}/thing/event/property/post"; mqttClient.publish(pubTopic, message);
Anda dapat mengunjungi aliyun-iot-androidthings-nxp di GitHub untuk mengunduh proyek sampel lengkap.
Lihat data real-time perangkat
Setelah perangkat dihidupkan, masuk ke konsol IoT Platform. di halaman Device Details, lihat data properti real-time perangkat di bagian Status.
