Raspberry Pi ile Webcam Server Yapımı ve Arduino ile İnternet Üzerinden Servo Motor Kontrolü

Cheat Console

Katılımcı Üye
1 Tem 2018
983
1
mesaj yazmyn
bu projede internet üzerinden Raspberry Pi aracılığı ile ücretsiz şekilde Webcam’den görüntü alacak ve ethernet modülü ile internete bağlı olan Arduino ile servo motor kontrolü yaparak kameramızı döndüreceğiz.

maxresdefault.jpg

Projenin Amacı:

Ücretsiz bir şekilde evimize/işyerimize hareket kabiliyeti ve görüntü aktarımı olan bir güvenlik sistemi yapmak.Bunu da minimum maliyet ile yapmak.

Projenin Çalışma Sistemi:

Raspberry Pi üzerinde server oluşturup Webcam görüntüsünü oraya aktararak elimizdeki usb Webcam görüntüsünü erişilebilir hale getireceğiz.Ancak buna yalnızca yerel ağ üzerinden değil, internet üzerinden de bağlanmak için önce modeme bağlanıp sonra Rasppbery Pi’ın IP’sine bağlanarak anlık görüntüye ulaşacağız.Bunun içinde dynamic dns sistemini kullanacağız.Kullandığımız modem TP LINK TD-W9970.Modemimiz Dinamik DNS servisi içinde www.noip.com ile erişim sağlayabildiği için no-ip.com sitesini modemimize her zaman erişebilmek için aracı olarak kullanacağız.Modemimize sahip olduğumuz IP üzerinden de ulaşabiliriz ancak anlık bir internet kopması veya herhangi bir sebeple modemimizin yeniden başlaması durumunda IP adresimiz değişecek ve eski IP adresi işe yaramaz hale gelecektir.Bu noktada no-ip.com un 30 günlük ücretsiz dynamic dns servisini kullacağız.

Malzemeler :

Arduino Uno, Rasperry Pi (Model 2 veya üstü), En az 8 GB Sd kart, Raspberry Pi adaptörü (5 V 1 Amper), Arduino Ethernet Shield (biz HR91105A modelini kullandık), jumper kablolar, ethernet kablosu, Usb Webcam.

Birinci Aşama: Raspberry Pi Kurulumu:



Raspberry Pi Sd kart üzerinden çalışan bir mini anakarttır.Linux tabanlı kendi ürettikleri işletim sistemi olan “Rasbian” ‘ı kullandık biz.

Kullanacağız sürümün adı RASBIAN STRETCH WITH DESKTOP,

buradan indireblirsiniz

https://www.raspberrypi.org/downloads/raspbian/




İndirdiğimiz .img uzantılı Rasbian işletim sistemi dosyasını Sd kartımıza yüklemek için Sd kartımızı bilgisayarımıza bağladıktan sonra Rufus isimli bir program kullanıyoruz.


Rufus indirme linki


https://www.gezginler.net/indir/rufus.html


Virüs total :https://www.virustotal.com/tr/url/f...e166dd5a3adec0132a300495b06ba2d67ed/analysis/

Daha sonra gerekli besleme bağlantısı yapıldıktan sonra SD kartımızı yuvasına yerleştirip, ethernet kablosu ile modem bağlantısı yaptıktan sonra Raspberry Pİ ı çalıştırıyoruz.

Bu noktadan sonra yapacağımız Raspberry Pi yazılım yüklemeleri için varsa monitör, klavye, mouse kullanarak da yapabilirsiniz ancak biz uzak bağlantı ile bağlandık.

Modem üzerinden Raspberry’e bağlanmak için Putty isimli program kullanıyoruz

Putty burdan indirebilirsiniz

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

PUTTY programını kurduktan sonra açılan ekranda bir adres girmemiz isteniyor.Buraya Rasspbery’nin bağlı olduğu Ip adresini gireceğiz.Bunun için modem arayüzümüze bağlanıyoruz.Adres çubuğuna 192.168.1.1 yazdıp bağlandıktan sonra DHCP SUNUCU > İSTEMCİ LİSTESİ’nden Raspberry Pi’ımızın bağlı olduğu adresi görüyoruz:

QbMXYA.png



Burada gördüğümüz gibi Raspberry için Ip adresimiz 192.168.1.100, bu adrese bağlanmak için Putty nin adres satırına 192.168.1.100 yazıp OPEN’a basıyoruz ve çıkan uyarıya evet diyoruz.



xqw2Nv.png


GGm7wX.png



Ardından çıkan komut ekranında id için “pi”, şifre için ise “raspberry” yazarak sisteme giriş sağlıyoruz.

Daha sonra sırasıyla güncellemeleri indirip, kurup, gerekli yazılımları kurup ayarlamaları yaptıktan sonra Raspberry Pi Webcam Server olarak çalışmaya başlayacaktır.



İkinci Aşama: Raspberry Pi Webcam Server olarak kullanma

Sırasıyla girilecek kodlar :

Kod:
[COLOR="Lime"]sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libmariadbclient18 libpq5 libavcodec57  libavformat57 libavutil55 libswscale4
sudo wget [url]https://github.com/Motion-Project/motion/releases/download/release-4.0.1/pi_stretch_motion_4.0.1-1_armhf.deb[/url]
sudo dpkg -i pi_stretch_motion_4.0.1-1_armhf.deb[/COLOR]




