Raspberry Pi’de Kamera ve Mail Uygulamaları

Merhaba arkadaşlar, gerek bitirme tezi telaşı (Bkz: Bitirme Tezi Yazı Dizisi #1), gerekse son dönem dersleri derken uzun bir süredir yazı yazamıyordum. Fakat yazamadığım dönemde de çalıştığım ve araştırdığım konularda bir çok taslak yazı biriktirdim. Bir aksilik çıkmaz ise ilerleyen zamanlarda bu yazıları da tamamlayarak yayınlayacağım. Dilerseniz lafı fazla uzatmadan okumaya başladığınız bu yazı hakkında ufak bir açıklama yaparak işe koyulalım 🙂

rPi’nin üzerinde kendi orijinal kamerası için bir adet soket bulunmaktadır. Türkiye’de yaklaşık olarak 100-120 TL arasında değişen fiyatlar ile satın alabileceğiniz bu kamera ile fotoğraf çekebilir, video kaydedebilirsiniz. Bu yapılar ile yapabileceğiniz işlemlerin veya projelerin neredeyse sonu yok. Kameramızın özellikleri aşağıdaki gibidir.

  • Çözünürlük: 5 MP (2592×1944 piksel)
  • Video: 1080p, 720p ve 480p (1080p’de 30, 720p’de 60 ve 480p’de 60-90 FPS ile kayıt yapılmaktadır.)
  • Boyutlar: 25 x 20 x9 mm

Bu ürün genellikle “Raspberry Pi 5MP Camera Module” olarak geçiyor ve yazıyı yazdığım sırada kamera modülünün yeni versiyonunun çıktığını öğrendim. Yeni ürün 8 MP olarak geçiyor.(Bkz: Raspberry Pi Camera V2Ayrıca 5MP’lik kamera modülünün sensör vb. detaylı bilgilerine ulaşmak için datasheet’i inceleyebilirsiniz. Türkiye’de normal kamera modülünün yanında yine rPi’nin desteklediği kızılötesi kamera, ayarlanabilir fokus ve balık gözü lens gibi çeşitli ürünlerde bulunmaktadır. Son olarak kamera modülü için güzelde bir muhafaza kutusu mevcut. Bu kutu ile kamerayı korumanın yanında sabitleme gibi sorunlardan kurtuluyorsunuz. (Bkz: rPi Kamera Muhafaza Kutusu)

Öncelikle kamera modülünün kablosunu aşağıdaki resimde görüldüğü şekilde sokete yerleştiriyoruz. Mavi kısmın ethernet ve usb portlarına bakacak şekilde yerleştirdiğinizden emin olun. Bu işlem için ilgili soketi hafifçe yukarı kaldırmanız ve sonrasında geriye çekmeniz gerekiyor. Zaten soketi yukarı çektiğinizde geriye geldiğini göreceksiniz. 

k11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Config ekranına giriyoruz ve buradan camera modülünü “Enable” yaparak aktif hale getiriyoruz.

 sudo raspi-config 

Artık kamera modülümüz için paket yüklemelerine ve çalışmalara geçebiliriz. Bu yazıya neden olan etmenlerin başında, rPi’yi usb-ttl dönüştürücü ile direkt olarak terminal üzerinden kullanmam geliyor. Bu yüzden çektiğim resim veya videoları bir şekilde görüntüleyebilmem gerekiyordu. Bunun için iki yol aklıma geldi. Bunlardan birincisi çektiğim resim veya videoları mail ile göndermekti. Böylece istediğim an dosyalara erişebilecektim. İkinci yol ise direkt olarak rPi’ye usb bellek takarak resim ve videoları direkt olarak usb belleğe kopyalama fikriydi. Bu yazımda temel resim ve video çekme komutlarından örnekler vereceğim fakat dosya aktarım yönteminde mail yolunu anlatacağım. Bu yüzden de dosya boyutlarının küçük olması nedeniyle resim gönderme işlemlerine örnekler vereceğim.

Öncelikle her zamanki gibi update ve upgrade komutlarımızı çalıştırarak işe başlıyoruz.

 sudo apt-get install update 
 sudo apt-get install upgrade 

Güncelleme işlemlerinden sonra resim ve video çekmek için gerekli olan paketleri yüklüyoruz.

 sudo apt-get install raspistill #resim çekmek için gerekli paket 
 sudo apt-get install raspivid #video çekmek için gerekli paket 

Bu işlemlerden sonra artık resim ve video çekmeye başlayabiliriz. Bu kısımda temel bir kaç örnek verdikten sonra rPi’nin resimi sayfasında detaylı olarak konunun linkini vereceğim. Çünkü rPi’nin sayfasında videoların çözünürlüklerinden, fps ayarlarına kadar resim ve video için bir çok detaylı özellik ve ayarlar anlatılmış.

 raspistill -t 2000 -o r1.jpg #burada -t 2000 ile 2 sn süreyle fotoğraf çekilmesi sağlanmış. Varsayılan yaklaşık 5 saniye 
 raspistill -t 2000 -o r2.jpg -w 640 -h 480 #640x480 çözünürlükte 2 sn'lik bir fotoğraf çekiliyor.
 raspivid -t 5000 -o v1.h264 #5 sn ve 1080p çözünürlükte video
 raspivid -t 5000 -o v2.h264 #5 sn, 1080p ve 5 fps'lik video

Daha detaylı örnek ve anlatımlar için rPi Camera Module, Python uygulamaları için de Python PiCamera sayfasını ziyaret edebilirsiniz.

Artık mail için gerekli paket yüklemelerine geçebiliriz. Öncelikle kuracağımız sistemde sadece Gmail üzerinden gönderim yapacağımız için Gmail ayarlarından bir kaç düzenleme yapmamız gerek. Google hesabımızda Ayarlar – Oturum Açma ve Güvenlik – Bağlı Uygulamalar ve Siteler sekmesine geliyoruz ve sağ alt tarafta bulunan “Daha az güvenli uygulamalara izin ver” kısmını “On” yapıyoruz. Artık mail için rPi’de paket yüklemelerine geçebiliriz. Öncelikle tekrardan güncelleme sorgularını çalıştıralım.

 sudo apt-get install update 
 sudo apt-get install upgrade 

Daha sonrasında mail göndermek için gerekli paketleri yükleyelim.

 sudo apt-get install ssmtp
 sudo apt-get install mpack  #düz metin yerine ekli mail göndermek için kullanılan paket

Orjinal config dosyasını yedekleyerek sonrasında config dosyasının içine giriyoruz.

 sudo mv /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.bak 
 sudo nano /etc/ssmtp/ssmtp.conf 

Karşımıza gelen editör ekranında şunları yazıyoruz ve kaydedip çıkıyoruz.

root=DENEME@gmail.com #mail adresiniz
mailhub=smtp.gmail.com:587

FromLineOverride=YES
AuthUser=DENEME@gmail.com  #mail adresiniz
AuthPass=DENEME12  #mail şifreniz
UseSTARTTLS=YES
UseTLS=YES

# Debug=Yes   

Daha sonra config dosyalarımız için güvenlik sorgularını çalıştırıyoruz. Bu komutları sırasıyla çalıştırınız. Herhangi bir çıktı görmeyeceksiniz.

sudo groupadd ssmtp
sudo chown :ssmtp /etc/ssmtp/ssmtp.conf
sudo chown :ssmtp /usr/sbin/ssmtp
sudo chmod 640 /etc/ssmtp/ssmtp.conf
sudo chmod g+s /usr/sbin/ssmtp

Artık uygulamalarımıza geçebiliriz. Öncelikle düz metinler üzerinde örnekler yapalım.

1.

printf "To: uyanikeren@hotmail.com\nFrom: Eren UYANIK\nSubject: Deneme1\n\nDeneme Mail 1\n" | ssmtp -t

deneme1

 

 

 

 

 

 

2.

echo "Deneme2" | ssmtp  uyanikeren@hotmail.com #en basit gönderim, konu başlığı yok

 

deneme2

 

 

 

 

 

 

3.

ssmtp uyanikeren@hotmail.com
Subject: Deneme3
merhaba dünya!

deneme3

 

 

 

 

 

 

 

4.

mpack -s Subject:Deneme 3.jpg uyanikeren@hotmail.com

deneme4

 

 

 

 

 

 

 

 

 

 

Çekilen resim,
3

 

 

 

 

 

 

 

 

 

 

 

Böylece hem rPi’nin kamerasını kullanmış olduk hemde aynı zamanda rPi’den mail atma yöntemlerinin gördük. İlerleyen zamanlarda Python ile yazılmış kodlar ile benzer konuyu inceleyeceğim.

Bir sonraki yazımda görüşmek dileğiyle hoşçakalın.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir