Skip to content

Latest commit

 

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistem Prediksi Bahaya Gas Beracun dan Anomali Termal pada Tambang Bawah Tanah berbasis AIoT

Raspberry Pi MQTT Telegram Gemini Metabase Status


Nama Anggota Kelompok

Azfarafi Gustiar Jati - 5024241037
Ilan Hawwari Prasojo - 5024241039
Anak Agung Ngurah Agung Kresna Ananta - 5024241085


Deskripsi Proyek

Latar Belakang & Masalah

Sektor tambang mineral dan batubara merupakan salah satu penopang utama perekonomian Indonesia. Namun, seiring menipisnya cadangan di permukaan, industri dipaksa beralih ke metode tambang bawah tanah (underground mining). Lingkungan bawah tanah yang tertutup dan minim sirkulasi udara memiliki risiko kecelakaan kerja yang sangat tinggi.

Proyek ini dilatarbelakangi oleh tragedi nyata, salah satunya Tragedi Tambang Emas Pongkor, Bogor pada Januari 2026. Kebocoran gas beracun dan ledakan di area tambang tersebut menjadi bukti nyata bahwa metode monitoring konvensional masih memiliki celah fatal. Dua ancaman utama yang kami fokuskan adalah:

  1. Gas Beracun Tak Kasatmata: Akumulasi gas berbahaya seperti Karbon Monoksida (CO) dan Hidrogen Sulfida ($\text{H}_2\text{S}$) yang memicu keracunan massal hingga ledakan tanpa disadari oleh pekerja.
  2. Anomali Termal: Fluktuasi suhu abnormal yang menjadi indikator awal mesin mengalami overheating atau adanya potensi kebakaran tersembunyi di balik dinding tambang.

Solusi yang Ditawarkan

Kami mengembangkan sistem berbasis AIoT yang memantau kondisi tambang bawah tanah secara real-time menggunakan sensor gas dan suhu. Data dari ESP32 diteruskan melalui Raspberry Pi menuju server untuk diproses oleh n8n, disimpan ke PostgreSQL, divisualisasikan melalui Metabase, serta digunakan untuk mengirim notifikasi Telegram ketika terjadi kondisi tidak normal.

Sistem ini menggabungkan dua mekanisme utama: alert otomatis berbasis rule-based logic untuk respons cepat, dan chatbot Telegram berbasis Gemini AI untuk membantu pengguna menanyakan status, riwayat data, statistik, atau analisis kondisi tambang secara interaktif.

Detail ambang batas status keamanan dijelaskan pada bagian Parameter Standar Acuan Status Keamanan.


Flow System

Sistem Prediksi Bahaya Gas Beracun dan Anomali Termal Tambang Bawah Tanah Berbasis AIoT

Sistem pemantauan dan prediksi berbasis AIoT (Artificial Intelligence of Things) yang dirancang untuk mendeteksi risiko gas berbahaya dan anomali termal di area tambang bawah tanah secara real-time.

Flow Komunikasi Data

Flow komunikasi data sensor ke dashboard dan Telegram

Alur komunikasi dimulai dari sensor gas dan suhu yang dibaca oleh ESP32. Data kemudian diteruskan ke Raspberry Pi, masuk ke VM/server, dan diproses oleh n8n. Dari n8n, data dapat dikirim ke Telegram sebagai kanal peringatan, disimpan ke PostgreSQL, serta divisualisasikan melalui Metabase.

Flow Alert Status Keamanan

Flow penentuan status aman, waspada, dan bahaya

Setiap data JSON berisi nilai suhu dan gas diproses oleh n8n menggunakan logika ambang batas. Jika suhu melebihi 38°C atau gas melebihi 500 PPM, sistem memberi status BAHAYA, mengirim pesan ke Telegram, dan menyimpan status ke database. Jika suhu berada di atas 30°C atau gas di atas 200 PPM, sistem memberi status WASPADA. Jika seluruh parameter berada di bawah ambang tersebut, data disimpan sebagai status AMAN.

Flow Chatbot Telegram

Flow chatbot Telegram untuk command dan Gemini AI

