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 İşletim Sistemi (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
Raspberry Pi'nize Windows veya Terminal üzerinde PuTTY kullanarak SSH üzerinden bağlanabilirsiniz. macOS ve Linux'ta. Ancak SSH üzerinden bağlanmak için Raspberry Pi'nin IP'sini bilmelisiniz. Öğrenmek için kablosuz yönlendiricinizin DHCP ayarlarını açabilir veya Fing'i kullanabilirsiniz. Akıllı telefonunuzdaki uygulama.
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 apt update && sudo apt upgrade –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 apt install mosquitto mosquitto-clients -y
- Kurulumdan sonra Sivrisinek hizmetini etkinleştirin ve aşağıdaki komutları kullanarak MQTT sürümünü kontrol edin.
sudo systemctl enable mosquitto.service
mosquitto -v - Aşağıdaki komutu kullanarak kimliği doğrulanmış uzaktan erişime izin vermek için bir kullanıcı hesabı oluşturun.
Burada tedavi 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 aşağıdaki komutu kullanarak nano düzenleyicide dosya.
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 true
pid_file /run/mosquitto/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
allow_anonymous false
listener 1883
password_file /etc/mosquitto/passwd - Aşağıdaki komutu çalıştırarak MQTT aracısını yeniden başlatın.
sudo systemctl restart mosquitto
- 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 status mosquitto
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 .
periskop videosu nasıl indirilir
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 kapamak 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 <(curl -sL https://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.
node-red admin init
Ardından şu adımları izleyin:
google earth'de evimi bul
- 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üvenli tutun.
- Seçmek Tam erişim .
- Başka bir kullanıcı ekleyebilir veya Hayır Devam etmek için.
- Seçme Hayır 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 Hayır harici düğümleri yüklemesi istendiğinde.
Bu yapıldıktan sonra, Node-RED'i yeniden başlatın.
node-red restart
ş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şturun tı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.