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

instagram viewer

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.

  1. Terminal penceresinde aşağıdaki komutu çalıştırarak Mosquitto'yu kurun.
    sudo uygun Yüklemek sivrisinek sivrisinek istemcileri -y
    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.
    sudosistemctletkinleştirmesivrisinek.hizmet
    sivrisinek -v
  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 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.
  4. mosquitto.conf Dosyayı nano düzenleyicide aşağıdaki komutu kullanarak oluşturun.
    sudo nano /etc/mosquitto.conf
    Aşağıdaki kodu nano düzenleyiciye yapıştırın.
    per_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
    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 sivrisinek yeniden başlat
  6. MQTT'nin çalışıp çalışmadığını görmek için MQTT aracı durumunu kontrol edin.
    sudo systemctl durum sivrisinek
    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.

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:

  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üvende tutun.
  3. Seçmek Tam erişim.
  4. Başka bir kullanıcı ekleyebilir veya Numara Devam etmek için.
  5. Seçme Numara 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 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.