Chatbot Telegram menerima pesan pengguna dan membedakan antara perintah cepat dengan percakapan bebas. Perintah seperti /status, /history, /predict, dan /stats mengambil data dari database untuk dikirim kembali ke pengguna. Jika pesan tidak termasuk perintah yang dikenali, konteks percakapan diteruskan ke Gemini AI agar pengguna tetap dapat bertanya secara natural tentang kondisi tambang, riwayat sensor, atau rekomendasi tindakan.


Arsitektur Sistem (Berdasarkan Flowchart)

Sistem ini dirancang dengan alur data sekuensial dari pengumpulan data fisik hingga visualisasi akhir dan sistem peringatan:

  1. Edge Layer (Pengumpulan Data)

    • Sensor Gas (MQ-7 pada rancangan / MQ-6 pada prototipe): Mendeteksi konsentrasi gas berbahaya di area tambang.
    • DHT22 Sensor: Mengukur suhu (Celsius) dan kelembaban udara.
    • ESP 32: Membaca data dari kedua sensor secara real-time.
  2. Network Layer (Transmisi Data)

    • Raspberry Pi: Menjadi penghubung awal dari perangkat ESP32 menuju server.
    • VM / Server: Menyediakan lingkungan eksekusi untuk layanan backend dan otomasi.
  3. Backend & Storage Layer (Pengolahan Utama)

    • n8n (Backend): Menerima data sensor, menjalankan logika klasifikasi status, dan mengatur alur integrasi.
    • Database (Raw Data): n8n memasukkan data sensor mentah yang diterima ke dalam database untuk diarsipkan.
  4. Intelligence & Notification Layer (Alerting & Chatbot)

    • Static Alerting System (n8n): Engine backend menggunakan logika rule-based (IF-ELSE) untuk memantau ambang batas bahaya secara real-time. Jika anomali terdeteksi, sistem langsung menembakkan pesan peringatan darurat (menggunakan template statis) ke Telegram guna menjamin kecepatan transmisi (zero delay) dan keandalan informasi.
    • Interactive AI Chatbot (Gemini LLM): Terintegrasi di dalam bot Telegram sebagai asisten K3 virtual. Setelah menerima alert darurat, pengawas atau pekerja dapat langsung berinteraksi dengan AI untuk menanyakan detail situasi, meminta panduan evakuasi yang spesifik, atau menganalisis konteks data terkini secara natural.
    • Database (Event Logging): Setiap alert yang terpicu dan riwayat interaksi anomali disimpan ke dalam database untuk keperluan audit K3 dan pelaporan.
  5. Frontend & Visualization Layer (Monitoring)

    • Metabase (Frontend): Bertindak sebagai user interface utama yang menarik data hasil prediksi dari database untuk disajikan dalam bentuk dashboard visual interaktif bagi manajemen tambang.

Parameter Standar Acuan Status Keamanan

Sistem mengklasifikasikan kondisi tambang bawah tanah ke dalam 3 tingkatan status berdasarkan kombinasi pembacaan fisik sensor dan logika ambang batas pada n8n:

Status Batas Suhu (DHT22) Batas Gas (Sensor Gas) Logika Sistem & Aksi
AMAN < 30°C < 200 PPM Kondisi Normal. Suhu udara dan kadar gas berada dalam batas wajar untuk pekerja tambang.
Aksi: Data diarsipkan ke Database, Metabase diperbarui berkala.
WASPADA 30°C - 38°C 200 PPM - 500 PPM Deteksi Anomali Awal. Sistem mendeteksi adanya indikasi anomali termal atau kenaikan gas secara bertahap.
Aksi: Mengirim notifikasi awal ke Telegram dan menyimpan status ke database.
BAHAYA > 38°C
(Panas ekstrem/kebakaran)
> 500 PPM
(Gas beracun pekat)
Kondisi Kritis. Risiko tinggi kebakaran bawah tanah atau kontaminasi gas yang mengancam nyawa.
Aksi: Telegram langsung memicu alarm darurat secara otomatis untuk evakuasi pekerja.

Dalam standar keselamatan kerja (K3) tambang, kita harus menggunakan Prinsip Garis Pertahanan Terlemah (Worst-Case Scenario). Artinya, jika salah satu parameter sudah masuk zona merah/kuning, maka status keseluruhan harus langsung naik ke level tersebut demi keselamatan nyawa pekerja, tidak boleh dirata-rata.

*> Catatan: Pada prototipe ini digunakan MQ-6 sebagai Proof of Concept. Pada implementasi nyata akan menggunakan MQ-7 untuk mendeteksi ambang batas CO.


