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”

CSI Kamera ile HD Görüntü Kaydetmek

Video kaydı yapmak için raspistill aracının ikiz kardeşi olan raspivid aracı kullanılabilir. Araç ile raspistill’e benzer olarak pozlama ve renk ayarlarını aynı seçenekleri kullanarak yapabilirsiniz. raspivid varsayılan olarak h264 video sıkıştırma algoritmasını kullanarak kayıt yapar. H264, MPEG-4’e göre 2 kata yakın yüksek sıkıştırma ve daha akıcı bir oynatma sunar. 10 saniyelik bir video kaydı oluşturmak için raspivid aracını aşağıdaki gibi çalıştırabilirsiniz:

Okumaya devam et “CSI Kamera ile HD Görüntü Kaydetmek”

Hızlandırılmış video (timelapse) kaydetmek

Kamera modülünü kullanarak fotoğraf çekmek için kullanılan aracın adı raspistill’dir. Aracı aşağıdaki gibi çalıştırarak tüm seçeneklerini ve açıklamalarını listeletebilirsiniz:

Basitçe bir fotoğraf çekme denemesi yapmak için -o (output) seçeneğine bir dosya adı belirtebilirsiniz.

Okumaya devam et “Hızlandırılmış video (timelapse) kaydetmek”

CSI kamera Modülünün Sınanması

Kamera modülünü sınamak için eğer grafik masaüstü kuruluysa kısa bir video kaydedip ardından kaydı yürütmeyi deneyebilirsiniz. Kayıt için Raspberry Pi OS ile birlikte gelen raspivid aracını kullanacağız. Bu aracın detaylı kullanımı sonraki başlıklarda anlatılmıştır. Kaydı yürütmek için ise Raspberry Pi ile başarılı şekilde çalışan omxplayer’ı kullanacağız eğer yüklü değilse omxplayer uyglamasını aşağıdaki gibi yükleyebilirsiniz:

Okumaya devam et “CSI kamera Modülünün Sınanması”