Proje Detayı

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

GoFlutterVue 3OPC UAMQTTTimescaleDB
Applantis SCADA / OPC UA 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

01Saha

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.

02Merkez

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.

03Mobil

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 diliGo 1.25 (Fiber framework, JWT auth)
Saha uygulamasıGo + Fyne (cross-platform masaüstü GUI), OPC UA istemcisi (gopcua)
Web frontendVue 3 + Vite + Bootstrap 5 + PrimeVue + Konva (SCADA çizim)
MobilFlutter / Dart (Riverpod, go_router, fl_chart, WebSocket)
VeritabanıTimescaleDB (PostgreSQL 16) — zaman serisi telemetri
Analitik / LogClickHouse (audit logs)
MesajlaşmaMQTT — EMQX 5.7 broker (telemetri/heartbeat/inventory), RabbitMQ
AltyapıDocker / Docker Compose, Nginx reverse proxy, PgBouncer, S3 (AWS SDK), Portainer
Saha–merkez iletişimiOPC 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.

#Ahmet Şahin

Software Engineer

© 2026 Ahmet Şahin. Tüm hakları saklıdır.