Fitur Chatbot & Alert Telegram

Sistem notifikasi pada Telegram Bot ini beroperasi menggunakan pendekatan Hybrid (Static Push + AI Conversational Pull) untuk memastikan keseimbangan antara kecepatan peringatan dan kedalaman informasi:

  1. Push Notification (Static Alerting): Saat parameter lingkungan menyentuh batas Waspada atau Bahaya, sistem otomatis mengirimkan template pesan darurat yang tegas dan konsisten agar pekerja bisa langsung merespons tanpa menunggu waktu generate teks dari AI.
  2. Pull Request (Interactive AI Chatbot): Setelah peringatan diterima, pekerja/pengawas dapat membalas pesan bot tersebut. Di sinilah AI (Gemini LLM) mengambil alih untuk menjawab pertanyaan situasional (misal: "Jalur evakuasi mana yang paling aman sekarang?" atau "Berapa lama gas menyentuh angka ini?").

Selain chat natural dengan AI, pengguna juga dapat menggunakan perintah cepat berikut untuk informasi on-demand:

  • /statusData Sensor Terkini: Menampilkan nilai real-time dari sensor MQ-6 dan DHT22, serta status lingkungan terakhir.
  • /historyRiwayat Data Terbaru: Menampilkan ringkasan data suhu dan gas terbaru dari database.
  • /predictAnalisis dan Prediksi: Mengambil data historis dari database, menghitung nilai AVG, MIN, dan MAX, lalu meminta Gemini AI memberikan analisis kondisi.
  • /statsStatistik Sensor: Menyajikan metrik seperti suhu rata-rata, puncak kadar gas, dan ringkasan kondisi lingkungan.

Cara Menjalankan Proyek

Bagian ini memandu Anda untuk menjalankan proyek ini di lingkungan lokal.

1. Prasyarat (Prerequisites)

Pastikan sistem Anda telah menginstal:

  • PlatformIO IDE (VS Code) untuk flashing ESP32.
  • Python 3.8+ (untuk menjalankan Gateway MQTT).
  • Akun n8n (Local/Self-hosted atau Cloud) & Kredensial Bot Telegram.

2. Setup Perangkat Keras (Hardware)

  • Rangkai ESP32 dengan DHT22 (Pin 32) dan MQ-6 (Pin 36 / VP).
  • Upload kode C++ yang ada di folder /esp32_firmware menggunakan PlatformIO.

3. Setup Gateway (Raspberry Pi / Laptop)

  1. Buka terminal dan masuk ke direktori /gateway.
  2. Instal library yang dibutuhkan: pip install paho-mqtt pyserial python-dotenv.
  3. Sesuaikan file .env (Port Serial, IP Broker, Token API).
  4. Jalankan script: python gateway.py

4. Setup n8n & Metabase

  • Impor file n8n_workflow.json (jika ada) ke dalam dashboard n8n Anda.
  • Hubungkan database PostgreSQL ke Metabase untuk menampilkan dashboard visual.

Foto Alat

No Nama File Nama Komponen Deskripsi / Fungsi Utama
1 Breadboard / Project Board Papan tempat merangkai komponen elektronik secara sementara tanpa perlu menyolder.
2 ESP32 Mikrokontroler yang dilengkapi dengan modul Wi-Fi dan Bluetooth bawaan untuk proyek IoT.
3 Kabel Jumper Kabel penghubung antar komponen elektronik pada breadboard atau mikrokontroler.
4 Raspberry Pi 4 Komputer papan tunggal (Single Board Computer) yang berfungsi sebagai server lokal atau otak pemrosesan data.
5 Sensor DHT22 Sensor digital yang digunakan untuk mengukur suhu udara dan kelembaban relatif (relative humidity).
6 LED (Light Emitting Diode) Komponen semikonduktor yang memancarkan cahaya sebagai indikator visual status sistem.
7 Sensor MQ-6 Sensor gas yang sensitif terhadap kebocoran gas LPG, butana, dan propana.
8 Resistor Komponen elektronik pasif yang berfungsi untuk membatasi atau mengatur arus listrik dalam rangkaian.
9 Kabel USB Type-C Menyuplai daya listrik ke perangkat (ESP32/Raspberry Pi) serta jalur transfer kode program dari komputer.

