← Tüm çalışmalar Proje

WELCO: BESA için DALI Aydınlatma Kontrol Sistemi

10 Haziran 2026

Node.js MQTT DALI LoRaWAN

BESA için, DALI (Digital Addressable Lighting Interface) protokolüyle haberleşen aydınlatma armatürlerini uzaktan izleyip yönetebilen bir sistem geliştirdim: WELCO. Sistem, canlı ortamda kesintisiz çalışan bir Node.js servisi olarak yürütülüyor.

Ne yapıyor

  • DALI gateway/kontrolcülerden gelen durum bilgisini MQTT üzerinden dinliyor; armatür bazında açma/kapama komutları gönderiyor ve durum bilgisini geri alıyor.
  • Arıza/anomali durumlarını (armatür yanıt vermiyor, beklenmeyen durum vb.) tespit edip görünür kılıyor.
  • LoRaWAN üzerinden haberleşen saha panelleriyle entegre çalışarak, kablosuz kapsama alanı geniş olan tesislerde de aydınlatma kontrolü sağlıyor.

Üretimle bağlantı

Üretim hattında seri numarası alan bir armatür, ayrı bir köprü servisi aracılığıyla otomatik olarak WELCO'ya tanıtılıyor; hattan düşen/iptal edilen cihazlar da aynı şekilde sistemden kaldırılıyor. Böylece üretim ile saha izleme/kontrol tarafı elle senkronize edilmek zorunda kalmıyor (detaylar Üretim Altyapısı yazısında).

Ayrıca, saha entegrasyon testleri (LoRaWAN + DALI panel) için WELCO backend'inin ayrı, yerel bir kopyası bir Raspberry Pi 4 panelde çalıştırılıyor — değişiklikler önce burada denenip, sonra gerçek prod sunucusuna alınıyor.

Basit bir örnek

Konsepti özetleyen, gerçek koddan bağımsız minik bir MQTT örneği:

const mqtt = require('mqtt');
const client = mqtt.connect('mqtt://localhost:1883');

client.on('connect', () => client.subscribe('dali/+/status'));

client.on('message', (topic, payload) => {
  console.log(topic, JSON.parse(payload.toString()));
});

function setPower(fixtureId, on) {
  client.publish(`dali/${fixtureId}/set`, JSON.stringify({ on }));
}