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:

  • Kamera görüntüsünü canlı olarak ön izleyebilir kayıt başlatabilir ve durdurabilir.
  • Parlaklık, kontrast, ISO, beyaz dengesi, enstantane gibi seçenekleri kontrol edebilir.
  • Canlı ön izleme devam ederken Full HD videolar’ı mp4 biçiminde kaydedebilir.
  • Zamanlanmış veya sürekli olarak video kaydı yapabilir, bu kayıtları sabit uzunluklu ayrı dosyalara kaydedebilir.
  • Tek bir resim karesi veya hızlandırılmış (timelapse) videolar kaydedebilir.
  • Kaydedilen resim ve video’ları izleye bilir, silebilir veya topluca zip arşivi olarak indirebilirsiniz.
  • Harekete duyarlı video kayıtları (motion detection) yapılmasını sağlayabilirsiniz.
  • Raspberry Pi’ı tamamen kapatabilir veya yeniden başlatabilir.
  • Raspberry Pi compute modülü ile 2 adet kamerayı kontrol edebilir.
  • Kameranın görüş açısını değiştirmek için pan-tilt motorunu destekler.
  • Harici programların video kaydı tetiklemesini destekler.
  • Video ve resimler üzerine zaman bilgisi gibi etiketler yazılmasını destekler.
  • Sirküler tampon ile hareket duyarlı kayıtlarda hemen başlayarak resim karesi kaçırmaz.

Kurulumu başlatmak için öncelikle GitHub projesinin klonlayın ve ardından kurulum betiğini çalıştırın:

Kurulum script’i çalıştıktan sonra aşağıdaki gibi bir yapılandırma yükleme ve sihirbazı görüntüler. Bu ekranda sırasıyla web sunucu yayın dizini, RPCWI’in açılışta otomatik başlayıp başlamayacağı, web sunucu olarak hangi yazılımın kurulacağı, RPCWI’in hangi port’tan hizmet vereceği, arabirime ulaşmak için kullanılacak kullanıcı adı ve parola ile jpglinkin seçimi yapılır. Jpglink seçeneği harici programların kameradaki görüntüye jpg biçiminde erişmesi için bir link sağlar.


RPCWI kurulum ve yapılandırma arabiriminin ekran görüntüsü

Yukarıdaki arabirimden gerekli seçimler yapıldıktan sonra Ok düğmesine tıklatılarak kurulum başlatılır. Kurulum tamamlandıktan sonra kamera sistemini başlatmak isteyip istemediğiniz sorulacaktır. Bu soruya Yes cevabını vererek devam edin. Bu adımdan sonra kameranın web arayüzüne ulaşabilirsiniz. Tarayıcınıza Raspberry Pi’ın IP adresini kullanarak şunun gibi bir adres ile ulaşabilirsiniz: http://192.168.1.170/html/index.php


RPCWI canlı izleme ve kontrol arayüzü (yazar atölyesinde bu satırları yazarken)

install.sh ve Diğer Kurulum Betikleri Hakkında

GitHub deposundan klonladığımız dizinde install.sh betiğinin yanında 5 betik daha bulunur. Bu betiklerin görevleri şöyledir: update.sh,RPCWI’in yeni sürümü çıkmışsa kurulum aracısını tekrar çalıştırarak günceller. start.sh, Kamera sistemini çalıştırır. Eğer çalışır durumdaysa yeniden başlatır. stop.sh,  kamera sistemini durdurur. remove.sh, RPCWI yazılımını sistemden kaldırır. cam.sh, RPCWI sistemini yapılandırmak üzere bir menü görüntüler. Menü aracılığı ile genel olarak, video kayıt dizini, web yayın port’u ve RPCWI arayüzüne erişim için kullanıcı tanımı gerçekleştirilebilir.

Arayüzde oldukça fazla ayarlanabilir seçenek bulunur. Bu nedenle tüm seçeneklerden burada bahsetmek yerine özellikle dikkatinize sunmak istediklerimden bahsedeceğim.

Bir resim karesini jpg biçiminde yakalamak isterseniz şu URL adresini kullanabilirsiniz:

Bu adresi bir HTML sayfasının img etiketine src argümanı olarak verebilirsiniz veya canlı kamera görüntüsünden bir kare yakalamak veya kaydetmek için de kullanabilirsiniz.

Benzer şekilde canlı video görüntüsünü basit bir web arabirimi üzerinden görüntülemek isterseniz şu adresi kullanabilirsiniz. Bu minimalize edilmiş web arayüzünün URL adresidir:

Kamera modülü merkezi kamera takip ve kayıt yazılımları ile kullanılabilir. RPCWI bunun için bir MJPEG akışı adresine sahiptir. Aşağıdaki MJPEG URL adresi kullanılarak kameradan görüntü alınabilir. Bu konu sonraki başlıkta detaylıca anlatılmıştır.

Camera Settings (kamera ayarları) altındaki;

  • Load Presets ile hazır çözünürlükler arasından seçim yapmak pratiktir.
  • Annotation ayarı kamera görüntüsü üzerine basılacak metni ve boyutunu yapılandırır, bu ayar normalde zaman bilgisini verir istediğiniz gibi değiştirebilirsiniz.
  • Video Split ile diske kaydedilecek dosyaların süre olarak uzunluğu ayarlanır. 0 olması durumunda kayıt tek bir dosya olarak kaydedilir. 86400 saniye tanımlarsanız 24 saatlik süreler için ayrı dosyalara kaydedilir.
  • Video Bitrate, görüntü karesini oluşturan piksellerin ne miktarda veriden oluşturulacağını ayarlar, bu ayar kayıt dosyasının boyutu üzerinde belirleyicidir.
  • Image Quality ile kameranın JPG kalitesini ayarlayabilirsiniz. 0 ile 100 arasında ayarlanabilen bu değerin varsayılan değeri 10 dur ve çoğu uygulama için yeterlidir. Değer arttırıldığında kameranın görüntü kalitesinin artışına bağlı olarak ağ trafiği de artacaktır.
  • motion Detect Mode ile harekete duyarlı video kayıtları yapılandırılır. Kamera modülü güvenlik amaçlı kullanılacaksa sürekli olarak kayıt alması gerekli değildir. Sadece görüntüde bir hareket tespit edildiğinde kayıt başlatılması disk dosyasının boyutunun küçük kalmasını sağlar. Hareket duyarlılığı External olarak ayarlandığında; örneğin Raspberry Pi’ın GPIO pin’lerine bağlanacak bir sensör ya da buton ile tetiklenebileceği gibi bir başka programla da tetiklenebilir bu konudaki detaylı anlatımlar RPCWI’in web sayfasından incelenebilir. Monitor seçildiğinde RPCWI ana sayfasında Motion Settings etiketli bir ayar paneli belirir. Bu panelden hareketin duyarlılığı ve bir resim maskesi kullanarak görüntünün belli bir yerindeki hareketin algılanması sağlanabilir.

System ayar kategorisi altındaki;

  • Reset settings ile RPCWI’nin tüm ayarları varsayılan ayarlarına geri yüklenebilir.
  • Makrolar ile farklı görevler RPCWI işlevlerine entegre edilebilir. Örneğin kameradan video yakalama işlevi başlarken harici bir program çalıştırmak istiyorsanız ilgili komutu /var/ww/html/macros/ start_img.sh kabuk betiği dosyasına yazabilirsiniz. Benzer şekilde donanımsal bir hata oluştuğunda yapılacak işlemleri (örn., mail gönderme)  aynı dizindeki errror_hard.sh betiğine yazabilirsiniz.

[1] RPi Cam Control – http://tiny.cc/rpi_cam_web

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.