Applantis SCADA / OPC UA Platformu
PLC'lerden OPC UA ile veri toplayıp MQTT üzerinden tek merkezde görselleştiren uçtan uca SCADA platformu

Proje ne yapıyor?
Applantis SCADA, sahadaki PLC'lerden OPC UA protokolüyle tag (etiket/veri) okuyup bu verileri MQTT üzerinden merkezi bir panele aktaran uçtan uca bir SCADA platformudur. Saha mühendisi, her saha bilgisayarına kurulan collector masaüstü uygulamasından PLC ve tag konfigürasyonunu yapar; merkezdeki web paneli ile SCADA Mobile uygulaması da telemetri, envanter ve heartbeat verilerini canlı izleyip görselleştirir. Web paneli üzerine SCADA ekranları çizilebilir.
Problem ve Çözüm
Klasik SCADA kurulumlarında her saha kendi içinde izole kalır: PLC verisi sahadaki bilgisayarda hapsolur, merkezin sahayı görmesi için özel ağ kurulumları ya da manuel raporlama gerekir. Dağıtık sahaları olan bir işletme için bu, hem görünürlük kaybı hem de yavaş müdahale demektir.
Bu platformda collector'lar internet üzerinden MQTT ile merkeze veri gönderir. Saha mühendisi PLC konfigürasyonunu yerelden yapar; merkez ise hem web panelinden hem mobil uygulamadan tüm sahaları canlı takip eder, RPC ile collector'lara uzaktan komut gönderip tag browse edebilir.
Mimari — 3 Bileşen
Collector
Her saha bilgisayarına kurulan, Fyne arayüzlü bağımsız Go uygulaması. OPC UA istemcisiyle (gopcua) PLC'den tag okur, MQTT'ye yayınlar. PLC/tag konfigürasyonu sahada bu uygulama üzerinden yapılır; Docker gerektirmez.
Panel / Yönetim
Go (Fiber) backend + Vue 3 frontend. Üzerine SCADA ekranları çizilebilen (Konva) web paneli; OPC UA RPC ile collector'lara uzaktan komut ve browse. JWT tabanlı kimlik doğrulama.
SCADA Mobile
Go (Fiber) backend + Flutter uygulaması. Telemetri, envanter ve heartbeat verilerini WebSocket ile canlı izleme; Riverpod ile durum yönetimi, fl_chart ile grafikler.
Teknolojiler
| Backend dili | Go 1.25 (Fiber framework, JWT auth) |
|---|---|
| Saha uygulaması | Go + Fyne (cross-platform masaüstü GUI), OPC UA istemcisi (gopcua) |
| Web frontend | Vue 3 + Vite + Bootstrap 5 + PrimeVue + Konva (SCADA çizim) |
| Mobil | Flutter / Dart (Riverpod, go_router, fl_chart, WebSocket) |
| Veritabanı | TimescaleDB (PostgreSQL 16) — zaman serisi telemetri |
| Analitik / Log | ClickHouse (audit logs) |
| Mesajlaşma | MQTT — EMQX 5.7 broker (telemetri/heartbeat/inventory), RabbitMQ |
| Altyapı | Docker / Docker Compose, Nginx reverse proxy, PgBouncer, S3 (AWS SDK), Portainer |
| Saha–merkez iletişimi | OPC UA RPC, MQTT |
Ölçülebilir Sonuçlar
Önceki sisteme göre
110 ms
API yanıt süresi — 2100–5100 ms'den, ~%95 iyileşme
25
Havuzlanmış DB bağlantısı — 50+ değişken bağlantıdan (PgBouncer)
Yatay
Ölçeklenebilirlik — sınırlı kapasiteden horizontal ölçeklemeye
Anlık
Kullanıcı deneyimi — bekleme yerine anında yanıt
Aklınızdaki projeyi birlikte hayata geçirelim
Mobil uygulamadan (iOS & Android) web panellerine, Go ile ölçeklenebilir backend ve API geliştirmeden saha çözümlerine kadar uçtan uca yazılım geliştiriyorum. Yeni bir ürün, mevcut bir sistemin yenilenmesi ya da tek bir modül — freelance ve proje bazlı çalışmaya uygunum.