MQTT protokolü, hızlı ve güvenilir bir IoT Nesnelerin İnterneti cihazları iletişim düzenidir Küçük ve düşük güçlü cihazlar arasında mesajlaşma sağlar Ayrıca, azaltılmış bant genişliği kullanımı sayesinde, yüksek veri akışı sağlar MQTT, endüstriyel ve ticari kullanımlarda popüler bir seçimdir Ayrıntılı bilgi almak için, MQTT protokolü nedir konulu makaleyi okuyabilirsiniz

MQTT protokolü, IoT (Nesnelerin İnterneti) cihazlarının birbirleri arasında iletişim kurmalarına olanak sağlayan bir iletişim protokolüdür. Bu protokol, hafif ve güvenilirdir ve düşük bant genişliği gereksinimleri sayesinde IoT cihazları tarafından kullanım için uygundur. Bu protokol, tek yönlü ve yayımlaması hızlıdır.
MQTT, sensör verilerinin aktarımı ve cihazlar arasında komut gönderimi gibi işlemleri gerçekleştirmek için kullanılan bir protokoldür. Bu protokol, abone-izleme yöntemini kullanır ve bir yayımcı tarafından yapılan değişikliklerin bir veya daha fazla aboneye otomatik olarak iletilmesini sağlar. Bu yaklaşım, birçok IoT uygulamasında kullanışlıdır ve hata toleransı sağlar.
MQTT protokolü, cihazlar arasında iletişim kurmanın yanı sıra, mesajları yönetmek, verileri arşivlemek ve analiz etmek için de kullanılabilir. Bu protokol, güvenlik ve veri gizliliği için SSL/TLS şifreleme gibi birçok güvenlik özellikleri sağlar. IoT uygulamalarında veri akışının güvenli ve sağlam bir şekilde yönetilmesi oldukça önemlidir ve MQTT protokolü bu ihtiyaca cevap vermektedir.
MQTT protokolü sayesinde IoT cihazları arasındaki veri akışı daha da kolaylaşmaktadır. Düşük bant genişliği kullanımı sayesinde, milyarlarca IoT cihazı arasındaki veri akışı daha az kaynakla gerçekleştirilebilir. Bu da IoT uygulamalarının daha ekonomik olmasını sağlar. MQTT protokolünü kullanarak, IoT cihazları hızlı, güvenilir ve verimli bir şekilde birbirleriyle iletişim kurabilirler.
Python'da MQTT kullanmanın faydaları
MQTT, IoT dünyasında yaygın olarak kullanılan bir iletişim protokolüdür. Bu protokol, verilerin hızlı bir şekilde taşınmasını ve farklı cihazlar arasında kolayca paylaşılmasını sağlar. Python, yüksek seviyeli bir programlama dilidir ve MQTT ile uyumlu bir şekilde kullanılabilir. Python dilinin MQTT ile kullanımı özellikle IoT için oldukça faydalıdır.
Python, MQTT protokolü ile entegrasyonunda kolaylık sağlayarak IoT cihazlarından gelen verilerin işlenmesini kolaylaştırır. Ayrıca Python'da MQTT kullanmak, büyük veri sistemleri ve veri madenciliği gibi diğer alanlarda da faydalıdır.
- Python, MQTT ile birlikte kullanıldığında, platformlara bağlı olmadan cihazlar arasındaki iletişimi kolaylaştırır.
- Python, MQTT istemcileri ve sunucuları için kütüphanelere ve arayüzlere sahiptir.
- Python, MQTT protokolünü kullanarak, IoT cihazlarından gelen verilerin daha hızlı ve verimli bir şekilde işlenmesini sağlar.
- Python dilinin kullanımı, MQTT protokolünün kolay bir şekilde entegre edilmesini sağlar ve IoT uygulamaları için programlama sürecini kolaylaştırır.
Python dilinin MQTT ile birlikte kullanımı özellikle IoT için fazlasıyla faydalıdır. Bu nedenle, Python eğitimli IoT uygulama geliştiricileri için MQTT protokolünün özelliklerini kullanarak daha akıllı çözümler geliştirebilir.
MQTT ile uyumlu Python kütüphaneleri
MQTT protokolünü Python programlama dili ile kullanabilmek için birçok farklı kütüphane mevcuttur. Bu kütüphaneler sayesinde MQTT protokolünü daha kolay ve etkili bir şekilde kullanabilirsiniz. İşte, MQTT ile uyumlu Python kütüphaneleri:
- Paho-MQTT: MQTT iletişimini Python programlama dili ile gerçekleştirebilmek için kullanılan en popüler kütüphanelerden biridir. Bu kütüphane sayesinde Python ile basit ve etkili bir şekilde MQTT istemci ve sunucuları oluşturabilirsiniz.
- Eclipse Mosquitto: Bu kütüphane, MQTT protokolü ile uyumlu bir mesaj işleme sistemi sunar. Eclipse Mosquitto, MQTT istemci ve sunucuları oluşturmanıza olanak tanır ve MQTT protokolünü kullanarak mesajlaşmanızı kolaylaştırır.
- PyMqtt: Bu kütüphane de MQTT protokolünü kullanarak Python programlama dili ile mesajlaşmanızı sağlar. PyMqtt, Paho-MQTT'den daha az bilinen bir kütüphane olsa da, MQTT istemci ve sunucuları oluşturabileceğiniz güçlü bir araçtır.
Bu MQTT ile uyumlu Python kütüphaneleri sayesinde, MQTT protokolünü kullanarak etkili bir iletişim sağlayabilir ve IoT projelerinizi kolaylıkla geliştirebilirsiniz. Ayrıca, bu kütüphaneler, MQTT protokolü ile çalışmak için gereken tüm araçları sunar ve Python programlama dilini kullanarak MQTT mesajlarına erişmenizi kolaylaştırır. Yukarıda belirtilen kütüphaneler, işletme sistemleri, mobil cihazlar ve IoT cihazları gibi birçok farklı platformda MQTT protokolünü kullanabilmenize olanak tanır.
Paho MQTT kütüphanesi
Python dilinde MQTT kullanımı için en popüler seçeneklerden biri Paho MQTT kütüphanesidir. Bu kütüphane, MQTT iletişimi için ihtiyaç duyulan tüm özellikleri içerir.
Paho MQTT kütüphanesi ile bir MQTT istemcisi yazmak oldukça kolaydır. İlk adım olarak, Paho kütüphanesini yüklemeli ve projemizde kullanmalıyız. Bunu yapmak için öncelikle, pip komutu ile Paho MQTT kütüphanesini yüklemeliyiz.
```pip install paho-mqtt```
Paho MQTT kütüphanesi ile bir MQTT istemcisi oluşturmak için, aşağıdaki özellikler belirtilmelidir.
- Broker bilgileri (URL, port numarası)- İstemci kimliği- Bağlantı ayarları- Konu ve mesaj iletimi
Aşağıdaki örnek kod Paho MQTT kütüphanesi ile bir MQTT istemcisi nasıl oluşturulur ve bir mesaj gönderilir gösterir.
```pythonimport paho.mqtt.client as mqtt
def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc))
def on_message(client, userdata, msg): print(msg.topic+" "+str(msg.payload))
client = mqtt.Client()client.on_connect = on_connectclient.on_message = on_message
client.connect("broker.example.com", 1883, 60)client.publish("test-topic", "Hello, World!")client.loop_forever()```
Yukarıdaki örnek kod, Paho MQTT kütüphanesi ile bir MQTT istemcisi oluşturur ve "test-topic" adlı bir konu üzerinden "Hello, World!" mesajı yayınlar.
Paho MQTT kütüphanesi ile ilgili ayrıntılı bilgiye buradan ulaşabilirsiniz: https://www.eclipse.org/paho/clients/python/docs/
Eclipse Mosquitto
Eclipse Mosquitto, açık kaynaklı bir MQTT mesajlaşma broker yazılımıdır. Hem Windows hem de Linux gibi işletim sistemleri için mevcuttur. Eclipse Mosquitto'nun kurulumu oldukça basittir.
Kurulum için öncelikle, resmi Eclipse Mosquitto websitesinden veya kullanılan işletim sistemi paket yöneticisinden uygun sürümün indirilmesi gerekmektedir.
Windows'ta, indirilen kurulum dosyasını çalıştırarak kolayca yüklenebilir. Linux'ta ise, terminal üzerinden gerekli komutlar yazılarak kurulum gerçekleştirilebilir.
Kurulum tamamlandıktan sonra, Eclipse Mosquitto'nun nasıl kullanılacağına dair bazı adımlar izlenmelidir. İlk olarak, Mosquitto broker service'ini başlatmak gerekmektedir. Ardından, MQTT istemcisini kullanarak broker'a bağlanabilir ve iletişim kurabilirsiniz. Bu işlem için, Python kodu kullanarak Paho MQTT kütüphanesi oldukça uygun bir seçimdir.
Eclipse Mosquitto'nun kullanımı oldukça kolay ve esnektir. İletişim akışlarına uygun şekilde yapılandırılabilir ve özelleştirilebilir.
Python ve MQTT ile basit bir örnekleme
Python, MQTT protokolünü kullanarak IoT cihazları arasında veri aktarımı yapmak için oldukça etkili bir platformdur. MQTT protokolünü Python programlama dili ile kullanmak oldukça kolaydır ve daha da önemlisi IoT cihazları için önceden geliştirilmiş birçok MQTT kütüphanesi bulunmaktadır. Peki, Python ve MQTT ile nasıl basit bir örnekleme yapabiliriz?
Bir örnek üzerinde ilerleyerek konuya daha iyi hakim olabiliriz. Varsayalım ki bir IoT cihazından sıcaklık verileri topluyoruz ve bu verileri başka bir cihaza göndermek istiyoruz. Bunun için Python ve MQTT ile bağlantı kurmanız ve veri aktarımınızı sağlamanız gerekiyor.
İlk olarak, paho-mqtt kütüphanesini yüklemeniz gerekiyor. Bunun için Python pip aracını kullanabilirsiniz. Aşağıdaki komutu kullanarak paho-mqtt kütüphanesini yükleyebilirsiniz:
pip install paho-mqtt |
Ardından, MQTT Broker'a bağlanmamız gerekiyor. Bunun için aşağıdaki Python kodunu kullanabilirsiniz:
import paho.mqtt.client as mqttdef on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) client.subscribe("sensors/temperature")def on_message(client, userdata, msg): print(msg.topic+" "+str(msg.payload))client = mqtt.Client()client.on_connect = on_connectclient.on_message = on_messageclient.connect("broker.hivemq.com", 1883, 60)client.loop_forever() |
Bu kod, MQTT brokerına bağlanarak "sensors/temperature" konusuna abone olur ve mesajları dinlemeye başlar. Abonelik konusu "sensors/temperature" olarak belirtilmiştir. Bu konuya bağlı diğer cihazlar tarafından mesajlar gönderildiğinde, "on_message" yöntemi çağrılır ve mesajın konusu ve içeriği ekrana yazılır.
Bir sonraki adımda ise sıcaklık verilerini rastgele üreteceğiz ve bunları MQTT üzerinden başka bir cihaza göndereceğiz. Bu işlem için aşağıdaki kod kullanılabilir:
import paho.mqtt.publish as publishimport randomwhile True: temperature = random.randint(20, 30) publish.single("sensors/temperature", temperature, hostname="broker.hivemq.com") print("Temperature: "+str(temperature)) |
Bu kod, rastgele bir sıcaklık değeri üretir ve bu değeri "sensors/temperature" konusuna gönderir. Mesajın içeriği sadece sıcaklık değeridir. Bu kodu çalıştırdığınızda, her bir sıcaklık değeri için ekranda sonuçları görebilirsiniz.
Bu iki kodda da kullanılan "broker.hivemq.com" adresi, özgür olarak kullanabileceğiniz bir MQTT broker adresidir. Kendi brokerınıza bağlanmak isterseniz, adresi değiştirmeniz gerekebilir. Bu örnekleme, IoT cihazları arasında anahtarlık değişimi işlemini yansıtan oldukça basit bir senaryodur. Python ve MQTT kullanarak çok daha karmaşık veri aktarımı işlemlerini gerçekleştirebilirsiniz.
Örneklemenin adımları
Şimdi, örneklemenin adımlarını ayrıntılı olarak açıklayalım. Adımlar şu şekildedir:
Adım 1: | Mosquitto Broker'ın çalışması gerekiyor. Mosquitto Broker, MQTT protokolünü kullanarak verileri iletmek ve almak için bir araçtır. Bu adım için, öncelikle Mosquitto Broker'ın kurulumunu yapmanız gerekiyor. |
Adım 2: | Paho Python MQTT kütüphanesini indirmeniz gerekiyor. Paho MQTT kütüphanesi, Python dilinde MQTT kullanımını basitleştirir. |
Adım 3: | Kod dosyanızda, MQTT bağlantısı için gerekli olan bilgileri girin. Bu bilgiler, broker adresi, portu, kullanıcı adı ve şifre gibi detayları içerir. |
Adım 4: | MQTT bağlantısını oluşturun. Bağlantı, kullanıcı adı ve şifrenin doğrulanması ile yapılır. |
Adım 5: | Komut dosyanızda bir MQTT aboneliği oluşturun. Bu, abone olmak istediğiniz temaya abone olan bir yapıdır. |
Adım 6: | Abonelik ile gelen verileri işleyin. Bu verileri, kod parcacığı içinde işleyebilir ve/veya veritabanına kaydedebilirsiniz. |
Adım 7: | Kodunuzu çalıştırın ve abonelik işleminin gerçekleştiğini kontrol edin. Verilerin doğru bir şekilde alınıp alınmadığını kontrol edin. |
Bu adımları takip ederek, Python ve MQTT ile basit bir örnekleme yapabilirsiniz. İşlemleri yaptıktan sonra, MQTT protokolünün, IoT uygulamaları için nasıl kullanılabileceğinin farkına varacaksınız.