NodeRed hakkında daha fazla kaynak

Node-RED hakkında bilgi edinebileceğiniz en güncel ve doğru kaynağın adresi nodered.org olan web sitesidir. Sitedeki Documentations bağlantısı oldukça iyi organize edilmiş ve doyurucu bir kaynak sunar. Ayrıca nodered.org üzerinden ulaşabileceğiniz forum sistemi yardımlaşmayı seven Node-RED kullanıcıları ile doludur. Node-RED konusunda destek ve bilgi alabileceğiniz diğer kaynaklar şunlardır.

Okumaya devam et “NodeRed hakkında daha fazla kaynak”

NodeRed – UYGULAMA 11: Hava Durumunu Görüntülemek

Bu uygulamada yaşadığımız bölgenin hava durumunu, bir çevrim içi servisten çekerek grafiğe yansıtacağız. Hava durumu bilgilerini çekmek için kullanacağımız openweathermap.org (OWM) adresinde yer alıyor. OWM günlük 1000 isteğe kadar hava durumu verilerini XML veya JSON biçimlerinde ücretsiz olarak sağlıyor. OWM gibi birçok servis mevcut. Bu uygulamada bu tarz servislerden nasıl veri çekileceği ve grafiğe dönüştürüleceğini örneklendirilecektir.

Okumaya devam et “NodeRed – UYGULAMA 11: Hava Durumunu Görüntülemek”

NodeRed – UYGULAMA 10: Raspberry Pi İçin Sistem Monitörü Oluşturmak

Node-RED ile Raspberry Pi için bir sistem monitörü oluşturmak oldukça kolaydır. Oluşturacağımız sistem monitörü ile CPU, RAM ve Disk durumunu canlı olarak takip edeceğiz ve değişim grafiğini oluşturacağız. Bunun için ihtiyacımız olan node node-red-contrib-os adlı node’dur. Sahip olacağımız dashboard’un ekran görüntüsü aşağıda yer alıyor.

Okumaya devam et “NodeRed – UYGULAMA 10: Raspberry Pi İçin Sistem Monitörü Oluşturmak”

NodeRed – UYGULAMA 9: Sensör Değerlerini Veritabanına Kaydetmek

Uygulama 7’de DHT11 sensörünü okuyarak sıcaklık ve nem grafiği çizdirmiştik. Bu uygulamada ise grafiğini çizdirdiğimiz bu değerleri MariaDB (MySQL) veri tabanında depolayacağız.

Öncelikle kitabın ilgili bölümünde anlatıldığı gibi MariaDB veri tabanı sunucusunu Raspberry Pi’a kurun ve mariadb konsolunu aşağıdaki gibi çalıştırarak bir veri tabanı ve tablo oluşturun. Veritabanımızın adı sensorler, tablomuzun adı dht11 ve tablonun içindeki alanlar sırasıyla zaman, sensor, deger seklinde olacak.

Okumaya devam et “NodeRed – UYGULAMA 9: Sensör Değerlerini Veritabanına Kaydetmek”

NodeRed – UYGULAMA 8: DHT11/DHT22 Sıcaklık Sensörünü Okumak

DHT11 ve DHT22 sensörleri sıcaklık ve nemi aynı anda okuyabilen sık kullanılan sensörlerdir. Bu uygulamamızda çevrim içi kütüphaneden yükleyeceğimiz DHT11/22 node’u ile sıcaklık ve nem bilgisini okuyarak, gösterge ve grafikler eşliğinde dashboard’da görüntüleyeceğiz. Yapacağımız çalışmanın dashboard görüntüsü aşağıda yer almaktadır.

Okumaya devam et “NodeRed – UYGULAMA 8: DHT11/DHT22 Sıcaklık Sensörünü Okumak”

NodeRed – UYGULAMA 7: Eposta Mesajı Göndermek

Önceki uygulamamızda rölenin durum güncellemeleri Telegram sohbetine mesaj olarak geliyordu. Bu uygulamada, aynı işlevi e-posta göndererek gerçekleştireceğiz. Tasarladığımız akışın şeması aşağıda yer alıyor.

Okumaya devam et “NodeRed – UYGULAMA 7: Eposta Mesajı Göndermek”

NodeRed – UYGULAMA 6: Telegram Uygulamasına GPIO Durumunu Göndermek

Hatırlarsanız ikinci uygulamamız hem dashboard üzerinden hem de fiziksel anahtar ile bir rölenin kontrol edilmesini sağlıyordu. Yani, kullanıcı röleyi dilerse web panelinden (dashboard) dilerse de fiziksel anahtarı kullanarak etkinleştirebiliyordu ve bu ikisi etkileşimli olarak birbirinden haberdardı.