Optimizasyon Ayarları (İsteğe Bağlı)

sudo nano /etc/motion/motion.conf

Ardından bilgileri aşağıdaki gibi düzeltin ve ctrl + x yapıp ardından “y” tuşuna basıp enter yapın.

■ daemon on

■ stream_localhost off

■ Note: Change the following two lines from on to off if you’re having issues with the stream freezing whenever motion occurs.

■ output_pictures off

■ ffmpeg_output_movies off

■ Optional (Don’t include the text in brackets)

■ stream_maxrate 100 (This will allow for real-time streaming but requires more bandwidth & resources)

■ framerate 100 (This will allow for 100 frames to be captured per second allowing for smoother video)




■ width 640 (This changes the width of the image displayed)

■ height 480 (This changes the height of the image displayed)

Kod:
sudo nano /etc/default/motion   [/COLOR]
[COLOR="DarkSlateBlue"]
dosyasına gidin ve satırı aşağıdaki gibi değiştirip ctrl + x ardından y ve enter yapın.

start_motion_daemon=yes Ardından servisi çalıştırın:
sudo service motion start Bir sorun varsa aşağıdaki kod ile resetleyin:
sudo service motion restart

Artık Raspberry Pi Webcam Server olarak çalışıyor, adres çubuğuna raspberryIPadresiniz:8081 yazıp girdiğinizde USB Webcamden gelen anlık canlı görüntüyü video halinde görüyor olmanız gerekiyor.

Üçüncü Aşama: Modeme İnternet Üzerinden Erişim

Bunun için noip.com a bağlanmamız gerekiyor ancak erişim yalnızca vpn üzerinden sağlanabiliyor, siteye bağlandıktan sonra üyelik hesabı oluşturup ücretsiz bir .ddns.net uzantılı hostname alıyoruz.


JailF9.png



Artık hesabımıza tanımlı 30 gün ücretsiz süreli olan bir sunucu adımız var.Bu sunucuyu modemimize tanıtmak için modem arayüzünde Dinamik Dns bölümüne tıklıyoruz ve gerekli boşluklara üyelik bilgilerimizi ve sunucu adımızı yazıyor ve kaydet’e basıyoruz.
oATniL.png



Artık modemimiz noip.com hesabımıza tanımlı, artık belirlediğimiz hostanme 30 gün süresince IP adresi değişse dahi modemimize bağlantımızı sağlayacak ve bu sayede Raspberry Pi ve Arduino ‘a bağlantımızı sağlayacak.

Dördüncü Aşama: Arduino ve Arduino Ethernet Shield Kurulumu


Arduino Uno için kullandığımız ethernet shield için ekstra kütüphane indirip kurmamız ve bağlantılarını doğru bir şekilde yapmamız gerekiyor. kütüphane linkini aşağıda vericem bu size lazım olucak :https://github.com/njh/EtherCard

7JxTQl.png



Ayrıca Servo Motor bağlantısı da şekildeki gibi olmalıdır: (servonun sinyal kablosu 9 numaralı dijital pine bağlı olmalıdır)

DZcwKD.png




Bağlantılarımız bittikten sonra, Arduino için gerekli kaynak kodumuzu yüklüyoruz:

Kaynak kod linki :https://yadi.sk/d/yJZ-3fXU3QPG3k


Sadece 1 virüs gibi bir şey bulmuştur kesinlikle virüs deildir zararsız bir koddur bunu virüs totaller virüs olarak görüyor virüs deil yani aşağıda paylaştım virüs total linkini

Virustotal:https://www.virustotal.com/tr/url/e...99972c342adeca5e06addf48/analysis/1532871358/


Kodumuzu derleyip Arduino’ya yükledikten ve bağlantıları doğru şekilde yaptıktan sonra webcam’in tabanını servo motorun aparatının üzerine herhangi bir şekilde monte ediyoruz ve son aşamaya geçiyoruz.



Beşinci Aşama:Raspberry Pi ve Arduino için Port Açma


Bu aşamada modem arayüzünden Raspberry Pi ve Arduino uzak bağlantısı için modemimizin iki portunu açmamız gerekiyor.Bunun için İletim > Sanal Sunucu > Yeni Ekle tıklayarak resimlerde görüldüğü gibi boşlukları doldurup kaydete tıklıyoruz.


B3dB2s.png


H4n3w8.png



İşimiz bittiği zaman görüntü aşağıdaki gibi olmalıdır


7erqGM.png



PROJE BİTİMİ VE ÇALIŞMA VİDEOSU

Projemizin hazırlanması artık bitti, adresi çubuğuna internet olan heryerden sunucuadınız.ddns.net:8081 yazdığınız zaman Raspberry Pi’a ve sunucuadınız.ddns.net:80 yazdığınız zaman ise Arduino’ya bağlanabilirsiniz.


alıntıdır :Raspberry Pi ile Webcam Server Yapımı ve Arduino ile İnternet Üzerinden Servo Motor Kontrolü - Proje Sayfam

https://youtu.be/8HXzjocjyxQ
 
Moderatör tarafında düzenlendi:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.