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 / ESP8266 via USB)

1
Hubungkan hardware via USB

Colokkan kabel USB dari ESP8266/Arduino ke komputer.

2
Upload kode ke ESP8266/strong>

Gunakan Arduino IDE untuk upload kode berikut:

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

const char* ssid = "Your_name";
const char* password = "Yourn_password";

const char* serverUrl ="https://seismicdetectt.moscamp.site/api/v1/gateway/data";
const char* apiKey ="oA2xxxxxxxxxxxxxxxxxxxxxx";

Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);

void setup() {

  Serial.begin(9600);

  // Init sensor
  if (!accel.begin()) {
    Serial.println("Sensor ADXL345 tidak terdeteksi! Cek wiring.");
    while (1);  // berhenti jika sensor tidak ditemukan
  }

  accel.setRange(ADXL345_RANGE_2_G);  // range ±2g cukup untuk gempa kecil
  Serial.println("ADXL345 OK");

  // Koneksi Wi-fi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting WiFi...");
  }
  Serial.println("WiFi Connected");
}

void loop() {
  if (WiFi.status() == WL_CONNECTED) {

    // Baca data sensor
    sensors_event_t event;
    accel.getEvent(&event);

    float x = event.acceleration.x;  // m/s²
    float y = event.acceleration.y;
    float z = event.acceleration.z;

    Serial.print("X: "); Serial.print(x);
    Serial.print(" | Y: "); Serial.print(y);
    Serial.print(" | Z: "); Serial.println(z);

    // Kirim ke serve
    WiFiClientSecure client;
    client.setInsecure();

    HTTPClient http;
    http.begin(client, serverUrl);
    http.addHeader("Content-Type","application/json");
    http.addHeader("X-API-Key",apiKey);

    String jsonData ="{";
    jsonData += "\"type\":\"gempa\",";
    jsonData += "\"x\":" + String(x, 4) + ",";
    jsonData += "\"y\":" + String(y, 4) + ",";
    jsonData += "\"z\":" + String(z, 4);
    jsonData += "}";

    Serial.println(jsonData);

    int httpResponseCode = http.POST(jsonData);
    Serial.print("HTTP Response: ");
    Serial.println(httpResponseCode);

    String response = http.getString();
    Serial.println(response);

    http.end();
  }

  delay(5000);
}
}
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 (ESP8266 via Network)

1
Upload kode ESP8266 dengan koneksi WiFi
#include <WiFi.h>

#include 
#include 
#include 
#include 
#include 
#include 
const char* ssid = "Your_name";
const char* password = "Yourn_password";

const char* serverUrl ="https://seismicdetectt.moscamp.site/api/v1/gateway/data";

Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);

void setup() {

  Serial.begin(9600);

  // Init sensor
  if (!accel.begin()) {
    Serial.println("Sensor ADXL345 tidak terdeteksi! Cek wiring.");
    while (1);  // berhenti jika sensor tidak ditemukan
  }

  accel.setRange(ADXL345_RANGE_2_G);  // range ±2g cukup untuk gempa kecil
  Serial.println("ADXL345 OK");

  // Koneksi Wi-fi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting WiFi...");
  }
  Serial.println("WiFi Connected");
}

    int httpResponseCode = http.POST(jsonData);
    Serial.print("HTTP Response: ");
    Serial.println(httpResponseCode);

    String response = http.getString();
    Serial.println(response);

    http.end();
  }

  delay(5000);
}
}
2
Pastikan ESP8266 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