Zeus 2.0 — Enerji Yönetim Sistemi
Zeus 2.0, güneş enerji santralleri (GES) ve endüstriyel tesisler için geliştirilmiş kapsamlı bir IoT tabanlı enerji izleme ve yönetim platformudur. ESP32 gateway cihazları üzerinden Modbus RTU protokolü ile enerji analizörleri, inverterler, kompanzasyon sistemleri ve devre kesicileri okur; verileri MQTT üzerinden bulut altyapısına iletir ve modern bir web dashboard ile görselleştirir.
Platform, çoklu kiracı (multi-tenant) mimarisi sayesinde birden fazla organizasyonun aynı altyapıyı güvenli ve izole biçimde kullanmasını sağlar. Gerçek zamanlı telemetri, alarm yönetimi, OTA firmware güncellemeleri, tek hat şeması (SLD) editörü ve detaylı raporlama gibi kurumsal düzeyde özellikler sunar.
Temel Özellikler
- Gerçek zamanlı telemetri — 5 saniye aralıklarla canlı enerji verisi (voltaj, akım, güç, enerji)
- Multi-tenant izolasyon — API, veritabanı ve MQTT katmanında tam kiracı ayrımı
- 11 farklı cihaz modeli desteği — (Entes, Kael, Varkombi, Sofar, Matismart, Electronova) (Modbus RTU)
- OTA firmware güncellemeleri — Uzaktan imzalı firmware yükleme (ECDSA P-256)
- Alarm sistemi — 62+ alarm tipi, otomatik bildirim (e-posta, SMS, WhatsApp)
- SLD editörü — Tek Hat Şeması oluşturma ve düzenleme (React Flow)
- Raporlama ve export — CSV, Excel, PDF formatlarında enerji raporları
- Zigbee entegrasyonu — Zigbee2MQTT üzerinden akıllı cihaz kontrolü
- LOTO (Lock-Out Tag-Out) — İş güvenliği izolasyon yönetimi
- Dashboard widget'ları — Özelleştirilebilir gerçek zamanlı gösterge paneli
- Reaktif güç analizi — Günlük/aylık reaktif oran hesaplama ve ceza takibi
- Coğrafi harita — Google Maps üzerinde tesis ve cihaz konumları
Teknoloji Stack'i
| Katman | Teknoloji |
|---|---|
| Backend | FastAPI 0.115, Python 3.11, SQLAlchemy 2.0, Alembic |
| Frontend | Next.js 14 (App Router), React 18, TypeScript 5, Tailwind CSS |
| Veritabanı | PostgreSQL 15 + TimescaleDB (zaman serisi) |
| Cache / Kuyruk | Redis 7, Celery 5.3 |
| MQTT Broker | EMQX 5.8.3 |
| Object Storage | MinIO (S3-uyumlu, firmware depolama) |
| Grafikler | amCharts 5, Recharts, React Flow |
| State Management | TanStack Query (server), Zustand (client) |
| Firmware | ESP32, PlatformIO, FreeRTOS (dual-core) |
| CI/CD | GitHub Actions, Docker Compose |
Hızlı Başlangıç
# 1. Repo'yu klonla
git clone https://github.com/gucluceyhan/zeus2.0.git
cd zeus2.0
# 2. Environment dosyasını oluştur
cp env.example .env
# .env dosyasını düzenle (POSTGRES_PASSWORD, SECRET_KEY vb.)
# 3. Tüm servisleri başlat
docker compose up -d
# 4. Monitoring cron'larını kur
./scripts/monitoring/setup-monitoring-cron.sh
Dokümantasyon Yapısı
| Bölüm | Açıklama |
|---|---|
| Mimari | Sistem mimarisi, veri akışı, proje yapısı |
| Backend | FastAPI modülleri, core servisler, Celery görevleri |
| Frontend | Next.js sayfalar, bileşenler, state management |
| Veritabanı | Tablo şemaları, TimescaleDB, migration rehberi |
| MQTT & Telemetri | Topic hiyerarşisi, payload şemaları, EMQX config |
| Firmware | ESP32 dual-core mimari, Modbus, OTA |
| API Referansı | Tüm REST endpoint'leri |
| DevOps | Docker, CI/CD, nginx, monitoring |
| Güvenlik | JWT, RBAC, multi-tenant izolasyon |