Haberler

Node-RED ile OpenWrt Üzerinde Akıllı Ev

Giriş

Bu blog, Seeed tarafından OpenWrt Sistemi üzerinde çalışan Node-RED kullanarak akıllı ev aletlerinizi nasıl kontrol edebileceğinizi anlatacak. Burada her şeyi adım adım nasıl kurabileceğinizi açıklayacağım. Ayrıca, bağlı cihazları görselleştirmek için Node-RED kontrol panelini görüntülemek üzere reTerminal LCD’sini kullanacağım.

OpenWrt Nedir?

OpenWrt, gömülü cihazlar/ yönlendiriciler üzerinde çalışan açık kaynaklı bir Linux işletim sistemidir. Geleneksel bir yönlendiriciden daha fazla özellik, performans ve güvenlik sunar. Tamamen yazılabilir bir dosya sistemi ve bir paket yönetim sistemi içerir. Bu paketleri çeşitli şekillerde uygulamalarınıza uyacak şekilde kullanabilirsiniz.

OpenWrt kullanarak aşağıdaki gibi çeşitli özelliklere sahip olabilirsiniz:

  • Birden fazla cihaz bağlıyken genel ağ performansını artırma
  • Yönlendiriciye doğrudan bağlı bir harici depolama sürücüsü aracılığıyla cihazlar arasında dosya paylaşma
  • Ağ güvenliğini artırma
  • Yönlendiriciden bir BitTorrent istemcisi çalıştırma
  • Ağ bağlantılı bir yazıcı oluşturmak için yazıcıyı doğrudan yönlendiriciye bağlama
  • Ağda belirli bir cihazın bant genişliği kullanımını sınırlama
  • Aktif kuyruk yönetimi
  • Gerçek zamanlı ağ izleme
  • Dinamik DNS oluşturma
  • VPN istemcisi veya sunucusu kurma

Seeed tarafından OpenWrt Sistemi Nedir?

Seeed tarafından OpenWrt Sistemi, OpenWrt’nin en son sürümüne harika Luci uygulamaları eklemenin mükemmel bir yoludur. CM4 ve x86 tabanlı donanım cihazları için kararlı, esnek ve kullanımı kolay bir OpenWrt sistemi sunar.

Seeed’in OpenWrt sistemi, yalnızca temel yönlendirme işlevleri sağlamakla kalmaz, aynı zamanda kullanıcıların farklı senaryoları hızlı bir şekilde uygulamalarına olanak tanıyan HomeLab, AIoT için platform yazılımı da sunar.

Node-RED Nedir?

Node-RED, donanım cihazlarını, API’leri ve çevrimiçi hizmetleri yeni ve ilginç şekillerde bir araya getirmek için bir programlama aracıdır.
Geniş bir düğüm yelpazesi ile akışları bir araya getirmeyi kolaylaştıran tarayıcı tabanlı bir düzenleyici sunar ve bu akışlar tek bir tıklama ile çalışma zamanına dağıtılabilir.

Seeed tarafından OpenWrt Sisteminde Node-RED

Node-RED, Seeed tarafından OpenWrt Sistemi üzerinde önceden yüklenmiş olarak gelir. Bu nedenle, Node-RED için herhangi bir kurulum süreci gerekmemektedir. Tek yapmanız gereken tarayıcıyı açmak ve Node-RED arayüzüne erişmek için belirli bir URL’yi girmektir!

Şimdi Node-RED uygulamamızı oluşturmaya başlayalım!

Node-Red ile Akıllı Lamba Kontrolü

Bu kılavuzda, Node-RED kullanarak bir Xiaomi Yeelight Akıllı Ampulü kontrol edeceğim. Ancak, başka akıllı cihazlarınız varsa onları da kontrol edebilirsiniz. Ancak bazı adımlar onlar için farklı olacaktır. Öncelikle kullanacağımız donanıma bakalım.

Gerekli Donanım

Xiaomi Yeelight Düğümünü Kurun ve Node-RED’i Başlatın

Xiaomi Akıllı Lambayı Node-RED kullanarak kontrol etmek için Yeelight düğümünü kurmamız gerekiyor. Bunun ardından Node-RED’i başlatacağız.

Adım 1: Seeed tarafından OpenWrt Sistemi ile bir ODYSSEY – X86 kartı veya CM4 Çift Gigabit Ethernet Taşıyıcı Kartı hazırlayın. Başlangıç için bu kılavuzu takip edin.

Adım 2: PC’nizde bir web tarayıcısı açın ve OpenWrt Luci web arayüzüne erişmek için 192.168.2.1 yazın.

Not: Eğer OpenWrt yönlendiricinizin IP adresi 192.168.2.1’den farklıysa, lütfen o IP adresi ile değiştirin.

