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…
Raspberry Pi Hakkında Daha Fazlasını Öğrenmeye Devam Et
Raspberry Pi pek çok yönüyle avantaj sahibi ve geliştiriciler tarafından çok sevilen bir platform. Elektronik projelerinde, bilgisayar bilimlerinde ve robotik çalışmalarında sağladığı destek ve rahatlık ile öğrenmeyi sevdiren Raspberry Pi hergün daha da çok gelişiyor. Peki siz de daha fazla gelişmek istemez misiniz? Linux bilginizi geliştirmek, elektronik dünyasına atılmak ve eğlenceli projelere imza atmak için sizi Raspberry Pi ile yolculuğa çıkarıyoruz! Sizler için hazırladığımız Raspberry Pi eğitim serisine devam edin :
Raspberry Pi ile VPN Router Yapalım
Yasaklı sitelere erişmenin yanında VPN, bağlantımızı şifrelediği için umumi yerlerde kişisel verilerinizin güvenliğini koruma amaçlı da kullanılabilir. Raspberry Pi ile VPN Router Yapalım yazımızda Raspberry Pi kullanarak VPN üzerinden bağlantı kuran bir WiFi hotspot yapmayı anlatttık.
güzel yazı, NODE-RED hakkında da uygulamalar bekliyoruz