Bu uygulamayı bahsettim röle kontrol uygulaması üzerine inşa edeceğiz. Yapacağımız şey röle etkin olduğunda Telegram’a uygulamamıza rölenin etkinleştirildiğini veya rölenin etkisizleştirildiğini bildirmek olacak. Gerçekleştireceğimiz uygulamanın akış şeması aşağıdaki gibidir.

Okumaya devam et “NodeRed – UYGULAMA 6: Telegram Uygulamasına GPIO Durumunu Göndermek”

NodeRed – UYGULAMA 5: Telegram Uygulamasına Bildirim Göndermek

Telegram hesabınız varsa ve telefon uygulamasını kullanıyorsanız, Node-RED’in Telegram uygulamanıza mesaj göndermesini sağlayabilirsiniz. Örneğin bir hareket sensörünün tespit ettiği hareketi veya sıcaklık sensörünün değerini Telegram uygulamanıza otomatik olarak gönderilmesini sağlayabilirsiniz. Node-RED ile kurmuş olduğunuz otomasyon sisteminde bir bilgilendirme kanalı olarak anlık mesajlaşma uygulamalarını kullanmak oldukça yaygındır. Aynı yöntemi Node-RED akışlarınıza mesajlaşma uygulaması üzerinden komut göndermek için de kullanabilirsiniz.

Okumaya devam et “NodeRed – UYGULAMA 5: Telegram Uygulamasına Bildirim Göndermek”

NodeRed – UYGULAMA 4: TTS ile Metni Sese Dönüştürmek

Önceki uygulamamızı biraz daha geliştirerek Röle kontrolüne ses özelliği ekleyeceğiz. Bu uygulamada röle enerjilendiğinde Audio output node’unu kullanarak “Röle açıldı” veya “Röle kapandı” sesli mesajlarının TTS (Text To Speach) özelliği ile hoparlörden seslendirilmesini sağlayacağız. Ses, tarayıcı üzerinden oluşturulacağından tarayıcıyı çalıştıran bilgisayarın ses ayarlarının etkin olduğundan emin olun. Dilerseniz önceki uygulamayı kütüphaneye kaydederek veya dışarı aktararak yedekleyebilirsiniz. Bu konu hakkında detaylı bilgi “Import ve Export” başlığında verilmiştir.

Okumaya devam et “NodeRed – UYGULAMA 4: TTS ile Metni Sese Dönüştürmek”

MotionEyeOS ile Raspberry Pi’ı Güvenlik Kamerası Gözetim Çözümüne Dönüştürmek

MotionEyeOS[1] (MEOS) adındaki dağıtım Raspberry Pi’ı bir kamera gözetim sistemine dönüştürmek için hazırlanmıştır. Raspberry Pi gibi diğer popüler kart bilgisayarlar için de farklı imajlara sahip olan MotionEyeOS, Raspberry Pi’ın tüm sürümlerini desteklemektedir. MotionEyeOS’u indirme sayfası olan https://github.com/ccrisan/motioneyeos/releases adresinden indirdikten sonra bir SD karta yazın ve Raspberry Pi’ı başlatın. MEOS ilk defa başlarken disk bölümünü SD kartın tamamını kullanacak şekilde biçimleyecektir.

Okumaya devam et “MotionEyeOS ile Raspberry Pi’ı Güvenlik Kamerası Gözetim Çözümüne Dönüştürmek”

RPCWI ile CSI Kamerayı Web Üzerinden İzlemek

RPCWI (RPi Cam Web Interface) uygulaması[1], Raspberry Pi Kamera modülü için bir web arayüzüdür. Arayüz güvenlik kamerası, video ve time-lapse görüntüler kaydetmek için kullanılabilir. Arabirimi herhangi bir mobil cihazdan bir web tarayıcısı ile açarak kullanabilirsiniz. Uygulamanın bazı özellikleri aşağıdaki gibidir:

Okumaya devam et “RPCWI ile CSI Kamerayı Web Üzerinden İzlemek”

Motion’ın Disk Alanı Kullanımını Sınırlandırmak

