IoT projelerinde sıklıkla kullandığımız için ilk olarak bu konudan bahsetmek istedim.
MQTT Haberleşme Mimarisinde basitçe bahsetmek gerekirse; yayıncılar ve aboneler vardır. Yayıncı/Abone sanal bir server gibi çalışan MQTT-Broker’a bağlanırlar ve tüm haberleşme MQTT-Broker üzerinden gerçekleşir.
MQTT kurulumu için Windows başlığı altında bilgisayarınıza uygun 32/64-bit seçeneğiyle indirip kurulum yapabilirsiniz.
Şimdi yukarıda da bahsettiğimiz gibi haberleşmenin gerçekleşmesi için öncelikle MQTT-Broker’ı çalıştırmamız gerekmektedir.
Bu işlem için kullanacağımız terminal komutu:
mosquitto -v
Bu komutu çalıştırdığımızda MQTT’nin dinleme yapacağı port sisteminiz tarafından farklı bir uygulama için kullanılıyorsa aşağıdaki gibi hata alacaksınız.
Bu durumda hatayı yaşamamak için MQTT-Broker’ı başlatırken spesifik bir port verebiliriz.
mosquitto -v -p [port_numarasi]
NOT: Aşağıdaki örneklerde ben port numarasını 1453 olarak ayarladım [ mosquitto -v -p 1453 ]
Oluşturmamız gereken alanlar Subscriber (Dinleyen) ve Publisher (Paylaşan) alanlarıdır. İlk olarak dinleyen tarafı oluşturalım ve ileteceğimiz mesajların nereye iletileceğine dair bilgiyi de bu alanda belirteceğiz. Mesajjın abone tarafında nereden yakalanacağını belirttiğimiz kısma topic diyoruz.
Dinleyiciyi başlatan komutumuz ise :
mosquitto_sub -v -t 'test/topic'
Komutu çalıştırdığımızda terminalde herhangi bir değişiklik olmayacak, çünkü sadece dinleme durumuna geçmiş oluyoruz.
Şimdi son olarak paylaşan taraftan dinleyiciye bir mesaj gönderip bu mesajı dinleyici olarak çalışmakta olan terminalde görmemiz gerekiyor.
Mesajı iletmemizi sağlayan komut ise :
mosquitto_pub -t 'test/topic' -m “helloWorld”
Yukarıdaki resimde üstte bulunan terminal dinleyici, altta bulunan terminal ise mesaj gönderen konumdadır.
Bir sonraki yazıda ise MQTT haberleşmesini terminal üzerinden değil python kodları ile yapacağız ve bu konuyu tam anlamıyla bitirmek için son olarak Ubuntu Server, Raspberry Pi ve bir web arayüzü kullanarak stabil çalışabilen basit bir otomasyon sistemi yapacağız.
Bir sonraki post ve projede görüşmek üzere,
Kendinize iyi bakın.