Pendeteksian Kualitas Udara di Ruang Kelas dengan ESP32 dan TensorFlow Lite

3 min read 22-08-2024
Pendeteksian Kualitas Udara di Ruang Kelas dengan ESP32 dan TensorFlow Lite

Pendahuluan

Kualitas udara di ruang kelas sangat penting untuk mendukung proses belajar mengajar yang efektif dan sehat. Dalam lingkungan pendidikan, udara yang bersih dan sehat dapat meningkatkan konsentrasi siswa, mengurangi risiko penyakit, serta menciptakan suasana belajar yang lebih baik. Salah satu solusi teknologi yang dapat digunakan untuk memantau kualitas udara adalah dengan memanfaatkan modul ESP32 dan TensorFlow Lite. Artikel ini akan membahas cara mendeteksi kualitas udara di ruang kelas menggunakan kedua teknologi tersebut.

Apa itu ESP32?

ESP32 adalah sebuah modul mikrokontroler yang dilengkapi dengan Wi-Fi dan Bluetooth. Modul ini populer di kalangan pengembang dan hobiis karena kemampuannya yang kuat dan harga yang terjangkau. Dalam konteks pemantauan kualitas udara, ESP32 dapat digunakan untuk mengumpulkan data dari sensor-sensor yang memantau berbagai parameter kualitas udara, seperti suhu, kelembapan, dan konsentrasi gas berbahaya.

Mengapa Menggunakan TensorFlow Lite?

TensorFlow Lite adalah versi ringan dari TensorFlow yang dirancang untuk perangkat seluler dan IoT. Dengan TensorFlow Lite, kita dapat membangun model machine learning yang dapat digunakan di perangkat dengan sumber daya terbatas, seperti ESP32. Model ini dapat membantu dalam menganalisis data yang dikumpulkan dari sensor dan memberikan pengambilan keputusan yang lebih cerdas.

Langkah-Langkah Pendeteksian Kualitas Udara

1. Memilih Sensor yang Sesuai

Langkah pertama adalah memilih sensor-sensor yang akan digunakan untuk mendeteksi kualitas udara. Beberapa sensor yang sering digunakan antara lain:

  • MQ-135: Sensor ini dapat mendeteksi berbagai jenis gas, termasuk amonia, benzena, dan gas berbahaya lainnya.
  • DHT22: Sensor ini dapat mengukur suhu dan kelembapan udara, dua parameter penting dalam menentukan kualitas udara.

2. Menghubungkan Sensor ke ESP32

Setelah memilih sensor, langkah berikutnya adalah menghubungkan sensor-sensor tersebut ke ESP32. Proses ini meliputi:

  • Menyambungkan kabel power dan ground ke sensor.
  • Menghubungkan pin output sensor ke pin input yang sesuai di ESP32.
  • Menggunakan breadboard untuk memudahkan penyambungan.

3. Mengumpulkan Data

Dengan semua komponen yang terhubung, kita perlu menulis kode untuk ESP32 agar dapat membaca data dari sensor. Berikut adalah contoh kode sederhana:

#include <DHT.h>

#define DHTPIN 2     // Pin yang digunakan untuk sensor DHT
#define DHTTYPE DHT22   // Tipe sensor yang digunakan

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(115200);
  dht.begin();
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();

  // Cek apakah pembacaan gagal dan ulangi jika perlu
  if (isnan(h) || isnan(t)) {
    Serial.println("Gagal membaca dari sensor DHT!");
    return;
  }

  Serial.print("Kelembapan: ");
  Serial.print(h);
  Serial.print(" %\t");
  Serial.print("Suhu: ");
  Serial.print(t);
  Serial.println(" *C");

  delay(2000);
}

4. Memproses Data dengan TensorFlow Lite

Setelah mengumpulkan data, langkah berikutnya adalah memproses data tersebut menggunakan TensorFlow Lite. Pertama, kita perlu melatih model machine learning menggunakan dataset yang relevan. Dataset ini bisa berupa data kualitas udara yang telah dikumpulkan sebelumnya.

Melatih Model

Melatih model menggunakan TensorFlow melibatkan beberapa langkah:

  1. Mengumpulkan Data: Kumpulkan data dari berbagai sumber, serta data dari sensor yang telah dipasang di ruang kelas.
  2. Preprocessing Data: Lakukan pengolahan awal pada data untuk menyiapkannya agar dapat digunakan dalam pelatihan model, seperti normalisasi.
  3. Memilih Algoritma: Pilih algoritma machine learning yang sesuai, misalnya Decision Trees atau Neural Networks.
  4. Melatih Model: Gunakan TensorFlow untuk melatih model dengan data yang telah disiapkan.

Mengonversi Model

Setelah model dilatih, ubah model tersebut menjadi format TensorFlow Lite. Ini bertujuan agar model dapat dijalankan di ESP32. Proses ini melibatkan:

import tensorflow as tf

# Baca model yang telah dilatih
model = tf.keras.models.load_model('path_to_your_model.h5')

# Konversi model ke TensorFlow Lite
converter = tf.lite.TFLiteConverter.from_keras_model(model)
tflite_model = converter.convert()

# Simpan model TensorFlow Lite
with open('model.tflite', 'wb') as f:
    f.write(tflite_model)

5. Mengimplementasikan Model pada ESP32

Setelah mendapatkan model TensorFlow Lite, langkah selanjutnya adalah mengimplementasikannya di ESP32. Ini melibatkan:

  • Menggunakan library TensorFlow Lite untuk C++ pada ESP32.
  • Memuat model TFLite ke dalam ESP32.
  • Memproses data yang diperoleh dari sensor dan memberikan prediksi kualitas udara.

Berikut adalah contoh kode untuk menjalankan model:

#include "tensorflow/lite/experimental/arduino/tensorflowlite.h"

// Inisialisasi variabel dan model
TfLiteModel* model = tflite::model::LoadModel("model.tflite");
TfLiteInterpreter* interpreter = tflite::interpreter::Create(model);

// Menjalankan inferensi
interpreter->AllocateTensors();
float* input = interpreter->input(0)->data.f;
float* output = interpreter->output(0)->data.f;

// Ambil data dari sensor dan masukkan ke input model
input[0] = suhu;  // masukkan suhu
input[1] = kelembapan;  // masukkan kelembapan

interpreter->Invoke();  // Jalankan model

// Ambil hasil prediksi
float hasil = output[0];
Serial.println(hasil);

Kesimpulan

Dengan menggunakan ESP32 dan TensorFlow Lite, kita dapat membangun sistem pendeteksian kualitas udara yang efisien dan praktis di ruang kelas. Sistem ini tidak hanya dapat mengukur suhu dan kelembapan, tetapi juga dapat mendeteksi keberadaan gas berbahaya dan memberikan analisis yang lebih mendalam melalui kemampuan machine learning. Dengan demikian, kita dapat menciptakan lingkungan belajar yang lebih baik dan lebih sehat bagi siswa. Penerapan teknologi dalam pemantauan kualitas udara adalah langkah maju untuk meningkatkan kualitas pendidikan dan kesejahteraan siswa di sekolah-sekolah.