Eğer dâhili SD karta kayıt yapıyorsanız, yapılandırma ayarlarınıza bağlı olarak kartın kısa sürede dolması mümkündür. Disk dolduğunda Raspberry Pi çalışamaz duruma gelir. Bunun için harici bir diske veya uzak dosya sistemine de (Samba/NFS) kayıt yapmak çözüm gibi gözükse de aylarca yıllarca çalışacak bir sistem için farklı çözümlere ihtiyaç vardır. Disk er ya da geç dolacaktır. Bu sorunu çözmek için kullanılan yaklaşımlardan birisi en eski dosyadan başlayarak silme işlemi gerçekleştirmek ve diskte boş alan açmaktır.

Okumaya devam et “Motion’ın Disk Alanı Kullanımını Sınırlandırmak”

Motion Aracı ile Harekete Duyarlı Güvenlik Sistemi Kurmak

Raspberry Pi’ın CSI arayüzünden bağladığınız kamerayı ve USB webcam’leri kullanarak harekete duyarlı bir alarm sistemi gerçekleştirebilirsiniz. Eğer kamera görüntülerinde ayarladığınız eşiği aşan miktarda bir hareketlenme olursa kayıt başlatabilir ya da bir programı çalıştırabilir, GPIO üzerinden alarmı tetikletebilir ya da sms/mail göndertebilirsiniz. Bu özellikle tatile gittiğinizde bahçenizde ya da evinizde neler olup bittiğinden anında haberdar olmak için çok kullanışlıdır. Benzer şekilde evcil hayvanlarınızı ya da vahşi doğadaki hayvanları takip etmek için de kullanılabilir.

motion daemon’ın çalışma şekli

Okumaya devam et “Motion Aracı ile Harekete Duyarlı Güvenlik Sistemi Kurmak”

Kamera ile Ağ Üzerinden MJPEG Biçimli Görüntü Akışı Yapmak

cvlc aracı kamera görüntüsünü h.264 biçiminde sıkıştırarak ağ ile paylaşır. Ağ üzerinden görüntü akış biçimi olarak MJPEG oldukça yaygın ve eski bir görüntü akış biçimidir. Elinizde bu formatı destekleyen bir yazılım ya da donanım varsa bu başlık size hitap ediyor olabilir.

Raspberry Pi’ın grafik çipinin donanımsal olarak desteklediği MJPEG biçimi, görüntü karelerini TCP/IP üzerinden aktarmak için kullanılan eski bir akış biçimidir ve daha çok CPU/RAM kaynakları düşük gömülü sistemler üzerinde tercih edilir.

Okumaya devam et “Kamera ile Ağ Üzerinden MJPEG Biçimli Görüntü Akışı Yapmak”

USB Web Kamerasını Kullanmak

Sıradan USB web kameralarını (web cam) uzaktan izleme ve kayıt amaçlı kullanabilirsiniz. Farklı markalar tarafında üretilmiş çok sayıda USB web kamerası vardır. Raspberry Pi bu kameraların büyük çoğunluğu ile kullanılabilir. Eğer yeni bir web kamerası satın alacaksanız elinux.org[1] sayfasından Raspberry Pi’ın sorunsuz bir şekilde çalışabileceği kamera marka/modellerini kontrol edebilirsiniz. Eğer hâlihazırda elinizde bir USB webcam varsa Raspberry Pi tarafından desteklenip desteklenmediğini kolayca öğrenebilirsiniz. Webcam’i Raspberry Pi’ın USB girişlerinden birisine bağlayın ve terminal ortamında lsusb komutunu çalıştırın:

Okumaya devam et “USB Web Kamerasını Kullanmak”

CSI Kamera ile Ağ Üzerinden h.264 Görüntü Akışı Yapmak

Kamera modülünün yakaladığı görüntüyü ağ üzerinden başka bilgisayarlara ya da merkezi bir kayıt sunucusuna aktarmak için bir video akışı oluşturmak gerekir. Bu şekilde yakaladığı görüntüyü ağ üzerinden akıtma (stream) desteği olan kameralar IP kamera (IP Cam) adıyla da bilinir. Raspberry Pi kamera modülünün görüntüsünü ağ üzerinden akıtmak için açık kaynak bir proje olan VideoLAN’ın bir parçası olan VLC/VLC Player (Visible Light Communication)  araçlarını kullanacağız. Bu araçlardan biri olan cvlc’yi ile kamera görüntüsünü TCP/IP üzerinden paylaşacağız. TCP/IP işin içine girdiğinde ise bir IP adresi ve port numarası söz konusu olur. cvlc’nin kullanımına geçmeden önce ilgili araçları yüklemek için aşağıdaki komutları girin:

Okumaya devam et “CSI Kamera ile Ağ Üzerinden h.264 Görüntü Akışı Yapmak”