Python ile MQTT Sunucusu Kurma Örneği

Giriş

MQLT (Message Queuing Telemetry Transport), hafif yapısı nedeniyle IoT (Nesnelerin İnterneti) projelerinde sıkça kullanılan bir mesajlaşma protokolüdür. Verilerin düşük bant genişliği ile hızlı bir şekilde iletilmesi için idealdir. Bu yazıda, Python programlama dili kullanarak basit bir MQTT sunucusu oluşturmayı öğreneceğiz. MQTT’nin nasıl çalıştığını ve Python ile bu protokolü kullanarak kendi sunucumuzu nasıl geliştirebileceğimizi adım adım inceleyeceğiz.

MQTT Nedir ve Neden Kullanılır?

MQTT, 1999 yılında IBM tarafından geliştirilmiş olan bir iletişim protokolüdür. Verileri yayınlama ve abone olma mantığıyla çalışır; bu sayede sistemlerin birbirleriyle olan iletişimini sağlarken düşük güç tüketimi ve işlemci kullanımıyla dikkat çeker. Özellikle IoT cihazları gibi kısıtlı kaynaklara sahip sistemlerde önerilen bir çözüm olarak öne çıkar. Özellikle sensör verileri ve cihaz durum güncellemeleri gibi hızlı ve sık mesajlaşmalarda etkili bir çözüm sunar.

Ayrıca, MQTT, güvenilir veri iletimini sağlamak için üç farklı QoS (Quality of Service) seviyesi sunar. Bu seviyeler, mesajların ne şekilde teslim edileceğini belirler: 0 (en düşük güvenilirlik), 1 (mesajın en az bir kez iletilmesi) ve 2 (mesajın yalnızca bir kez iletilmesini garanti eder). Bu esneklik, MQTT’yi farklı projelere uygun hale getirir ve çeşitli kullanım durumları için ideal bir çözüm sunar.

Python ile MQTT Sunucusu Kurma: Gerekli Kütüphaneler

Python’da bir MQTT sunucusu oluşturmak için popüler bir kütüphane olan paho-mqtt kütüphanesini kullanacağız. Bu kütüphane, hem MQTT istemcilerini hem de broker’larını yönetmek için kullanışlı bir API sunar. Paho MQTT, hem istemci hem de sunucu tarafında hızlı ve sade bir şekilde çalışabilen bir yapıya sahiptir.

Öncelikle gerekli kütüphaneleri yüklemeliyiz. Bunu sağlamak için Python’un paket yöneticisi olan pip kullanabiliriz:

pip install paho-mqtt

Yukarıdaki komutu terminal veya komut istemcisinde çalıştırarak kütüphaneyi sisteminize kurabilirsiniz. Kurulum tamamlandıktan sonra, Python ile MQTT sunucu kodumuzu yazmaya başlayabiliriz.

Basit MQTT Broker Kodu

Aşağıda, basit bir MQTT sunucu kodu örneği görebilirsiniz. Bu örnekte, sunucumuz belirli bir port üzerinden dinleme yapacak ve istemcilerle mesaj alışverişinde bulunacaktır:

import paho.mqtt.server as mqtt

# Callback fonksiyonu, mesaj alındığında tetiklenir

def on_message(client, userdata, message):
print(f

Scroll to Top