Merhabalar, bugünkü yazımızda bir iletişim protokolü olan MQTT’nin ne olduğunu, nasıl işlediğini, nasıl kullanıldığını inceleyeceğiz. Yazının ilerleyen bölümünde Raspberry Pi ile kendi MQTT sunucumuzu kurarak MQTT dünyasına adımımızı atacağız.

MQTT Nedir? Nasıl İşler?

Message Queuing Telemetry Transport’un kısaltması olan MQTT, çeşitli cihazlar arasında bilgi aktarımını sağlayan bir haberleşme protokolüdür. MQTT’ye dayalı bir sistemde client adı verilen istemciler ve broker adı verilen sunucu benzeri bir yapı bulunur. Aşğıdaki şemada da görebileceğiniz üzere broker sistemin merkezinde yer alır ve bütün client’lar broker’a bağlıdır.

MQTT kullanan bir sistemde veri aktarımı PUBLISH (yayınlama) ve SUBSCRIBE (Abone Olma) kavramlarına dayanır. Bir cihaz bir TOPIC (konu) altında bir veri yayınlar (PUBLISH). Bu TOPIC’e abone olan cihazlar bu veriyi alır. Örneğin, broker’a bağlı olan termometre “sicaklik” TOPIC’ine 25 değerini yayınlar. “sicaklik” TOPIC’ine abone olan gösterge ve mobil cihaza 25 değeri iletilir.

Burada dikkat edilmesi gereken önemli bir nokta MQTT iletişim protokolünün asenkron bir yapıda olması yani eş zamanlı olmamasıdır. Bu sayede mesajı yayınlayan cihaz ile mesajı alan cihaz ağa aynı anda bağlı olmak zorunda kalmaz. Örneğin, gösterge ağa bağlı değilken ağa bağlı olan termometre sıcaklık bilgisini yayınlayabilir. Gösterge ağa bağlandığında termometrenin en son paylaştığı sıcaklık verisini broker’dan alabilir.

Yukarıda bahsedilen veri aktarımını aşağıdaki şemada görebilirsiniz.

MQTT, cihazların arasında hızlı bir veri aktarımı sağlaması, asenkron çalışması, çok fazla kaynak tüketmemesi ve sunduğu kullanım kolaylığı ile IoT projeleri için çok uygun bir konumdadır. Örneğin, evinizin farklı yerlerinde yer alan sensörleri, röleleri ve telefonunuzu Raspberry’de kurmuş olduğunuz broker’a kablosuz bir şekilde bağlayabilir ve verilere telefonunuzdan erişebilir, lambalarınızı telefonunuzdan kontrol edebilirsiniz. Bu ve benzeri, pek çok cihazın birbiriyle iletişim kurması gereken projelerde MQTT iletişim protokolünden yararlanılır.

Raspberry Pi ile MQTT Broker’ı Kurma

Bir Raspberry Pi, MQTT sistemlerinin olmazsa olmazı broker olarak kolaylıkla kullanılabilir. Siz de Raspberry Pi’ı broker MQTT broker’ı olarak kullanmak istoyorsanız aşağıdaki adımları takip etmeniz yeterli. Raspberry Pi ve ilk kurulumu ile ilgili daha detaylı bilgiye buradan ulaşabilirsiniz, kendi Raspberry Pi’ınızı buradan satın alabilirsiniz.

Sol üstte yer alan siyah dikdörtgene basarak terminali açın.

Öncelikle sistemin güncel olduğundan emin olmak için aşağıdaki iki komutu sırayla çalıştırın:

sudo apt update
sudo apt upgrade

Bu komutu çalıştırın ve gerekli dosyaların indirilip kurulmasını bekleyin:

sudo apt install -y mosquitto mosquitto-clients

MQTT sunucusunun Raspberry açıldığında otomatik çalışmaya başlaması için şu komutu çalıştırın:

sudo systemctl enable mosquitto

Kurulumun başarıyla tamamlandığını kontrol etmek için bu komutu girin, aşağıdaki görseldeki çıktıyı elde etmelisiniz:

mosquitto -v

Kurduğunuz MQTT Broker’ı Test Etme

Raspberry Pi üzerine MQTT Broker kurma işlemini tamamladık, şimdi düzgün çalışıp çalışmadığını test edelim.

Bunun için iki farklı terminal açın.

Soldaki terminalde aşağıdaki komutu çalıştırarak deneme adlı TOPIC’e abone olun:

mosquitto_sub -d -t deneme

Şimdi sağdaki terminalde aşağıdaki komutu çalıştırarak deneme TOPIC’ine “merhaba dünya” verisini gönderin:

mosquitto_pub -d -t deneme -m "Merhaba Dünya!"

Komutu gönderdiğiniz anda soldaki, yani konuya abone olduğunuz terminale mesajın ulaştığını göreceksiniz.

Bu şekilde kurmuş olduğumuz MQTT Broker’ın çalıştığını doğrulamış olduk.

Bu yazımızda MQTT haberleşme protokolünün temelleri hakkında bilgi sahibi olduk ve Raspberry Pi ile kendi MQTT sunucumuzu kurduk. İleriki yazılarda bu sunucuya farklı cihazlar bağlayarak projelerimizde kullanacağız. Sonraki yazılarda görüşmek üzere…

1 YORUM

CEVAP VER

Please enter your comment!
Please enter your name here