Adım 3: Hizmetler > Terminal kısmına gidin ve kimlik bilgilerinizi kullanarak giriş yapın.

Adım 4: Node-RED’i durdurmak için aşağıdakini yazın:

service node-red stop

Adım 5: node-red dizinine girin.

cd /.node-red

Adım 6: Xiaomi Yeelight Node-RED düğümünü kurun.

npm install node-red-contrib-yeelight

Adım 7: Kurulum tamamlandıktan sonra Node-RED’i tekrar başlatın.

service node-red start

Adım 8: Bir web tarayıcısı açın ve aşağıdakini yazarak Node-RED’e erişin:

192.168.2.1:1880

Not: Eğer OpenWrt yönlendiricinizin IP adresi 192.168.2.1’den farklıysa, lütfen o IP adresi ile değiştirin.

Şimdi, akıllı ampulü kontrol etmek için Node-RED arayüzünde farklı bloklar yerleştirmeye geçelim.

Node-RED Akışı Oluşturma – Düğme Düğümü

Ampul için bir AÇ/KAPA düğmesi oluşturarak başlayın.

Adım 1: Node-RED arayüzünün sol tarafında, “dashboard” altında “button” düğümünü çalışma alanına sürükleyip bırakın.

Adım 2: Buton düğmesine çift tıklayın ve Grup’un sağ tarafındaki kalem simgesine tıklayın

Adım 3: Grup için istenen bir İsim yazın

Adım 4: Sekme’nin sağ tarafındaki kalem simgesine tıklayın

Adım 5: Sekme için istenen bir İsim yazın

Adım 6: Ekle’ye tıklayın

Adım 7: Tekrar Ekle’ye tıklayın

Adım 8: Buton için diğer ayarları aşağıdaki gibi değiştirin

  • Etiket: AÇIK/ KAPALI
  • Tıklandığında gönder: Payload – Boolean
  • İsim – AÇIK/ KAPALI

Adım 9: Node-RED UI’nin sol tarafında, MiHome altında, yeelight düğmesini çalışma alanına sürükleyip bırakın

Adım 10: yeelight düğmesine çift tıklayın ve Yeelight yapılandırması’nın sağ tarafındaki kalem simgesine tıklayın

Adım 11: Yeelight’in IP adresini girin

Not: Bunu, yönlendiricinize giriş yaparak ve bağlı cihazları listeleyerek kontrol edebilirsiniz

Adım 12: Port Numarası için 55443 girin

Adım 13: Ekle’ye tıklayın

Adım 14: Komut altında Toggle’ı seçin

Adım 15: Tamam’a tıklayın

Adım 16: Buton düğmesini yeelight toggle düğmesine bağlamak için buton düğmesinin sağ tarafındaki küçük noktaya tıklayın, bir çizgi çizmek için sürükleyin ve çizgiyi yeelight toggle düğmesinin sol tarafındaki küçük noktaya bağlayın

Node-RED Akışı Oluştur – Renk Düğmesi Seçin

Şimdi farklı renkleri seçmek için bir açılır menü oluşturalım

Adım 1: Node-RED UI’nin sol tarafında, dashboard altında, dropdown düğmesini çalışma alanına sürükleyip bırakın

Adım 2: Buton düğmesine çift tıklayın ve daha önce oluşturduğumuz Grubu seçin

Adım 3: Diğer ayarları aşağıdaki gibi değiştirin

  • Etiket: RENK
  • Yer tutucu: SEÇİN
  • Seçenekler:
  • Dize: 0xFF0000 : KIRMIZI
  • Dize: 0x00FF00 : YEŞİL
  • Dize: 0x0000FF : MAVİ
  • Dize: 0xFFFFFF : BEYAZ
  • Dize: 0x00FFFF : CAMGÖBEĞİ
  • Dize: 0xFF00FF : MOR
  • Dize: 0xFFFF00 : SARI
  • İsim: Renk Seç

Adım 4: Node-RED UI’nin sol tarafında, MiHome altında, yeelight düğmesini çalışma alanına sürükleyip bırakın

Adım 5: yeelight düğmesine çift tıklayın ve daha önce oluşturduğumuz Yeelight yapılandırmasını seçin

Adım 6: Komut altında Set RGB’yi seçin

Adım 7: Tamam’a tıklayın

Node-RED Akışı Oluştur – Renk Sıcaklığı Düğmesi Ayarla

Sonraki adımda, renk sıcaklığını değiştirmek için bir kaydırıcı oluşturalım

Adım 1: Node-RED UI’nin sol tarafında, dashboard altında, slider düğmesini çalışma alanına sürükleyip bırakın

Adım 2: “slider” düğmesine çift tıklayın ve daha önce oluşturduğumuz Grubu seçin

