Raspberry Pi'ye Mosquitto MQTT Sunucusu Kurulumu
Bu yazı, PiMyLifeUp - Installing the Mosquitto MQTT Server to the Raspberry Pi kaynağından Türkçe'ye çevrilerek hazırlanmıştır.
Bu Raspberry Pi projesi, açık kaynaklı MQTT Sunucusu olan Mosquitto'yu nasıl kuracağınızı gösterecek.
![]()
MQTT, Message Queuing Telemetry Transport'un kısaltmasıdır ve IoT cihazları arasında mesajlaşma için yaygın olarak kullanılan bir ağ mesajlaşma protokolüdür.
Raspberry Pi'mizin MQTT protokolünü desteklemesini sağlamak için, Mosquitto adlı bir sunucu yazılımı kullanacağız.
Mosquitto, en son 5.0 revizyonu da dahil olmak üzere MQTT protokolünün birkaç sürümünü uygulayan bir mesaj aracısıdır (message broker).
Aynı zamanda nispeten hafif bir yazılımdır, bu da Mosquitto'yu Raspberry Pi'mizde MQTT protokolüyle ilgilenmek için mükemmel bir seçim yapar.
MQTT protokolü, istemcilerin yayıncı (publisher) ve abone (subscriber) olarak hareket etmesiyle çalışır. Yayıncılar, mesajları aracı görevi gören bir broker'a gönderir.
Aboneler, MQTT broker'ına bağlanır ve belirli bir konu (topic) altında yayınlanan mesajları okur.
Birden fazla sensörün verilerini Raspberry Pi'nizin MQTT broker'ına göndermesi için MQTT kullanabilirsiniz, ardından istemci cihazlar bu veriyi alabilir.
MQTT protokolü ve Raspberry Pi gibi IoT cihazları için neden mükemmel olduğu hakkında daha fazla bilgi edinmek istiyorsanız, resmi MQTT web sitesine göz atın.
Mosquitto'yu Raspberry Pi'ye Kurma
Bu bölümde, Mosquitto broker'ını Raspberry Pi'nize nasıl kuracağınızı göstereceğiz.
Devam etmeden önce, Raspberry Pi'nizi statik bir IP adresi ile kurmaya değer olabilir.
Statik bir IP adresi, birden fazla yeniden başlatmada asla değişmeyecek kolay bir bağlantı noktası sağlar.
1. MQTT broker'ını Raspberry Pi'mize kurmadan önce, işletim sistemini güncellememiz gerekiyor.
Sistemi güncellemek için yapmamız gereken tek şey aşağıdaki iki komutu çalıştırmaktır.
sudo apt update
sudo apt upgrade
2. Sistem güncellemeyi bitirdikten sonra, artık Mosquitto yazılımını kurabiliriz.
Neyse ki bizim için, Mosquitto MQTT broker'ı Raspbian deposunun bir parçası olarak mevcuttur, bu yüzden yazılımı kurmak basittir.
Mosquitto'yu istemci yazılımıyla birlikte kurmak için aşağıdaki komutu çalıştırın.
sudo apt install mosquitto mosquitto-clients
İstemci yazılımı, MQTT broker'ımızın Raspberry Pi'mizde doğru çalıştığını test etmemizi ve onunla etkileşim kurmamızı sağlayacak.
Kurulum süreci sırasında, paket yöneticisi Mosquitto sunucusunu önyüklemede başlayacak şekilde otomatik olarak yapılandıracaktır.
3. Bu noktada, artık cihazınızda çalışır durumda bir Mosquitto MQTT broker'ına sahip olacaksınız.
Aşağıdaki komutu kullanarak kurulu ve çalışır durumda olduğunu doğrulayabilirsiniz.
sudo systemctl status mosquitto
Bu komut, "mosquitto" servisinin durumunu döndürecektir.
Servis düzgün başladıysa "active (running)" metnini görmelisiniz.
Raspberry Pi'de Mosquitto Kurulumunu Test Etme
Bir sonraki adımımız, servisin olması gerektiği gibi çalıştığını ve artık Raspberry Pi'mizde bir MQTT broker'ı olarak hareket ettiğini test etmek olacak.
Bunu yapmak için, bu rehberde daha önce kurduğumuz Mosquitto istemcisini kullanacağız.
Bu bölüm için, Raspberry Pi'nize iki terminal oturumu açmanız gerekecek (Yerel olarak veya SSH üzerinden).
1. İlk görevimiz bir abone (subscriber) başlatmaktır. Abone, Raspberry Pi'de çalışan MQTT broker'ımızı dinleyecek olan şeydir.
Bunu yapmak için daha önce kurduğumuz Mosquitto istemcisini aboneler için kullanabiliriz.
Aşağıdaki örnekte, bir localhost bağlantısına bağlanıp "mqtt/pimylifeup" konusunda broker'dan gelen mesajları bekliyoruz.
mosquitto_sub -h localhost -t "mqtt/pimylifeup"
"-h" argümanını kullanarak, bağlanmak istediğiniz hostname'i belirtebilirsiniz. Bizim durumumuzda, Raspberry Pi'mize kurduğumuz yerel MQTT broker'ını kullanıyoruz.
Ardından, MQTT broker'ından hangi konuyu dinlememiz gerektiğini Mosquitto abonesine söylemek için "-t" argümanını kullanıyoruz.
Örneğimiz için, "mqtt/pimylifeup" adlı bir konuyu dinliyoruz.
2. Artık mesajları dinleyen yüklü bir istemcimiz olduğuna göre, ona bir mesaj yayınlamayı deneyelim.
Konuya bir mesaj yayınlamak için daha önce Raspberry Pi'mize kurduğumuz MQTT yayıncı istemcisini kullanmamız gerekiyor.
"mqtt/pimylifeup" konusu altında localhost sunucumuza "Hello World" mesajını yayınlamak için aşağıdaki komutu çalıştırın.
mosquitto_pub -h localhost -t "mqtt/pimylifeup" -m "Hello world"
Argümanlardan ikisi önceki komutla aynıdır, "-h" bağlanılacak sunucuyu, "-t" ise yayınlanacak konuyu belirtir.
Burada kullandığımız ek argüman "-m" argümanıdır. Bu argüman, Raspberry Pi MQTT broker'ına göndermek istediğiniz mesajı belirtmenizi sağlar.
3. Mosquitto yayıncısını başlattığınız terminal oturumuna geri döndüğünüzde, artık mesajınızın göründüğünü görmelisiniz.
Örneğimizi takip ettiyseniz, komut satırında aşağıdaki metnin göründüğünü görmelisiniz.
Hello world
Sonuç
Bu noktada, artık Raspberry Pi'nizde çalışır durumda bir MQTT sunucusuna sahip olmanız gerekiyor.
Bunu, Mosquitto adlı ücretsiz ve açık kaynaklı yazılımı kullanarak başardık.
Ayrıca her şeyin amaçlandığı gibi çalıştığını doğrulamak için hızlı bir test de yapmış olacaksınız.
Bunu UFW gibi bir güvenlik duvarıyla birlikte kullanıyorsanız, 1883 portunu açtığınızdan emin olun.
Diğer Raspberry Pi IoT projelerimize ve diğer sunucu fikirlerimize göz atmayı unutmayın.
Herhangi bir sorunla karşılaştıysanız, aşağıya yorum bırakmaktan çekinmeyin.