Sentetik Veri — MQTT
MQTT için hazırlanan Demo Fabrika akışı, Node-RED üzerinden dört topic'e gerçek zamanlı JSON mesajları yayınlar. Bu sayede Pirivision'da MQTT veri kaynağını gerçek bir broker bağlantısıyla deneyebilirsiniz.
Yayınlanan Topic'ler
| Topic | Periyot | İçerik |
|---|---|---|
fabrika/hat1/sicaklik |
2 sn | Sıcaklık (°C) |
fabrika/hat1/basinc |
2 sn | Basınç (bar) |
fabrika/hat1/tank_seviye |
5 sn | Tank doluluk oranı (%) |
fabrika/hat1/sayac |
1 sn | Monoton artan üretim sayacı |
Her mesaj şu alanları içeren bir JSON nesnesidir:
{ "ts": "2026-05-14T09:12:04.521Z", "value": 72.34, "unit": "°C", "makine_id": "M01", "hat_id": "HAT-1" }
Payload Üretim Mantığı
Her topic için Node-RED içindeki bir JavaScript fonksiyonu çalışır.
fabrika/hat1/sicaklik
70 °C baz üzerine 30 saniyelik periyotlu sinüs dalgası ve rassal gürültü:
const t = Date.now() / 1000;
const base = 70;
const wave = 5 * Math.sin(t / 30); // ±5 °C dalga, 30 sn periyot
const jitter = (Math.random() - 0.5) * 1.5; // ±0.75 °C gürültü
const value = +(base + wave + jitter).toFixed(2);
msg.payload = {
ts: new Date().toISOString(),
value: value,
unit: "°C",
makine_id: "M01",
hat_id: "HAT-1"
};
fabrika/hat1/basinc
6.5 bar baz üzerine 45 saniyelik sinüs ve küçük gürültü:
const t = Date.now() / 1000;
const base = 6.5;
const wave = 0.4 * Math.sin(t / 45); // ±0.4 bar dalga, 45 sn periyot
const jitter = (Math.random() - 0.5) * 0.3; // ±0.15 bar gürültü
const value = +(base + wave + jitter).toFixed(2);
msg.payload = {
ts: new Date().toISOString(),
value: value,
unit: "bar",
makine_id: "M01",
hat_id: "HAT-1"
};
fabrika/hat1/tank_seviye
%25–%85 arasında 120 saniyelik periyotlu salınım:
const t = Date.now() / 1000;
const value = +(25 + 60 * (Math.sin(t / 120) + 1) / 2).toFixed(2);
msg.payload = {
ts: new Date().toISOString(),
value: value, // %25..%85 arası
unit: "%",
tank_id: "T-01"
};
fabrika/hat1/sayac
Her tetiklenmede bir artar; Node-RED yeniden başlatılana kadar sıfırlanmaz:
let n = context.get('n') || 0;
n = n + 1;
context.set('n', n);
msg.payload = {
ts: new Date().toISOString(),
sayac: n,
hat_id: "HAT-1"
};
Node-RED'e Yükleme
- Node-RED arayüzünü (
http://<sunucu>:1880) tarayıcınızda açın. - Sağ üst köşedeki menü → Import seçeneğine tıklayın.
demo_fabrika_mqtt.jsondosyasını seçin → Import → Deploy.
Akış devreye girdikten sonra broker'a bağlanır ve topic'lere mesaj yayınlamaya başlar.
Pirivision'a Ekleme
- Port → Yeni Veri Kaynağı → MQTT yolunu izleyin.
- Broker adresini ve portunu girin.
- Save ile kaynağı kaydedin.
Kayıt tamamlandıktan sonra Compass'ta bu kaynağı seçerek yukarıdaki topic'lerden birini dinleyebilirsiniz.