Raspberry Pi – Video Kamera Takip Ünitesi

Raspberry Pi Ayarları

Raspberrypi + Güçlü bir adaptör + SanDisk Extrem Pro hafıza kartı

Raspbian Stretch Lite bilgisayarımıza (2019 versiyonu sistemde sorunsuz çalışıyor) indiriyoruz. Etcher vasıtası ile SD kartımıza işletim sistemini yüklüyoruz.

ssh iletişimin otomatik olarak aktif etmek için, ssh adında veya ssh.txt adı altında bir dosya yaratıyoruz. Bunu da boot partition altına yerlestiriyoruz. Böylece yükler yüklemez SSH aktif olarak açılacak. Eğer pi’yi bir monitöre bağlayarak tüm ayarları yapacak iseniz buna gerek olmayacaktır. Yine de uzaktan erişim için ssh açmak mantıklı harekettir.

Konfigurasyon

Performansı artırmak için bazı ayarları yapmamız gerekecek. sudo raspi-config  sayesinde işletim sistemine müdahelede bulunabileceğiz.

Raspberry Pi Config

Şu değişiklikleri yapınız:

  • Boot Options -> Wait for Network at Boot (Böylece pi, network bağlantıları yapılmadan boot etmeyecektir. Tüm işimiz network olduğu için mantıklı hareket)
  • Localisation Options -> Change Timezone -> (Choose your timezone)
  • Interfacing Options -> SSH -> Yes
  • Advanced Options -> Expand File System (Böylece tüm SD card kullanılacaktır)
  • Advanced Options -> Memory Split -> 256 (Grafik kart daha rahat çalışabilecektir)

Bu ekranda, sistemin açılış çözünürlüğü de ayarlanabiliyor. 1920×1080 tavsiye edilir.

Güncellemeleri alalım ve restart edelim.

1sudo apt-get update && sudo apt-get upgrade -y && sudo reboot
Güncelleme komutu

Getting RTSP Streams

Kameralar üzerinde RTSP portunun açık olduğundan emin olmalıyız.

Turn on RTSP

VLC media player ile kameraları test edebilirsiniz.

VLC Camera Stream

displaycameras yüklenmesi

displaycameras linkinden 2018 de hazırlanmış olan programı indirmek gerekecek. Bu program sayesinde raspberry pi, kamera görüntüleme programı olarak çalışacaktır.

1
2
3
wget https://github.com/Anonymousdog/displaycameras/archive/0.8.3.3.zip
unzip 0.8.3.3.zip
cd displaycameras-0.8.3.3
Gerekli İndirme Komutları

Şimdi indirdiğimiz programı yükleyelim.

1
2
chmod +x install.sh
sudo ./install.sh
Yükleme Komutları

Konfigürasyon

Bu yazılımda 4 lü birden fazla ekran, sırayla gösterilir. Her dört kamera ekrana getirilir, ve sonraki 4lü kamera gösterilir.

example_layouts klasöründe bir çok örnek konfigürasyon dosyası bulacaksınız.

Birlikte 8 kameralı bir tasarım yapalım. 2×2 grid (yani 4 kamera tek ekranda) yer alan bir yerleşim yapalım. Bu ekran sırayla 8 kamerayı iki seferde göstersin.

Windows
Her bir kameranın yerleşim koordinatları (Ekranı 960×540 olarak bölmüş. Siz 1920×1080 olarak setleyebilirsiniz.)

Her beş saniyede bir 4lü ekran yer değiştirecek. 8 kamera sırayla gösterilecek.

isterseniz 3×3 kamera tasarımı ile bir kare boş kalmak şartıyla tek ekranda herşeyi görebilirsiniz. Bu durumda ROTATION = false ile döngü kapatılmalıdır.

Konfigurasyon Dosyaları

