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”Kategori: Raspberry Pi
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ı Paylaşmak
RPCWI kurulumunu önceki başlıkta anlatıldığı gibi gerçekleştirdikten sonra, birden fazla Raspberry Pi kamerasını tek bir noktadan nasıl izleyeceğimize, kayıt edebileceğimize ve mobil cihazlarımızdan nasıl takip edebileceğimize bakalım.
Okumaya devam et “RPCWI ile CSI Kamerayı Paylaşmak”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:
1 2 3 |
pi@raspberry:~ $ sudo apt update pi@raspberry:~ $ sudo apt install vlc -y |
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:
1 2 3 4 5 |
pi@raspberry:~ $ raspivid -o kamera1.h264 -t 10000 pi@raspberry:~ $ ls -la kamera1.h264 -rw-r--r-- 1 pi pi 18300268 Nov 20 11:15 kamera1.h264 |
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:
1 |
pi@raspberry:~ $ raspistill |
Basitçe bir fotoğraf çekme denemesi yapmak için -o (output) seçeneğine bir dosya adı belirtebilirsiniz.
1 2 3 4 5 |
pi@raspberry:~ $ raspistill -o foto1.jpg pi@raspberry:~ $ ls -la foto1.jpg -rw-r--r-- 1 pi pi 2484150 Nov 6 13:13 foto1.jpg |
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ı”CSI Kamera Modülünün Bağlanması ve Etkinleştirilmesi
Önceki başlıkta tarif edildiği üzere kamera modülünü flex kablosu aracılığı ile HDMI port’unun yanında bulunan CSI slotuna bağlayın. Raspberry Pi’a daha önce kamera modülü takmamışsanız CSI slotu üzerindeki koruma bandını çıkartın. Bu bant slotun içerisine toz veya yabancı cisim girmesini önleyen ince plastik bir banttır. Bu ince bandı tırnağınızla kolayca çıkartabilirsiniz. Daha sonra, CSI slotunun flex kabloyu sıkıştıran kilit mekanizmasını açın. Kilit mekanizması slot ile aynı genişlikte ve her iki ucunda minik birer tutamacı olan bir plastik parçadır. Aşağıdaki şekilde 1 numara ile gösterilen bu parçaya her iki ucundan da tutarak hafifçe yukarı doğru çekin. Böylece flex kablonun girebileceği bir genişlik oluşacaktır. Şekilde 2 numara ile gösterilen flex kablonun iletken terminallerinin bulunduğu tarafını CSI konnektörünün içindeki bağlantı pin’lerine temas edecek yönde yerleştirin (bu yön çoğu Raspberry Pi’da HDMI konnektörüne doğrudur). Daha sonra 1 numara ile gösterilen tutamaçları aşağı bastırarak flex kablonun konnektör içine oturmasını sağlayın. Flex kablonun iletkenleri slot içinde kalacaktır.
Okumaya devam et “CSI Kamera Modülünün Bağlanması ve Etkinleştirilmesi”