Membangun Mesin Pemantau Polusi Udara di Perkotaan dengan ESP32

3 min read 23-08-2024
Membangun Mesin Pemantau Polusi Udara di Perkotaan dengan ESP32

Polusi udara menjadi salah satu masalah lingkungan yang paling menantang di perkotaan. Dengan jumlah kendaraan yang terus meningkat, pertumbuhan industri, dan aktivitas manusia yang tidak terkontrol, kualitas udara di banyak kota semakin memburuk. Sebagai respons terhadap masalah ini, teknologi dapat dimanfaatkan untuk memantau dan menganalisis tingkat polusi udara. Salah satu alat yang bisa digunakan dalam membangun mesin pemantau polusi udara adalah ESP32. Artikel ini akan membahas cara membangun mesin pemantau polusi udara menggunakan ESP32.

Apa Itu ESP32?

ESP32 adalah sebuah modul mikrokontroler yang dikembangkan oleh Espressif Systems. Modul ini memiliki kemampuan Wi-Fi dan Bluetooth, sehingga sangat cocok untuk aplikasi Internet of Things (IoT). Dengan performa yang baik, harga terjangkau, dan dukungan komunitas yang luas, ESP32 menjadi pilihan yang populer untuk berbagai proyek elektronik, termasuk pemantauan polusi udara.

Keunggulan ESP32:

  • Dual-core: ESP32 memiliki dua inti prosesor yang memungkinkan pemrosesan tugas secara bersamaan.
  • Konektivitas: Dilengkapi dengan Wi-Fi dan Bluetooth, memudahkan komunikasi dengan perangkat lain, termasuk smartphone dan server.
  • Berdiri sendiri: Dapat berfungsi tanpa memerlukan perangkat tambahan, cukup dengan catu daya yang tepat.
  • Biaya rendah: Harganya yang terjangkau membuatnya dapat diakses oleh banyak kalangan, termasuk pelajar dan penggiat teknologi.

Komponen yang Diperlukan

Untuk membangun mesin pemantau polusi udara dengan ESP32, anda memerlukan beberapa komponen berikut:

  1. ESP32 Module: Sebagai otak dari semua proses.
  2. Sensor Kualitas Udara:
    • Sensor MQ-135 untuk mendeteksi gas berbahaya seperti amonia, benzena, dan karbon dioksida.
    • Sensor PMS5003 untuk mengukur partikel debu di udara (PM2.5 dan PM10).
  3. Breadboard dan Jumper Wire: Untuk menyusun rangkaian.
  4. Catu Daya: Dapat menggunakan micro USB atau baterai.
  5. Arduino IDE: Untuk pemrograman ESP32.

Langkah-langkah Membangun Mesin Pemantau Polusi Udara

1. Menyusun Rangkaian

Pertama, hubungkan komponen-komponen di atas sesuai dengan skema berikut:

  • Hubungkan sensor MQ-135 dan PMS5003 ke ESP32 menggunakan koneksi yang sesuai, biasanya menggunakan pin GPIO.
  • Pastikan semua kabel terhubung dengan benar untuk mencegah kesalahan pembacaan data.

2. Menginstal Perpustakaan di Arduino IDE

Download dan instal perpustakaan yang diperlukan untuk ESP32 dan sensor. Anda dapat menemukan perpustakaan di Arduino Library Manager. Cari library untuk:

  • ESP32
  • Sensor MQ-135
  • Sensor PMS5003

3. Menulis Kode

Berikut adalah contoh kode sederhana untuk membaca data dari sensor dan mengirimkannya ke server menggunakan Wi-Fi.

#include <WiFi.h>
#include <MQ135.h>
#include <PMS.h>

const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

MQ135 gasSensor = MQ135(A0);
PMS pms(10); // RX pin for PMS5003
float gasValue = 0;

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, password);

    // Menghubungkan ke WiFi
    while (WiFi.status() != WL_CONNECTED) {
        delay(1000);
        Serial.println("Connecting to WiFi...");
    }
    
    Serial.println("Connected to WiFi");
    
    // Inisialisasi sensor PMS
    pms.begin();
    pms.setInterval(10); // Set interval pengukuran
}

void loop() {
    // Membaca nilai dari gas sensor
    gasValue = gasSensor.getPPM();
    Serial.print("Gas Level: ");
    Serial.println(gasValue);
    
    // Membaca dari sensor PMS5003
    pms.wakeUp();
    delay(30000); // Tunggu 30 detik untuk pembacaan
    pms.requestRead();
    delay(10000); // Tunggu selama pembacaan
    int pmValue = pms.getPM2_5();
    Serial.print("PM2.5: ");
    Serial.println(pmValue);
    
    // Kirim data ke server (kode pengiriman data disini)
    
    pms.sleep(); // Tidur setelah pembacaan
    delay(60000); // Tunggu 1 menit sebelum pembacaan berikutnya
}

4. Mengirim Data ke Server

Setelah Anda mendapat data dari sensor, Anda bisa mengirimkan data tersebut ke server menggunakan HTTP POST. Anda bisa menggunakan platform seperti ThingSpeak atau Blynk untuk menampilkan data secara real-time. Berikut adalah contoh untuk mengirim data menggunakan HTTP:

#include <HTTPClient.h>

void sendData(float gasLevel, int pmLevel) {
    if (WiFi.status() == WL_CONNECTED) {
        HTTPClient http;
        http.begin("http://your-server-endpoint.com/upload"); // Ganti dengan endpoint server Anda
        http.addHeader("Content-Type", "application/json");
        
        String jsonData = "{\"gas\":\"" + String(gasLevel) + "\", \"pm\":\"" + String(pmLevel) + "\"}";
        int httpResponseCode = http.POST(jsonData);
        
        if (httpResponseCode > 0) {
            String response = http.getString();
            Serial.println(httpResponseCode);
            Serial.println(response);
        }
        else {
            Serial.print("Error on sending POST: ");
            Serial.println(httpResponseCode);
        }
        http.end();
    }
}

5. Menampilkan Data

Setelah berhasil mengirimkan data ke server, Anda dapat menampilkan data tersebut dalam bentuk grafis atau tabel. Anda bisa menggunakan dashboard web yang telah disediakan oleh platfrom yang Anda pilih atau membuat aplikasi sederhana untuk melihat data secara real-time.

Kesimpulan

Membangun mesin pemantau polusi udara menggunakan ESP32 adalah sebuah proyek yang menarik dan bermanfaat. Anda tidak hanya belajar tentang pemrograman dan elektronika, tetapi juga berkontribusi dalam menciptakan solusi terhadap masalah polusi udara di perkotaan. Dengan memanfaatkan data yang dihasilkan oleh mesin pemantau ini, masyarakat dan pemerintah dapat mengambil langkah-langkah yang efektif dalam menjaga kualitas udara dan melindungi kesehatan publik.

Dengan berbagai sensor dan modul yang tersedia, Anda memiliki kesempatan untuk memperluas proyek ini menjadi sistem yang lebih canggih, termasuk analisis data dan penggunaan machine learning untuk memprediksi tingkat polusi di masa depan. Selamat mencoba dan semoga sukses!