Öncelikle /etc/displaycameras/layout.conf.default dosyasına ulaşmalıyız. Bunun için filezilla ile raspberry bağlanabilirsiniz. Veya WinSCP ile bağlantı kurabilirsiniz.

Bu dosyada 5 adet değişken üzerinde değişiklik yapabilirsiniz.
windows
window_positions
camera_names
camera_feeds,
rotate.

Windows

Öncelikle windows ve window_positions seçenekleri üzerinde odaklanalım. Bu ayarlar ekranı ve kameraların yer alacağı pozisyonları belirleyecektir. Kullandığımız ekran 1920 x 1080 olduğu için X ekseni 1920 de son bulacaktır.

window_positions değeri "start_x, start_y, end_x, end_y" ile tanımlanmaktadır. 0, 0 noktası, ekranın sol üst köşesini tanımlar. Bu tasarımda 9 adet 960 x 540 pixel de ekrana yer verilmiştir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 2×2 dzilimli 4’u siyah toplam 8 ekran
windows=(upper_left upper_right lower_left lower_right off_screen1 off_screen2 off_screen3 off_screen4)

window_positions=(
#birinci sutun
#ust_sol
# 960×540
“0 0 959 539” \
#ust_sag
# 960×540
“960 0 1920 539” \

#ikinci sutun
#alt sol kose (0 540 – 959 1079 capraz noktalari arasi)
# 960×540
“0 540 959 1079” \
#alt sag kose
# 960×540
“960 540  1919 1079” \
#siyah ekranlar
“1920 0 2879 539” \
“1920 540 2879 1079” \
“2880 0 3839 539” \
“2880 540 3839 1079” \
)
Dosya içeriği

Kameralar

Şimdi camera_names ve camera_feeds değişkenlerini düzenleyebiliriz. Ayarlamış olduğunuz pencere çözünürlüklerine uygun kamera RTSP akışı ayarlamanız Pi cihazınızı zorlamayacaktır.

1
2
3
4
5
6
7
8
9
10
11
12
camera_names=(NE SE South North Garage Yard Entrance Gate)

camera_feeds=( \
“rtsp://192.168.1.2:7447/i6m4f1act8nwtp4bg0veqw4u_1” \
“rtsp://192.168.1.2:7447/ifkjakg27dboh5ho6ull349u_1” \
“rtsp://192.168.1.2:7447/n7jt8fimlqvm6o0a0nwjdal6_1” \
“rtsp://192.168.1.2:7447/9lqpgwvrusvk8u0br7n3t2ki_1” \
“rtsp://192.168.1.2:7447/og7buri27g06llbbspnaoipu_1” \
“rtsp://192.168.1.2:7447/rrc41id4g6udpafa0c0i8pif_1” \
“rtsp://192.168.1.2:7447/tvd6hfjc8i1ko9pvnic71h5a_1” \
“rtsp://192.168.1.2:7447/u26u8k0w47pm054586lwpv0q_1” \
)
Kamera RTSP adresleri

rotate değişkeni ile ekran döndürme aktif veya pasif ediyoruz.

1rotate=”true”
Döndürme İşlemi

Şimdi de  /etc/displaycameras/displaycameras.conf dosyasına ulaşıyoruz. Kameraların çözünürlüğü ile alakalı burada bir kaç değişiklik göreceksiniz. Normalde pek birşey yapmaya gerek yok.

sudo systemctl restart displaycameras.service komutu ile programı yeniden başlatıyoruz. Kameralar teker teker ekrana gelecektir.

windows=(screen1 screen2)

window_positions=(
#screen1
“0 100 959 980” \
#screen2
“960 100 1920 980″\
)

#Kamera Isimleri
camera_names=(NE SE)

#Kameralar
camera_feeds=( \
“rtsp://192.168.1.100/media/video1” \
“rtsp://192.168.1.101/media/video1” \
)

rotate=”false”
İki Kamera – Yanyana tasarım için örnek dosya
Youtube anlatım

Bir yanıt yazın