Ev Otomasyonu için Raspberry Pi'ye bir MQTT Sunucusu ve Node-RED kurun

Ev Otomasyonu için Raspberry Pi'ye bir MQTT Sunucusu ve Node-RED kurun

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.



  ahududunuzun ipini yönlendirici dhcp ayarları ile bulun

IP adresini girin Macun ve tıklayın Bağlamak . Giriş yapmak için kullanıcı adınızı ve şifrenizi yazın.

  ssh üzerinden ahududu pi'ye bağlanı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.

  1. Terminal penceresinde aşağıdaki komutu çalıştırarak Mosquitto'yu kurun.
    sudo apt install mosquitto mosquitto-clients -y
      mosquitto mqtt sunucusunu kurun Bu, Mosquitto'yu (MQTT komisyoncusu) ve istemci hizmetlerini kurmaya başlayacaktır.
  2. 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
      sivrisinek hizmetini etkinleştir
  3. Aşağıdaki komutu kullanarak kimliği doğrulanmış uzaktan erişime izin vermek için bir kullanıcı hesabı oluşturun.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    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.
  4. mosquitto.conf aşağıdaki komutu kullanarak nano düzenleyicide dosya.
    sudo nano /etc/mosquitto.conf
    Aşağıdaki kodu nano düzenleyiciye yapıştırın.
    per_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
      sivrisinek yapılandırma dosyasını düzenleyin Basmak CTRL+X bunu takiben Y ve Girmek değişiklikleri kaydetmek için
  5. Aşağıdaki komutu çalıştırarak MQTT aracısını yeniden başlatın.
    sudo systemctl restart mosquitto
  6. MQTT'nin çalışıp çalışmadığını görmek için MQTT aracı durumunu kontrol edin.
    sudo systemctl status mosquitto
      mqtt sunucu durumunu kontrol et Yukarıdaki çıktıyı görüyorsanız, MQTT çalışıyor.

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 .





  mqtt sunucusuna bağlanın ve mqtt aracısının çalışıp çalışmadığını kontrol etmek için test konusuna mesaj gönderin

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
  mqtt'nin çalıştığını gösteren başarıyla yayınlanan mesajlar

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)
  kırmızı düğümü yükle

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
  1. basın Girmek anahtar.
  2. 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.
  3. Seçmek Tam erişim .
  4. Başka bir kullanıcı ekleyebilir veya Hayır Devam etmek için.
  5. Seçme Hayır proje özelliklerini etkinleştirmeniz istendiğinde.
  6. Basmak Girmek .
  7. Bir parola yazın ve güvende tutun.
  8. Seç varsayılan tema > Monako (varsayılan) .
  9. Seçme Hayır harici düğümleri yüklemesi istendiğinde.
  düğüm kırmızı kurulumunu yapılandır

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.

  1880 numaralı bağlantı noktasındaki ahududu pi ipindeki kırmızı erişim düğümü

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.

  8x32 matris ekranda çeşitli sensör değerlerini görüntülemek için örnek düğüm kırmızı akışı

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.