Adım 3: Diğer ayarları aşağıdaki gibi değiştirin

  • Etiket: SICAKLIK
  • Aralık: min:1700 max:6500 step:10
  • İsim: Sıcaklığı Ayarla

Adım 4: Node-RED UI’nin sol tarafında, MiHome altında, yeelight düğmesini çalışma alanına sürükleyip bırakın

Adım 5: yeelight düğmesine çift tıklayın ve daha önce oluşturduğumuz Yeelight yapılandırmasını seçin

Adım 6: Komut altında Set Temperature’ı seçin

Adım 7: Tamam’a tıklayın

Node-RED Akışı Oluştur – Parlaklık Düğmesi Ayarla

Sonraki adımda, parlaklığı değiştirmek için bir kaydırıcı oluşturalım

Adım 1: Node-RED UI’nin sol tarafında, dashboard altında, slider düğmesini çalışma alanına sürükleyip bırakın

Adım 2: slider düğmesine çift tıklayın ve daha önce oluşturduğumuz Grubu seçin

Adım 3: Diğer ayarları aşağıdaki gibi değiştirin

  • Etiket: PARLAKLIK
  • Aralık: min:1 max:100 step:1
  • İsim: Parlaklığı Ayarla

Adım 4: Node-RED UI’nin sol tarafında, MiHome altında, yeelight düğmesini çalışma alanına sürükleyip bırakın

Adım 5: yeelight düğmesine çift tıklayın ve daha önce oluşturduğumuz Yeelight yapılandırmasını seçin

Adım 6: Komut altında Set brightness’ı seçin

Adım 7: Tamam’a tıklayın

Node-RED Akışı Oluştur – Renk Seçici

Sonraki adımda, farklı renkleri seçmek için bir renk paleti oluşturalım

Adım 1: Node-RED UI’nin sol tarafında, dashboard altında, colour picker düğmesini çalışma alanına sürükleyip bırakın

Adım 2: colour picker düğmesine çift tıklayın ve daha önce oluşturduğumuz Grubu seçin

Adım 3: Diğer ayarları aşağıdaki gibi değiştirin

  • Etiket: RENK PALETİ
  • Genişlik 4 veya daha fazla ise:
  • Her zaman seçici göster: işaretli
  • Her zaman değer alanını göster: işaretli
  • İsim: Renk Paleti

Adım 4: Node-RED UI’nin sol tarafında, function altında, function düğmesini çalışma alanına sürükleyip bırakın

Adım 5: “function” düğmesine çift tıklayın ve “On Message” altında, aşağıdaki satırları ekleyin

msg.payload = msg.payload.replace(/[#]/g,"0x");
return msg;

Adım 6: Tamam’a tıklayın

Adım 7: Node-RED UI’nin sol tarafında, MiHome altında, yeelight düğmesini çalışma alanına sürükleyip bırakın

Adım 8: yeelight düğmesine çift tıklayın ve daha önce oluşturduğumuz Yeelight yapılandırmasını seçin

Adım 9: Komut altında Set RGB’yi seçin

Adım 10: Tamam’a tıklayın

Artık tamamlanmış diyagramı başarıyla oluşturduk.

PC’de Node-RED UI Dashboard

Node-RED dashboard’ını görüntülemek için ilerleyelim

Adım 1: Node-RED arayüzü içinde, Dashboard’a tıklayın

Not: Ayarları tercihlerinize göre değiştirin

Adım 2: Aşağıdaki adresi herhangi bir web tarayıcısına yazarak akıllı ampul demosu ile Node-RED kontrol panelini açın

192.168.2.1:1880/ui

Artık bu kontrolleri kullanarak Akıllı Ampulü kontrol edebilirsiniz!

reTerminal’da Node-RED UI Kontrol Paneli

Ayrıca yukarıdaki kontrol panelini reTerminal LCD’sinde görüntüleyebilirsiniz. Süreci birlikte inceleyelim

Adım 1: bu kılavuzu takip ederek reTerminal ile ilk kez başlayın

Adım 2: reTerminal’ın terminal penceresine aşağıdaki komutu yazın

chromium-browser --start-fullscreen http://192.168.2.1:1880/ui

Not: reTerminal’ın OpenWrt yönlendiricisine bağlı olduğundan emin olun

Artık reTerminal kullanarak Akıllı Ampulü de kontrol edebileceksiniz!

Demo Gösterimi

Sonuç

Umarım bu blog, Node-RED’in temel kullanımını anlamanıza ve akıllı bir ampulü nasıl kontrol edebileceğinize yardımcı olmuştur. Ancak, Node-RED kontrol panelinden birçok başka akıllı cihazı kontrol etmek için de genişletilebilir!

Leave a Reply

Your email address will not be published. Required fields are marked *