Ubuntu'ya Mosquitto MQTT Broker / Server Kurulumu
MQTT , ESP8266 , Raspberry Pi, vb. Gibi "Nesnelerin İnterneti" cihazları arasında iletişim için TCP / IP üzerinden yayınlama / abone olma modeline dayalı "hafif" bir mesajlaşma protokolüdür. Düşük kaynaklar ve ev gibi pille çalışan uygulamalar arasında çok popülerdir. Otomasyon, güvenlik alarm sistemleri ve pille çalışan sensör ağları vb. gibi.
Mosquitto, MQTT protokolleri için bir açık kaynak mesajı komisyoncu (veya sunucu) 'dur. Güçlü topluluk desteği, dokümantasyonu ve kurulum kolaylığı ile en popüler MQTT brokerlerinden biri haline geldi.
Önkoşullar
rootErişimi olan bir Ubuntu sunucusu (deneme için rpi veya benzeri mini pc işinizi görecektir)TCP:1883Güvenlik duvarında bağlantı noktasını açın. (ufw allow a bkz.)
Birinci Adım: Mosquitto Broker'ı Kurun
Ubuntu'nun paket listesini güncelleyin ve mevcut en son Mosquitto Broker'ı yükleyin
sudo apt-get update
sudo apt-get install mosquittoMQTT istemcilerini yükleyin
sudo apt-get install mosquitto-clients
Mosquitto istemcileri, MQTT'yi bir komut satırı yardımcı programı aracılığıyla kolayca test etmemize yardımcı olur. Biri "test" olarak adlandırılmış konuya abone olmak ve diğerinde ise ona bir mesaj yayınlamak için iki komut penceresi kullanacağız .
Konular , aracı tarafından bağlı her bir istemci için iletileri filtrelemek için kullanılan etiketlerdir. Bir konuya abone olan bir müşteri programı "Home1/BedroomTemp"yalnızca aynı konuya diğer müşteriler tarafından yayınlanan mesajları dinleyecektir.
"test" Konusuna abone olalım
mosquitto_sub -h 127.0.0.1 -p 1883 -t "test"mosquito_subönceki komutta kurduğumuz bir abone istemcisidir. Yani bununla abone olduğumuz konuyu dinliyoruz. Konumuza gelen bir mesaj olursa görebilmek için.
-t parametresi ile abone olacağımız konuyu belirtiyoruz.
-h parametresi mosquitto sunucumuzun adresidir. Bu adres uzak bir sunucu da olabilir
-p parametresi mosquitto sunucumuzun portunu değer olarak alır.
"test" Konusuna bir mesaj yayınlayın
Terminalde ikinci bir örnek olarak sekme açın ve "test" adlı konuya bir mesaj yayınlayın .
mosquitto_pub -m "mesajımız bu" -t "test"Üçüncü Adım: Parola ile Güvenlik Sağlayın
Mosquitto bir şifre dosyası oluşturma yardımcı programıyla birlikte gelir.
mosquitto_passwd komutu ile Mosquitto sunucumuza bir kullanıcı adı ve şifre belirleyip sistem güvenliğimizi sağlayabiliriz.
sudo mosquitto_passwd -c /etc/mosquitto/passwd aydin
şifre isteyecektir. Password: 1234 olarak belirledim ben.
Mosquitto için az önce oluşturduğumuz şifre dosyasına işaret eden bir yapılandırma dosyası oluşturun.
Mosquitto için az önce oluşturduğumuz şifre dosyasına işaret eden bir yapılandırma dosyası oluşturun.
sudo nano /etc/mosquitto/conf.d/default.conf
Bu boş bir dosya açacaktır. Aşağıdakini içine yapıştırın.
allow_anonymous false
password_file /etc/mosquitto/passwd
F2 ile kaydedip çıkın .
Şimdi Mosquitto sunucusunu yeniden başlatın ve değişikliklerimizi test edin.
sudo systemctl restart mosquitto
Abone olma istemcisi penceresinde, abone olma istemcisinden Ctrl+Cçıkmak için düğmesine basın ve aşağıdaki komutla yeniden başlatın.
mosquitto_sub -t "test" -u "aydin" -P "1234"
-P' ye dikkat edin . Bu port değil belirlediğimiz şifremiz.
İstemci yayınla penceresinde şifresiz bir mesaj yayınlamayı deneyin.
mosquitto_pub -t "test" -m "message from mosquitto_pub client"
Mesaj aşağıdaki hata mesajı ile reddedilecektir.
Connection Refused: not authorised.
Error: The connection was refused.
Şimdi kullancı adımız ve şifremiz ile bir mesaj yayınlayın.
mosquitto_pub -t "test" -m "deneme" -u "aydin" -P "1234"
" Enter" a bastığınızda, İkinci Adımda olduğu gibi, istemciye abone olunup penceresinde mesajı göreceksiniz.
Sonuç
Şimdi şifre korumalı bir MQTT sunucusu kurduk. Ubuntu sunucunuzun Genel IP' sini projeleriniz için bir MQTT aracısı olarak kullanabilirsiniz.
İnşallah daha sonra bunları video ders olarak hazırlayacağım.
Yorumlar
Yorum Gönder