HWA: Akıllı Otobüs Durağı LED Panel Yönetim Sistemi
90 adet otobüs durağındaki çift yüzlü LED panellere, araç konum ve hız verilerinden üretilen gerçek zamanlı ETA görselleri ileten şehir çapında IoT altyapısı.
Görseller
🏆 Ödüller
- ▸ Wialon 2024 Yılının IoT Projesi
Proje Detayları
Proje Hakkında
Şehir içi toplu taşımada yaklaşık 90 adet otobüs durağında konuşlandırılmış LED ekranlar için geliştirilmiş gerçek zamanlı araç bilgi sistemi. Her duraktaki **160×64 piksel** çözünürlüğünde, **çift yüzlü** LED panellere; araçların konum, hız, yön ve hat bilgileri doğrultusunda hesaplanan ETA (tahmini varış süresi) görselleri üretilip iletilmektedir.
Projenin yanı sıra panellerin iç konfigürasyonu tamamen yenilendi — donanım bağlantı süreçlerini bizzat hem takip ettim hem de uyguladım. Panel başına özel görsel üretim motoru, koşullu durum mantığı ve özel algoritmalar içermektedir.
Tüm kabul testlerinden başarıyla geçen sistem aktif olarak çalışmakta; şehri adeta bir ağ gibi saran bu paneller, halkın toplu taşıma deneyimini köklü biçimde iyileştirmektedir.
Teknik Detaylar
Backend — .NET 8 / C#
**ASP.NET Core Web API** — 13 controller, RESTful mimari
**Entity Framework Core + Dapper** — Azure SQL / MSSQL hibrit ORM
**JWT kimlik doğrulama** — access token + refresh token döngüsü
**Serilog** — günlük log rotasyonu, servis bazlı ayrı log dosyaları
**Polly** — HTTP retry policy ile dayanıklı dış servis bağlantısı
**BCrypt** — şifreleme katmanı
Görsel Üretim Motoru
**SkiaSharp** — Linux Docker uyumluluğu için (System.Drawing.Common tercih edilmedi)
160×64 px panel boyutu, siyah zemin üzerine turuncu metin
**Türkçe heceleme algoritması** — özel TurkishHyphenation helper
**CRC32 doğrulama** — veri bütünlüğü için özel Crc32Helper
Araç hızı, yönü, hat bilgisi ve konum verisini birleştiren ileri seviye ETA algoritmaları
Frontend — Next.js / TypeScript
**React 19**, Next.js App Router, Tailwind CSS 4
**Axios** — JWT Bearer otomatik token yenileme interceptor'ı ile
Sayfalar: Dashboard (pipeline kontrol), Bildirimler, Durum izleme, Mesajlar, Kullanıcı yönetimi, Ayarlar, Zaman parametreleri, Operasyonlar
Panel üzerinde özel mesaj yayınlama arayüzü
Panel sağlık durumu izleme arayüzü
Altyapı & Deploy
**Docker Compose** — DigitalOcean Ubuntu Droplet üzerinde
**Sıfır kesintili deploy** — build script + watch-restart.sh systemd servisi
**Azure App Service** — LED panellere görsel dağıtım katmanı
**Azure SQL** (production) + **Local MSSQL** (geliştirme)
**PostgreSQL** — ek veri katmanı
17 EF Core entity modeli
GitHub main branch, CI/CD entegrasyonu