Messaging Queuing Telemetri Protokolü veya MQTT, düşük bant genişliğine sahip cihazlar ve ortamlar için tasarlanmış hafif bir mesajlaşma protokolüdür. Birden çok IoT cihazı arasında bağlantı kurmak ve bilgi alışverişi yapmak için hızlı, dağıtımı kolay ve enerji açısından verimli bir çözümdür. Bilgi göndermek veya almak için bir MQTT aracısı/sunucusu ve cihazların veya kullanıcıların mesajların yayınlandığı ve abone olduğu konuyu gerektirir.
Bu kılavuzda, MQTT özellikli DIY akıllı IoT cihazlarını bağlamak ve bunları ev otomasyonu için kullanmak için Raspberry Pi üzerinde MQTT aracısını ve Node-RED aracını dağıtacağız.
İhtiyacınız Olan Şeyler
Node-RED ile bir MQTT sunucusu oluşturmak ve dağıtmak için aşağıdakilere ihtiyacınız olacak:
- Ahududu Pi Zero W veya daha iyisi. Raspberry Pi 3 veya 4 (varsa) kullanmanızı öneririz.
- Bir microSD kart (8GB veya üstü).
- Bir microSD kart okuyucu.
- Bir Linux PC, Mac veya Windows PC.
- İnternet bağlantısı (Wi-Fi).
1. Adım: Raspberry Pi OS Lite'ı (64-bit) yükleyin
Raspberry Pi OS'nin 64-bit Lite sürümüne ihtiyacınız olacak. İçinde Ahududu Pi Görüntüleyici aracı başka bir bilgisayarda tıklayın İşletim Sistemini Seçin > Raspberry Pi OS (Diğer)öğesini seçin, ardından Raspberry Pi OS Lite (64-bit). Ayrıca, SSH'yi etkinleştirmek için Imager'ın gelişmiş ayarlarını kullanmak isteyeceksiniz (biz pi ve Ahududu bu kılavuz için kullanıcı adı ve şifre olarak) ve Wi-Fi bağlantısını yapılandırın. Daha fazla ayrıntı için, adresindeki kılavuzumuza bakın. Raspberry Pi'ye işletim sistemi nasıl kurulur. İşletim sistemini karta yazdıktan sonra çıkarın ve Raspberry Pi'nize takın.
Adım 2: SSH Üzerinden Bağlanın ve Paketleri Güncelleyin
Windows veya Terminalon macOS ve Linux üzerinde PuTTY kullanarak Raspberry Pi'nize SSH üzerinden bağlanabilirsiniz. Ancak SSH üzerinden bağlanmak için Raspberry Pi'nin IP'sini bilmelisiniz. Bunu öğrenmek için kablosuz yönlendiricinizin DHCP ayarlarını açabilir veya akıllı telefonunuzdaki Fingapp'i kullanabilirsiniz.
IP adresini girin Macun ve tıklayın Bağlamak. Giriş yapmak için kullanıcı adınızı ve şifrenizi yazın.
Linux veya macOS terminalinde şunu yazın PiKullanıcı Adınız@IPAdresi ve ardından oturum açmak için parolayı yazın. SSH ile bağlandıktan sonra, paket listesini güncellemek ve paketleri yükseltmek için aşağıdaki komutu çalıştırın.
sudo uygun güncelleme && sudo uygun yükseltme –y
3. Adım: MQTT Broker'ı kurun
MQTT aracısını (Mosquitto) kurmak ve etkinleştirmek için aşağıdaki adımları izleyin.
- Terminal penceresinde aşağıdaki komutu çalıştırarak Mosquitto'yu kurun.
Bu, Mosquitto'yu (MQTT komisyoncusu) ve istemci hizmetlerini kurmaya başlayacaktır.sudo uygun Yüklemek sivrisinek sivrisinek istemcileri -y
- Kurulumdan sonra Sivrisinek hizmetini etkinleştirin ve aşağıdaki komutları kullanarak MQTT sürümünü kontrol edin.
sudosistemctletkinleştirmesivrisinek.hizmet
sivrisinek -v - Aşağıdaki komutu kullanarak kimliği doğrulanmış uzaktan erişime izin vermek için bir kullanıcı hesabı oluşturun.
Burada ravi kullanıcı adıdır (istediğinizi kullanabilirsiniz). İstendiğinde şifreyi girin. Bu kullanıcı adını ve şifreyi daha sonra kullanmak üzere not edin.sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
- Aç mosquitto.conf Dosyayı nano düzenleyicide aşağıdaki komutu kullanarak oluşturun.
Aşağıdaki kodu nano düzenleyiciye yapıştırın.sudo nano /etc/mosquitto.conf
Basmak CTRL+X bunu takiben Y ve Girmek değişiklikleri kaydetmek içinper_listener_settings doğru
pid_file /run/mosquitto/mosquitto.pid
ısrar doğru
kalıcılık_konumu /var/lib/mosquitto/
log_dest dosyası /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
allow_anonymous yanlış
dinleyici 1883
password_file /etc/mosquitto/passwd - Aşağıdaki komutu çalıştırarak MQTT aracısını yeniden başlatın.
sudo systemctl sivrisinek yeniden başlat
- MQTT'nin çalışıp çalışmadığını görmek için MQTT aracı durumunu kontrol edin.
Yukarıdaki çıktıyı görüyorsanız, MQTT çalışıyor.sudo systemctl durum sivrisinek
4. Adım: MQTT Broker'ı Test Edin
MQTT aracısının çalışıp çalışmadığını test etmek için MQTTLens veya Chrome'da veya başka bir web tarayıcısında benzer bir MQTT uygulamasını açın ve başlatın. Raspberry Pi'nin IP adresini ve MQTT kullanıcı adını/şifresini girin. Tıklamak Bağlantı Oluştur.
herhangi bir konuyu girin Abone olmak alan ve aynı konu Yayınla alan. Mesaj alanına "Merhaba" veya herhangi bir şey yazın ve tıklayın. Yayınla.
Abonelikler altındaki mesajı görüyorsanız, MQTT aracısı iyi çalışıyordur.
Adım 5: Node-RED'i yükleyin
Node-RED ile akıllı cihazlarınıza mesaj yayınlayabilir veya yükleri gönderip alabilirsiniz. Bu yük, akıllı cihazları açıp kapatmak veya bir sensörden veri (sıcaklık gibi) almak için tetiklemek için kullanılabilir. Node-RED'de bu tür akışları oluşturmak için web tarayıcınızı kullanabilir ve akıllı cihazlarınızı kontrol edebilirsiniz.
Node-RED'i kurmak için Terminal penceresinde aşağıdaki komutu yürütün.
bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Bu, Node-RED'i Raspberry Pi'nize indirecek ve kuracaktır. Tamamlanması biraz zaman alabilir. Node-RED yüklendikten sonra, aşağıdaki komutu çalıştırarak bir Node-RED ayarları dosyası oluşturmanız gerekir.
düğüm-kırmızı yönetici init
Ardından şu adımları izleyin:
- basın Girmek anahtar.
- Kullanıcı güvenliğini ayarlamak istiyor musunuz? Seçme Evet. Bir kullanıcı adı ve şifre girin. Bu, bir web arayüzü aracılığıyla Node-RED'e giriş yapmak ve yönetmek için kullanılacağı için güvende tutun.
- Seçmek Tam erişim.
- Başka bir kullanıcı ekleyebilir veya Numara Devam etmek için.
- Seçme Numara proje özelliklerini etkinleştirmeniz istendiğinde.
- Basmak Girmek.
- Bir parola yazın ve güvende tutun.
- Seç varsayılan tema > Monako (varsayılan).
- Seçme Numara harici düğümleri yüklemesi istendiğinde.
Bu yapıldıktan sonra, Node-RED'i yeniden başlatın.
düğüm kırmızısı yeniden başlatma
şimdi ziyaret edebilirsiniz Ahududu-Pi-IP'niz: 1880 Node-RED yönetici panelini açmak ve oturum açmak için bir web tarayıcısında.
Artık Node-RED'de akışlar oluşturabilirsiniz. Aşağıda, evimizde kurulu çeşitli sensör bilgilerini gerçek zamanlı olarak gösteren WS2812B 8x32 matris ekranımızı çalıştırmak için kullandığımız bir Düğüm-KIRMIZI akışı örneği verilmiştir.
Başlamak için şunları da yapabilirsiniz: MAX7219 nokta vuruşlu bir DIY akıllı saat oluşturuntıklayın ve metin veya mesajları görüntülemek için MQTT sunucunuza bağlayın.
MQTT ve Node-RED Kullanarak Ev Otomasyonunu Etkinleştirin
Artık MQTT özellikli akıllı ev cihazlarınızı kontrol etmek veya izlemek için akışlar oluşturabilirsiniz. Ayrıca DIY Tasmota akıllı anahtarlar veya Arduino tabanlı akıllı sensörler ve MQTT kontrollü diğer akıllı cihazlar oluşturabilir ve bunları bu MQTT ve Node-RED sunucusuyla kullanabilirsiniz. Akıllı telefonunuzun MQTT istemcisinden alınan olaylara, zamana veya yüke dayalı olarak ev otomasyonu için akışlar oluşturabilirsiniz.
Android akıllı telefonunuzda, MQTT aracınıza bağlanmak ve akıllı cihazlarınızın abone olduğu veya yayınladığı çeşitli konulara veya bu konulardan yükleri göndermek veya almak için MQTT Dash'i yükleyebilirsiniz.