Aygaz Smart Energy, IoT sensörleri ve yapay zeka teknolojilerini kullanarak gerçek zamanlı enerji izleme, analiz ve tasarruf önerileri sunan kapsamlı bir akıllı enerji yönetim sistemidir.
- Backend: ASP.NET Core 9
- Database: SQL Server
- ORM: Entity Framework Core
- Identity: ASP.NET Core Identity
- Real-time: SignalR + Redis backplane (yatay ölçekleme için)
- AI/ML: Python (Flask, scikit-learn, pandas)
- Mesajlaşma: RabbitMQ (sensor-data kuyruğu)
- .NET 9 SDK
- SQL Server (LocalDB veya Express)
- Python 3.8+
- Visual Studio 2022 veya VS Code
- Redis 7+ (SignalR backplane)
- RabbitMQ 3.13+ (mesaj kuyruğu)
# Proje dizinine git
cd C:\Users\kagan\Projects\AygazSmartEnergy
# Docker container'ları build et
docker-compose build
# Container'ları başlat
docker-compose up -d
# Log'ları izle
docker-compose logs -f dotnet-apiErişim:
- Web UI: http://localhost:5001
- RabbitMQ Management: http://localhost:15672 (guest/guest)
- Python ML Service: http://localhost:5000
# Python script ile test verisi gönder
python canli_veri_uret.pyDetaylı kurulum ve kullanım için MIMARI_VE_API_DOKUMANTASYONU.md dosyasına bakın.
- ✅ Gerçek zamanlı enerji izleme
- ✅ IoT sensör entegrasyonu
- ✅ AI destekli anomali tespiti
- ✅ Enerji tasarruf önerileri
- ✅ Karbon ayak izi hesaplama
- ✅ Otomatik uyarı sistemi
- ✅ Interactive dashboard
Detaylı API dokümantasyonu için MIMARI_VE_API_DOKUMANTASYONU.md dosyasına bakın.
POST /api/IoT/sensor-data- Sensör verisi gönderGET /api/IoT/sensor-data/latest- Son sensör verileriGET /api/IoT/devices- Cihaz listesiPOST /api/EnergyApi/ml-results- ML servisinden sonuçları alGET /Dashboard/EnergyForecast- AI enerji tahmini
- Canlı sıcaklık, voltaj, fan ve cihaz durum kartları
- Hızlı aksiyon butonları (cihaz yönetimi, uyarılar, enerji analizi, fatura tahmini vb.)
- Karbon yoğunluğu göstergesi (gauge) ve sürdürülebilirlik kartları
- Enerji tüketim grafikleri (Chart.js) ve DataTables destekli cihaz/uyarı listeleri
- ASP.NET Core Identity ile kayıt, giriş, çıkış
- Profil ve ayar ekranları (kişisel bilgiler + sistem eşikleri)
- Oturum sonrası dashboard hero kartı kullanıcı adı/e-postası ile kişiselleşir
- SignalR + Redis: Tüm dashboard istemcilerine canlı sensör verisi dağıtılır. Redis backplane, birden fazla uygulama örneği çalıştırıldığında mesajların paylaşılmasını sağlar.
- RabbitMQ: Mikro servislerin sensör verilerini asenkron olarak işlemesine imkân tanır.
RabbitMqOptionsile yapılandırılır,RabbitMqMessageBusservis tarafından kuyruk/mesaj yönetimi yapılır. - Akış: IoT cihazı →
IoTController.PostSensorData→ EF Core → SignalR hub → RabbitMQ mesajı → Redis → Tüm dashboard istemcileri.
MIMARI_VE_API_DOKUMANTASYONU.md⭐ - Kapsamlı mimari ve API dokümantasyonuESP8266_SETUP.md- ESP8266 IoT cihaz kurulumu
canli_veri_uret.py- Canlı test verisi gönderme scripti
- Tüm zaman damgaları UTC olarak saklanır, UI'da Europe/Istanbul'a çevrilir
- Python ML servisi en az 7 günlük veri bekler (enerji tahmini için)
- RabbitMQ mesajları asenkron işlenir (fire-and-forget pattern)
- SignalR bağlantıları otomatik yeniden bağlanır
Kağan - Aygaz Ar-Ge Başvurusu
MIT License