Panduan Penggunaan

Langkah-langkah menggunakan sistem deteksi gempa SeismicDetect

1. Mendapatkan API Token

1
Login ke Akun Anda

Buka website SeismicDetect dan login menggunakan email dan password Anda.

2
Buka Halaman Download Gateway

Klik menu "Download Gateway" di navbar atau akses langsung /gateway/download

3
Generate API Token

Klik tombol "Generate Token" untuk membuat API Key baru. Token ini akan digunakan untuk autentikasi gateway Anda.

4
Simpan Token

Copy dan simpan API Token Anda. Token hanya ditampilkan sekali!

sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

2. Installation Methods

Recommended

🐍 Python Method

Metode paling mudah dan universal untuk semua sistem operasi (Windows, Linux, macOS).

Prerequisites:
  • Python 3.8 atau lebih baru Download Python
  • Pip (Python package manager)
  • Git (opsional, untuk clone repository)
Installation Steps:
Terminal / Command Prompt
# 1. Clone repository (atau download ZIP)
git clone https://github.com/seismicdetect/gateway.git
cd gateway

# 2. Install dependencies
pip install -r requirements.txt

# 3. Set API Token
export USER_TOKEN=sk_live_YOUR_TOKEN_HERE   # Linux/Mac
# atau
set USER_TOKEN=sk_live_YOUR_TOKEN_HERE      # Windows CMD
# atau
$env:USER_TOKEN="sk_live_YOUR_TOKEN_HERE"   # Windows PowerShell

# 4. Jalankan gateway
python gateway.py
Menggunakan file .env (Alternatif):
Buat file .env
# Buat file .env di folder gateway
echo "USER_TOKEN=sk_live_YOUR_TOKEN_HERE" > .env
echo "SERVER_URL=http://localhost:8000" >> .env

# Jalankan gateway
python gateway.py
Advanced

🐳 Docker Method

Untuk pengguna yang sudah familiar dengan Docker.

Prerequisites:
Installation Steps:
Terminal
# Pull image dari Docker Hub
docker pull seismicdetect/gateway:latest

# Jalankan container
docker run -d \
  --name seismic-gateway \
  --device=/dev/ttyUSB0 \
  -e USER_TOKEN=sk_live_YOUR_TOKEN_HERE \
  -e SERVER_URL=http://localhost:8000 \
  seismicdetect/gateway:latest

# Lihat log
docker logs -f seismic-gateway
Coming Soon

⚙️ Binary Method

Download executable untuk sistem operasi Anda (tanpa perlu install Python).

Windows (.exe) Soon
Linux (amd64) Soon
macOS (arm64) Soon

3. Menghubungkan Hardware

🔌 Koneksi USB (Arduino / ESP32 via USB)

1
Hubungkan hardware via USB

Colokkan kabel USB dari ESP32/Arduino ke komputer.

2
Upload kode ke ESP32

Gunakan Arduino IDE untuk upload kode berikut:

#include <WiFi.h>
#include <ArduinoJson.h>

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

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

void loop() {
    int nilaiSensor = analogRead(34);
    
    StaticJsonDocument<200> doc;
    doc["type"] = "gempa";
    doc["value"] = nilaiSensor;
    
    String output;
    serializeJson(doc, output);
    Serial.println(output);
    
    delay(1000);
}
3
Identifikasi Port Serial
  • Linux: /dev/ttyUSB0 atau /dev/ttyACM0
  • Windows: COM3, COM4, dll
  • macOS: /dev/cu.usbserial-* atau /dev/cu.usbmodem-*
4
Jalankan Gateway

Gateway akan otomatis mendeteksi port USB dan mulai membaca data.

📡 Koneksi WiFi (ESP32 via Network)

1
Upload kode ESP32 dengan koneksi WiFi
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>

const char* ssid = "YOUR_WIFI";
const char* password = "YOUR_PASSWORD";
const char* serverUrl = "http://YOUR_SERVER_IP:8000/api/gateway/data";
const char* apiToken = "sk_live_YOUR_TOKEN_HERE";

void setup() {
    Serial.begin(115200);
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }
}

void loop() {
    int nilaiSensor = analogRead(34);
    
    if (nilaiSensor > 100) {
        HTTPClient http;
        http.begin(serverUrl);
        http.addHeader("Content-Type", "application/json");
        http.addHeader("X-API-Key", apiToken);
        
        StaticJsonDocument<200> doc;
        doc["type"] = "gempa";
        doc["value"] = nilaiSensor;
        
        String requestBody;
        serializeJson(doc, requestBody);
        http.POST(requestBody);
        http.end();
    }
    
    delay(2000);
}
2
Pastikan ESP32 dan Server dalam jaringan yang sama

Ganti IP server dengan IP komputer/server Anda.

4. Verifikasi Koneksi

1
Cek Log Gateway

Setelah gateway berjalan, Anda akan melihat output seperti:

✅ Gateway running! Waiting for data... 📊 Data received: gempa=1240 ✅ Data sent to server
2
Cek di Dashboard

Buka halaman dashboard untuk melihat data getaran yang masuk.

Buka Dashboard →
3
Troubleshooting
  • API Key invalid: Pastikan token sudah benar dan masih berlaku
  • Port tidak ditemukan: Cek permission USB (Linux: sudo chmod 666 /dev/ttyUSB0)
  • Data tidak masuk: Cek koneksi internet dan pastikan server berjalan

💡 Tips Keamanan Saat Gempa

  • ✓ Tetap tenang dan jangan panik
  • ✓ Cari perlindungan di bawah meja atau struktur yang kuat
  • ✓ Jauhi jendela, rak, dan benda yang bisa jatuh
  • ✓ Jika di luar ruangan, menjauhlah dari bangunan dan kabel listrik
  • ✓ Ikuti instruksi dari pihak berwenang