Stack / Tech yang Digunakan

Perangkat Keras (Hardware & Komponen Elektronika)

  • Mikrokontroler: ESP32 (Internal Wi-Fi module)
  • SBC / Gateway: Raspberry Pi 4
  • Sensor: Sensor Gas MQ-6 & Sensor Suhu/Kelembaban DHT22
  • Komponen Pendukung:
    • Breadboard (Papan Prototiping)
    • Kabel Jumper (Male-to-Male / Male-to-Female)
    • Kabel USB Type-C (Power & Flashing)
    • Resistor 220 Ohm & Resistor 1k Ohm (Pull-up / Pembagi Tegangan)

Perangkat Lunak & Cloud (Software Stack)

  • Protokol Komunikasi: MQTT (Format Payload: JSON)
  • Backend Integration Engine: n8n Workflow Automation
  • Artificial Intelligence: Gemini 3.1 Flash LLM/Prediction Model via API
  • Database Management System: PostgreSQL
  • Data Visualization Tool: Metabase (Frontend Dashboard)
  • Alerting Platform: Telegram Bot API

Dokumentasi Workflow n8n

Berikut adalah rancangan visual dari mesin otomasi backend (integration engine) yang dibangun di atas n8n untuk mengelola logika sirkulasi data dan kecerdasan buatan secara terpisah:

1. Workflow Jalur Peringatan Dini (Static Alerting System)

Workflow n8n Jalur Alerting Statis

Implementasi otomasi event-driven berbasis protokol MQTT untuk menangkap payload JSON sensor secara real-time. Node ini menjalankan mesin penyeleksi logika komparasi threshold (IF-ELSE) untuk memisahkan data ke dalam klasifikasi status AMAN, WASPADA, dan BAHAYA. Jika zona kritis terdeteksi, workflow langsung memicu instruksi sendMessage dan pinChatMessage secara sekuensial ke API Telegram guna menjamin kecepatan hantaran notifikasi evakuasi (zero-delay latency).

2. Workflow Jalur Chatbot Interaktif (Interactive AI Agent)

Workflow n8n Jalur Chatbot MinervaAI

Arsitektur interaksi kognitif yang menjembatani webhook Telegram dengan mesin inferensi LLM. Workflow ini mengintegrasikan node Switch sebagai pemilah perintah on-demand (/status, /history, /predict, /stats, /showgraph ) langsung ke database PostgreSQL. Pada kondisi fallback (percakapan bebas), aliran data dihubungkan ke AI Agent yang ditenagai oleh Gemini Context Engine serta kueri riwayat tambahan, memungkinkan operator melakukan konsultasi taktis penanggulangan bencana K3 tambang secara natural dan kontekstual.


Dokumentasi Dashboard Metabase

Dashboard ini menampilkan kondisi riil atmosfer tambang melalui grafik suhu dan kadar gas karbon monoksida (CO) serta data real-time dari sensor. Informasi status ditampilkan secara otomatis sesuai kondisi lingkungan:

1. Dashboard Metabase Kondisi Aman

Dashboard Metabase Kondisi Aman

Suhu dan kadar gas berada dalam batas normal. Dashboard menampilkan status AMAN dengan penjelasan bahwa kondisi tambang stabil, sehingga pekerja dapat melanjutkan aktivitas dengan tenang sambil tetap mematuhi protokol K3.

2. Dashboard Metabase Kondisi Waspada

Dashboard Metabase Kondisi Waspada

Terjadi kenaikan suhu atau kadar gas mendekati ambang batas. Dashboard menampilkan status WASPADA dengan himbauan agar pekerja meningkatkan kewaspadaan, menggunakan APD dengan benar, dan mengikuti instruksi pengawas lapangan.

3. Dashboard Metabase Kondisi Bahaya

Dashboard Metabase Kondisi Bahaya

Suhu atau kadar gas melebihi ambang batas aman. Dashboard menampilkan status BAHAYA dengan instruksi tegas agar pekerja segera menghentikan aktivitas dan keluar dari area tambang sesuai jalur evakuasi yang telah ditentukan.

Video Demo

Video Demo

About

AIoT-based underground mine safety monitoring system with gas detection, thermal anomaly alerts, Telegram chatbot, and Metabase dashboard.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages