Endüstriyel IoT

MQTT ile Kablosuz Endüstriyel Sensörler: Wi-Fi, LoRaWAN, WirelessHART ve Özel 5G

Kablosuz endüstriyel sensörler, hiç kablolanmamış noktaları ölçmeyi ucuzlatır. Bu rehber başlıca radyo teknolojilerini karşılaştırıyor ve çalışan bir LoRaWAN-MQTT köprüsüyle her birinden gelen verinin tek bir MQTT broker'a nasıl ulaştığını gösteriyor.

Pompa ve tanklardaki kablosuz endüstriyel sensörlerin bir gateway'e ve MQTT broker'ına radyo sinyali göndermesi
Bunu kendi MQTT broker’ınızda çalıştırınFree planla özel, yönetilen bir MQTT broker alın ve hazır kod örnekleriyle başlayın.
Ücretsiz deneyin Kod örnekleri Kart gerekmez

Kablosuz endüstriyel sensörler, çalışan bir tesiste kablo kanalı açmadan, hiç kablolanmamış varlıklarda sıcaklık, titreşim, basınç ve seviye ölçmenizi sağlar. Bu rehberde tesis mühendislerinin gerçekten aralarında seçim yaptığı dört radyo teknolojisini karşılaştıracak, her birinden gelen verinin nasıl MQTT mesajlarına dönüştüğünü anlayacak ve LoRaWAN uplink'lerini yapılandırılmış bir topic ağacına ileten küçük bir Python köprüsü çalıştıracaksınız.

Kablosuz Sensörler Neden Dönüşüm Projelerinde Öne Çıkıyor?

Bir tesiste yeni bir kablo çekmek nadiren yalnızca bir kablodan ibarettir. Kablo tavaları, koruma boruları, sıcak çalışma izinleri, duruş pencereleri ve bazen de tehlikeli bölge sertifikasyonu anlamına gelir. Bir soğutma kulesi fanındaki tek bir titreşim noktası için kurulum, sensörün kendisinden çok daha pahalıya mal olabilir.

Kablosuz sensörler bu denklemi değiştirir. Pille çalışan bir titreşim veya sıcaklık sensörü dakikalar içinde bir mıknatısla veya saplamayla monte edilebilir ve yıllarca raporlama yapar. Bunun bedeli, artık tasarlamanız gereken bir radyo ağınızın olmasıdır: menzil, pil ömrü, güncelleme hızı ve güvenilirlik seçtiğiniz teknolojiye bağlıdır.

İyi haber şu ki, hangi radyoyu seçerseniz seçin veri aynı yere ulaşır. Bir gateway veya ağ sunucusu radyo paketlerini alır ve bunları panellerin, historian'ların ve analitik araçlarının aldığı bir MQTT broker'ına yayınlar.

Kablosuz Endüstriyel Sensör Teknolojilerinin Karşılaştırması

Teknoloji Tipik menzil Güncelleme hızı Güç Topoloji Tipik kullanım
Wi-Fi (802.11) Erişim noktası başına onlarca metre Saniyenin altında mümkün Şebeke veya büyük pil Erişim noktaları üzerinden yıldız Kameralar, yüksek hızlı sensörler, şebekeden beslenen cihazlar
LoRaWAN Açık alanda kilometreler, iç mekânda daha az Dakikalar (görev döngüsü sınırlı) Pille yıllar Gateway'ler üzerinden yıldız Tanklar, altyapı hizmetleri, uzak varlıklar, çevre izleme
WirelessHART Atlama başına onlarca ila yüzlerce metre Saniyeler Pille yıllar Kendi kendini onaran mesh Rafineriler ve kimya tesislerinde proses enstrümantasyonu
ISA100.11a WirelessHART'a benzer Saniyeler Pille yıllar Mesh ISA100'ü standart olarak benimsemiş proses tesisleri
Özel 5G / LTE Kampüs genelinde Saniyenin altında Şebeke veya büyük pil Hücresel Mobil robotlar, AGV'ler, yüksek yoğunluklu sahalar
Bluetooth Low Energy Kısa Saniyeler Aylar ila yıllar Gateway'ler üzerinden yıldız Varlık takibi, taşınabilir cihazlar

Wi-Fi sensörleri

Wi-Fi en tanıdık seçenektir ve sensörün genellikle doğrudan MQTT konuştuğu tek seçenektir. ESP32 tabanlı bir sensör broker'a bir TLS bağlantısı açıp herhangi bir ara gateway olmadan yayın yapabilir. Dezavantajı güçtür: Wi-Fi ilişkilendirmesi ve TLS el sıkışmaları maliyetlidir; bu yüzden pilli Wi-Fi sensörleri ya uzun süre uyur ya da sık pil değişimi gerektirir. Endüstriyel Wi-Fi kapsaması da metal yapıların çevresinde düzensiz olma eğilimindedir. Kendi sensörünüzü yapıyorsanız ESP32 MQTT eğitimimiz firmware tarafını ele alıyor.

LoRaWAN sensörleri

LoRaWAN, menzil ve pil ömrü için bant genişliğinden ödün verir. Payload'lar çok küçüktür, çoğu zaman bir düzine bayt; bölgesel görev döngüsü (duty cycle) kuralları da bir cihazın ne sıklıkla iletim yapabileceğini sınırlar. Sensörler gateway'lere uplink gönderir, gateway'ler bunları ChirpStack veya The Things Stack gibi bir ağ sunucusuna iletir ve ağ sunucusu payload'u çözümleyip çoğu zaman MQTT üzerinden sunar. LoRaWAN, büyük sahalarda yavaş değişen değerler için idealdir: tank seviyeleri, ortam koşulları, su sayaçları ve uzak pompalar.

WirelessHART ve ISA100

Bu standartlar proses tesisleri için tasarlandı. Kendi kendini onaran mesh ağlar oluşturur, zaman senkronize kanal atlama kullanır ve HART cihaz modelini taşırlar; böylece kablosuz bir basınç transmitteri kontrol sistemine kablolu olana çok benzer görünür. Veri normalde Modbus TCP, OPC UA veya HART-IP arayüzlerine sahip bir kablosuz gateway'e ulaşır. Onu MQTT'ye taşımak için, diğer herhangi bir saha veri yolunda yapacağınız gibi bir protokol gateway'i eklersiniz.

Özel 5G ve LTE

Özel hücresel ağlar; mobilite, yüksek yoğunluk veya büyük bir kampüste deterministik kapsama gerektiğinde parlar: mobil robotlar, AGV'ler, vinçler ve el terminalleri. Cihazlar IP bağlantısı alır ve tıpkı genel hücresel ağda olduğu gibi doğrudan MQTT client çalıştırabilir. Maliyet ve frekans spektrumu soruları önemlidir; bu yüzden özel 5G genellikle bir avuç sensör için değil, daha geniş bir saha projesinin parçası olarak gelir. Bağlantı davranışı, makul keepalive değerleri gerekliliği dahil, hücresel ağ üzerinden MQTT ile benzerdir.

Kablosuz Sensör Verisi Broker'a Nasıl Ulaşır?

Üç entegrasyon yolu vardır ve çoğu tesis birden fazlasını kullanır:

  1. Cihazdan doğrudan MQTT. Wi-Fi ve hücresel sensörler TLS üzerinden doğrudan broker'a yayın yapar. Basittir, ancak her cihazın kimlik bilgilerine ve TLS için yeterli güce ihtiyacı vardır.
  2. Ağ sunucusundan MQTT'ye. LoRaWAN ağ sunucuları çözümlenmiş uplink'leri kendi MQTT broker'larına veya entegrasyonlarına yayınlar. Küçük bir köprü bunları tesis topic ağacınıza yeniden yayınlar.
  3. Gateway ve protokol dönüştürücü. WirelessHART, ISA100 ve birçok tescilli kablosuz sistem gateway'de Modbus veya OPC UA sunar. Bir IIoT edge gateway bu arayüzü sorgular ve MQTT yayınlar.

Önemli tasarım kararı radyo değil, topic yapısıdır. Kaynak ne olursa olsun her şeyi tek bir hiyerarşide normalleştirin, örneğin connectmq/site/area/asset/measurement; böylece tüketicilerin bir değerin hangi radyodan geldiğini bilmesi asla gerekmez.

Örnek: LoRaWAN Uplink'lerini Topic Ağacınıza Köprüleyin

Aşağıdaki betik, ağ sunucusunun broker'ındaki ChirpStack v4 uplink olaylarına abone olur ve çözümlenmiş değerleri ConnectMQ genel broker'ındaki ISA-95 tarzı bir ağaca yeniden yayınlar. ChirpStack uplink'leri application/<application_id>/device/<dev_eui>/event/up topic'inde JSON olarak yayınlar; bir payload codec'i yapılandırıldığında çözümlenmiş değerler object alanında yer alır.

import json
import uuid
import paho.mqtt.client as mqtt

# Kaynak: ChirpStack MQTT entegrasyonu (host ve kimlik bilgilerini ayarlayın)
SRC_HOST = "chirpstack.local"
SRC_TOPIC = "application/+/device/+/event/up"

# Hedef: ConnectMQ genel test broker'ı, benzersiz demo öneki
DST_HOST = "broker.connectmq.com"
PREFIX = f"connectmq/demo/{uuid.uuid4().hex[:8]}/site1/utilities"

# Cihaz EUI'lerini hiyerarşinizdeki varlık adlarıyla eşleştirin
ASSETS = {
    "a84041000181c061": "tank-farm/tank03",
    "a84041000181c062": "cooling/fan02",
}

dst = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2,
                  client_id=f"lora-bridge-dst-{uuid.uuid4().hex[:6]}")
dst.connect(DST_HOST, 1883, keepalive=60)
dst.loop_start()

def on_connect(client, userdata, flags, reason_code, properties):
    print("Connected to ChirpStack:", reason_code)
    client.subscribe(SRC_TOPIC, qos=1)

def on_message(client, userdata, msg):
    event = json.loads(msg.payload)
    dev_eui = event["deviceInfo"]["devEui"]
    values = event.get("object")
    if not values:
        return  # codec yapılandırılmamış, iletilecek bir şey yok
    asset = ASSETS.get(dev_eui, f"unmapped/{dev_eui}")
    rx = (event.get("rxInfo") or [{}])[0]
    for name, value in values.items():
        payload = {
            "value": value,
            "ts": event.get("time"),
            "rssi": rx.get("rssi"),
            "snr": rx.get("snr"),
        }
        topic = f"{PREFIX}/{asset}/{name}"
        dst.publish(topic, json.dumps(payload), qos=1, retain=True)
        print(topic, payload)

src = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2,
                  client_id=f"lora-bridge-src-{uuid.uuid4().hex[:6]}")
src.on_connect = on_connect
src.on_message = on_message
src.connect(SRC_HOST, 1883, keepalive=60)
src.loop_forever()

Çıktıyı başka bir terminalden izleyin:

mosquitto_sub -h broker.connectmq.com -p 1883 -i watcher-$RANDOM \
  -t 'connectmq/demo/+/site1/#' -v

Üretime taşımaya değer birkaç ayrıntı var. Mesajlar retained'dır; böylece yeni bir panel, LoRaWAN'da on beş dakika sonra gelebilecek bir sonraki uplink'i beklemek yerine son tank seviyesini anında görür. Radyo kalitesi (RSSI ve SNR) her değerle birlikte taşınır; bu da anteni darbe almış bir sensörü fark etmeyi kolaylaştırır. Bilinmeyen cihazlar ise unmapped/ altına düşer; böylece sessizce kaybolmak yerine görünür olurlar. Üretim için hedefi TLS ve ConnectMQ kimlik bilgilerinizle 8883 portuna geçirin ve genel broker'ı yalnızca test için kullanın, çünkü oradaki her şey herkes tarafından okunabilir.

Kablosuz Sensör Kurulumları İçin Pratik İpuçları

  • Satın almadan önce saha etüdü yapın. Sahayı bir test gateway'i veya erişim noktasıyla dolaşın. Çelik tanklar, beton ve hareketli makineler kapsamayı çarpıcı biçimde değiştirir.
  • Güncelleme hızını fiziğe göre ayarlayın. Saatler içinde değişen bir tank seviyesinin saniye saniye güncellenmesine gerek yoktur. Daha yavaş hızlar daha uzun pil ömrü demektir.
  • Gateway'de değişimde raporlama yapın. Bir değeri yalnızca anlamlı şekilde değiştiğinde iletin ve mevcut durum için retained mesajlar kullanın. Değişimde raporlama (report by exception) rehberimiz eşikleri açıklıyor.
  • Yalnızca prosesi değil, sensörleri de izleyin. Pil gerilimi, son görülme zamanı ve sinyal gücü kendi topic'lerini ve alarm kurallarını hak eder.
  • Boşlukları planlayın. Kablosuz bağlantılar kopar. Tüketiciler bayat bir zaman damgasını bilinen son değer olarak değil, eksik veri olarak ele almalıdır.

Her Radyoyu Karşılayan Bir Broker

Tüm radyo teknolojileri MQTT'de birleştiği için broker, her ekibin bağımlı olduğu tek parça haline gelir. ConnectMQ gibi barındırılan bir MQTT broker; TLS uç noktaları, her sensörün doğru yere düştüğünü doğrulamak için canlı bir topic gezgini ve düşük pil veya yüksek titreşim gibi değerler için eşik alarm kuralları sunar. Cihaz görünümü topic'leri ISA-95 seviyelerine göre gruplar; bu da LoRaWAN, Wi-Fi ve WirelessHART verilerinin hepsinin aynı hiyerarşiyi izlediğini kontrol etmenin kullanışlı bir yoludur. Daha geniş bağlam için MQTT ile Endüstriyel IoT rehberini okuyun.

Kablosuz Sensörlerinizi ConnectMQ'ya Bağlayın

app.connectmq.com adresinden kaydolun ve kredi kartı gerekmeden ücretsiz bir Serverless broker oluşturun. Köprünüzü veya gateway'inizi üretilen kimlik bilgileriyle ona yönlendirin, ardından kablosuz sensör verilerinizin tek bir yapılandırılmış namespace'e ulaşmasını ConnectMQ canlı topic gezgini ve paneliyle izleyin.

Sık Sorulan Sorular

Endüstriyel sensörler için en iyi kablosuz teknoloji hangisidir?

İşe bağlıdır. LoRaWAN pille uzun mesafelerde yavaş değişen değerlere, WirelessHART mesh ağlarda proses enstrümantasyonuna, Wi-Fi şebekeden beslenen veya yüksek hızlı cihazlara, özel 5G ise mobil ekipmanlara ve yoğun kampüslere uygundur.

LoRaWAN sensörleri doğrudan MQTT yayınlayabilir mi?

Hayır. LoRaWAN cihazları gateway'lere küçük radyo paketleri gönderir ve ağ sunucusu bunları çözümler. Ardından ağ sunucusu veya bu rehberdekine benzer bir köprü, çözümlenmiş değerleri MQTT üzerinden yayınlar.

WirelessHART verisini MQTT'ye nasıl aktarırım?

WirelessHART gateway'leri genellikle Modbus TCP, OPC UA veya HART-IP sunar. Bir edge gateway bu arayüzü sorgular ve değerleri MQTT broker'ınıza yayınlar.

Kablosuz sensör değerleri retained message olmalı mı?

Seviyeler ve sıcaklıklar gibi mevcut durum değerleri için genellikle evet, çünkü yeni aboneler son değeri anında alır. Yalnızca bir kez görülmesi gereken alarmlar gibi olay türü mesajları retained yapmayın.

İlgili yazılar

CODESYS MQTT Client: PLC Değişkenlerini Bir Broker'a Yayınlama

CODESYS IIoT MQTT Client kütüphanesini PLC değişkenlerini JSON olarak yayınlayacak şekilde yapılandırın, broker.connectmq.com üzerinde doğrulayın, ardından kimlik bilgileri ve TLS içeren özel bir broker'a geçin.

6 dk okuma

Tüm yazılar →

Özel MQTT broker’ınız birkaç tık uzağınızda

Hesabınızı oluşturun, broker kimlik bilgilerinizi alın ve ilk cihazınızı bağlayın — kurulacak, yamalanacak ya da ölçeklendirilecek sunucu yok.