41
T.C. B ˙ ILEC ˙ IK ¸ SEYH EDEBAL ˙ I ÜN ˙ IVERS ˙ ITES ˙ I MÜHEND ˙ ISL ˙ IK FAKÜLTES ˙ I B ˙ ILG ˙ ISAYAR MÜHEND ˙ ISL ˙ I ˘ G ˙ I RASPBERRY P ˙ I ˙ ILE ANDRO ˙ ID TABANLI AKILLI EV OTOMASYONU ÖMER ABA PROJE 1 ÇALI ¸ SMASI F ˙ INAL RAPORU PROJE DANI¸ SMANI : Ö ˘ gr.Gör. Murat ÖZALP 1 Haziran 2015 B ˙ ILEC ˙ IK

2015 - Ömer Aba - Raspberry PI ile Akıllı Ev Otomasyonu

Embed Size (px)

DESCRIPTION

Sıcaklık, nem, PIR, mesafe sensörü gibi cihazlardan gelen veriler ve servo motorun sürülmesi şeklinde IP üzerinden yürütülen işlerin yapıldığı projedir.

Citation preview

  • T.C.

    BILECIK SEYH EDEBALI NIVERSITESI

    MHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI

    RASPBERRY PI ILE ANDROID TABANLI AKILLI EV OTOMASYONU

    MER ABA

    PROJE 1 ALISMASI FINAL RAPORU

    PROJE DANISMANI : gr.Gr. Murat ZALP

    1 Haziran 2015

    BILECIK

  • T.C.

    BILECIK SEYH EDEBALI NIVERSITESI

    MHENDISLIK FAKLTESI

    BILGISAYAR MHENDISLIGI

    RASPBERRY PI ILE ANDROID TABANLI AKILLI EV OTOMASYONU

    MER ABA

    PROJE 1 ALISMASI FINAL RAPORU

    PROJE DANISMANI : gr.Gr. Murat ZALP

    1 Haziran 2015

    BILECIK

  • ZET

    Projenin Amac

    Akll ev otomasyonu iin Raspberry Pi ile sensrlerin Python programlama dilinde kodla-

    narak kullanlmasnn grenilmesi ve otomasyonun Android paltformda alsmas ama-

    lanmstr.

    Projenin Kapsam

    Iki blmden olusacak projenin ilk blmnde Raspberry Pi ve temel rnekler bulunmak-

    tadr,ikinci blmde ise Raspberry Pi ile beraber kullanlacak sensrlerin tanmlar,baglantlar

    ve Python kodlar yer almaktadr.

    Sonular

    Raspberry Pi,sensrler ve Raspberry Pi ile beraber sensrlerin Python programlama di-

    linde kodlanmas ve Android arayzn gelistirilmesi grenildi.

    ii

  • ABSTRACT

    Project Objective

    Smart home automation Raspberry Pi in the Python programming language and coded

    sensor understanding the use and automation are intended to work on Android platform.

    Scope of Project

    In the first part of the project will consist of two parts located Raspberry Pi and ba-

    sic examples,the second section definition Raspberry Pi together with the sensors to be

    used,connections,and Python code it is located.

    Results

    Raspberry Pi has learned sensors and Raspberry Pi with sensors coding in Python prog-

    ramming language and development of the Android interface.

    iii

  • TESEKKR

    Bu projenin basndan sonuna kadar hazrlanmasnda emegi bulunan ve beni bu konuya

    ynlendiren saygdeger hocam ve dansmanm Sayn gr.Gr. MURAT ZALPa tm

    katklarndan ve hi eksiltmedigi desteginden dolay tesekkr ederim.

    MER ABA

    1 Haziran 2015

    iv

  • Iindekiler

    ZET ii

    ABSTRACT iii

    TESEKKR iv

    SEKIL LISTESI vi

    TABLO LISTESI vii

    1 GIRIS 1

    2 1.BLM 3

    2.1 RASPBERRY PI KURULUM VE AYARLARININ YAPILMASI . . . . 3

    2.1.1 Raspberry Pi Nedir? . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.1.2 Raspberry Pi Isletim Sistemi Kurulumu . . . . . . . . . . . . . . 3

    2.1.3 Raspberry Piyi Ethernet Kablosu ile Bilgisayara Baglama . . . . 4

    2.2 PYTHON ILE LED UYGULAMASI . . . . . . . . . . . . . . . . . . . . 6

    2.3 WEBIOPi ILE INTERNET ZERINDEN LED KONTROL . . . . . . 8

    2.3.1 WEBIOPi Kurulumu . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.3.2 WEBOIPi ile LED Kontrol . . . . . . . . . . . . . . . . . . . . 10

    3 2.BLM 11

    3.1 HC-SR04(ULTRASONIK) SENSR UYGULAMASI . . . . . . . . . . 11

    3.1.1 Ultrasonik Sensr . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.1.2 Board zerinde Devre Kurulumu . . . . . . . . . . . . . . . . . . 12

    3.1.3 Python Programlama ile Kodlanmas . . . . . . . . . . . . . . . . 12

    3.2 HAREKET ALGILAMA(PIR) SENSR UYGULAMASI . . . . . . . . 13

    3.2.1 Hareket Alglama(PIR) Sensr . . . . . . . . . . . . . . . . . . 13

    3.2.2 Board zerinde Kurulumu . . . . . . . . . . . . . . . . . . . . . 13

    3.2.3 Python Programlama ile Kodlanmas . . . . . . . . . . . . . . . . 14

    3.3 DHT11(SICAKLIK/NEM)SENSR UYGULAMASI . . . . . . . . . . . 15

    v

  • 3.3.1 Scaklk/Nem(DHT11) Sensr . . . . . . . . . . . . . . . . . . 15

    3.3.2 Board zerinde Kurulumu . . . . . . . . . . . . . . . . . . . . . 15

    3.3.3 Python Programlama ile Kodlanmas . . . . . . . . . . . . . . . . 16

    3.4 HAREKET+LED+BUZZER UYGULAMASI . . . . . . . . . . . . . . . 17

    3.4.1 Buzzer Sensr . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    3.4.2 Board zerinde Kurulumu . . . . . . . . . . . . . . . . . . . . . 18

    3.4.3 Python Programlama ile Kodlanmas . . . . . . . . . . . . . . . . 18

    3.5 VNC VIEWER ILE RASPBERRY PI ALISMASI . . . . . . . . . . . . 19

    3.5.1 Vnc Viewer Kurulumu . . . . . . . . . . . . . . . . . . . . . . . 19

    3.6 SERVO MOTOR UYGULAMASI . . . . . . . . . . . . . . . . . . . . . 21

    3.6.1 Servo Motor Hakknda . . . . . . . . . . . . . . . . . . . . . . . 21

    3.6.2 Servo Motor Baglants . . . . . . . . . . . . . . . . . . . . . . . 22

    3.6.3 Python Programlama ile Kodlanmas . . . . . . . . . . . . . . . . 22

    3.7 USB KAMERA UYGULAMASI . . . . . . . . . . . . . . . . . . . . . . 23

    3.7.1 USB Kamera Kurulumu . . . . . . . . . . . . . . . . . . . . . . 23

    3.7.2 Kamerann Test Edilmesi . . . . . . . . . . . . . . . . . . . . . . 24

    3.8 ANDROID ARAYZ TASARIMI . . . . . . . . . . . . . . . . . . . . . 24

    3.8.1 Android Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    3.8.2 Android Arayz Kodlanmas . . . . . . . . . . . . . . . . . . . . 25

    3.8.3 Uygulamann Android Telefondaki Grntleri . . . . . . . . . . 26

    SONULAR 28

    KAYNAKLAR 29

    ZGEMIS 31

    vi

  • Sekil Listesi

    1 Proje Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    2 Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    3 Kurulum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    4 Baglant1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    5 Baglant2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    6 Baglant3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    7 Baglant4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    8 Baglant5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    9 LED Python Kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    10 LED Baglants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    11 WEBIOPi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    12 WEBIOPi ile LED Yakma . . . . . . . . . . . . . . . . . . . . . . . . . 10

    13 Ultrasonik Sensr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    14 Ultrasonik Sensr Devresi . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    15 Ultrasonik Sensr Kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    16 Hareket Alglama Sensr . . . . . . . . . . . . . . . . . . . . . . . . . 13

    17 Hareket Alglama Sensr Devresi . . . . . . . . . . . . . . . . . . . . . . 13

    18 Hareket Alglama Sensr Kodu . . . . . . . . . . . . . . . . . . . . . . . 14

    19 Hareket Alglama Sensr Testi . . . . . . . . . . . . . . . . . . . . . . . 14

    20 Scaklk/Nem Alglama Sensr . . . . . . . . . . . . . . . . . . . . . . 15

    21 Scaklk/Nem Alglama Sensr Devresi . . . . . . . . . . . . . . . . . . . 15

    22 Scaklk/Nem Alglama Sensr Kodu 1 . . . . . . . . . . . . . . . . . . . 16

    23 Scaklk/Nem Alglama Sensr Kodu 2 . . . . . . . . . . . . . . . . . . . 16

    24 Scaklk/Nem Alglama Sensr Testi . . . . . . . . . . . . . . . . . . . . 17

    25 Buzzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    26 PIR+Buzzer+LED Devresi . . . . . . . . . . . . . . . . . . . . . . . . . 18

    27 PIR+Buzzer+LED Kodu . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    28 Vnc Kurulum 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    29 Vnc Kurulum 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    vii

  • 30 Vnc Giris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    31 Raspberry Pi Arayz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    32 Servo Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    33 Servo Motor Baglants . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    34 Servo Motor Kodu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    35 USB Kamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    36 USB Kamera Grnts . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    37 Android Kod1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    38 Android Kod2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    39 Anasayfa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    40 Aydnlatma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    41 Gvenlik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    42 Hareket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    43 Kamera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    44 Scaklk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    45 Kap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    viii

  • Tablo Listesi

    1 alsma Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    ix

  • 1 GIRIS

    Sekil 1: Proje Diagram

    Sekil 1de gsterilen diagramdaki gibi "Akll Ev" duruma bagl olarak baz akll uygu-

    lamalar harekete geiren zel sistemlerle donatlms bir evi ya da bir yapy tanmlamak

    iin kullanlan terimdir .[4]

    Akll tasarlanan ve isletilen yaplar retimlilik, enerji tasarrufu ve ynetimsel kazanlar

    bakmndan da dramatik bir arts saglamaktadr. Btn akll ev sistemlerinin amac in-

    sanlarn hayatn kolaylastrmaktr.

    Gnmzde yasl nfus gen nfusa gre daha hzl arts gstermektedir.[7] Bu nedenle

    ev otomasyon sistemleri yasl ve engelli insanlar iin uygulanabilir bir seenek haline gel-

    mistir. Bu sistemler yasl ve engelli insanlarn gnlk hayatn kolaylastrabilir.[11]

    Akll evler engelli insanlar iin gvenli ve gl bir evreyi destekleme iin de kullanlr.

    Sistem, kullancya teknik detaylar bilmeden btn zeliklerini kullanma ve otomatize

    etme imkan saglar. Ayrca gvenligi saglamak ve tehlikeli bir durum oldugunda kulla-

    ncy uyarmak iin de evreyi gzlemleyebilir. Bu alsmada engelli insanlarn hayatn

    kolaylastracak bir sistem tasarlanmas hedeflenmistir.

    [3] Bu proje engellilere,yasllara ve hayatlarnda teknolojiyi kullanmak isteyenlerin hayat

    standartlarn daha iyi yapmay hedeflemektedir.

    Asagdaki Tablo 1de gsterildigi gibi haftalk alsma plan gereklestirilmistir.

    1

  • Tablo 1: alsma PlanPROJE ALISMA PLANI

    1.HAFTA PROJE KONUSU BELIRLENMESI2.HAFTA PROJE HAKKINDA BILGI TOPLANMASI VE LITERATR TARAMASI3.HAFTA TBITAK BASVURUSU4.HAFTA RASPBERRY PI KURULUMU VE AYARLARININ YAPILMASI5.HAFTA PYTHON PROGRAMLAMA DILI ILE ALISMALARIN YAPILMASI6.HAFTA LED UYGULAMASININ GEREKLESTIRILMESI7.HAFTA ULTRASONIC SENSR UYGULAMASININ GEREKLESTIRILMESI8.HAFTA HAREKET SENSR UYGULAMASININ GEREKLESTIRILMESI9.HAFTA SICAKLIK SENSR UYGULAMASININ GEREKLESTIRILMESI10.HAFTA HAREKET+LED+BUZZER UYGULAMASI11.HAFTA SERVO MOTOR UYGULAMASININ GEREKLESTIRILMESI12.HAFTA KAMERA UYGULAMASININ GEREKLESTIRILMESI13.HAFTA ANDROID ARAYZ TASARIMININ GEREKLESTIRILMESI14.HAFTA RAPOR YAZILMASI

    2

  • 2 1.BLM

    2.1 RASPBERRY PI KURULUM VE AYARLARININ YAPILMASI

    2.1.1 Raspberry Pi Nedir?

    Sekil 2: Raspberry Pi

    Sekil 2de gsterilen Raspberry Pi, ARM1176JZF-S 700 MHz merkezi islem birimini ie-

    ren Broadcom BCM2835 mikroipi zerine kurulmustur. VideoCore IV GPU grafik islem

    birimine sahip olup baslangta 256 megabayt bellege sahipti. Daha sonralar bellegi 512

    megabayta karld.Sabit diske sahip degildir. Booting ve veri depolamas iin SD kart

    kullanr.Vakfn amac bu bilgisayarn iki degisik srmn piyasaya srmektir. Bunlarn

    fiyatlar 25 ABD dolar ve 35 ABD dolar seklindedir. Daha ucuz olan modeli 29 Subat

    2012 tarihinde, daha pahal olan ise 4 Subat 2013 tarihinde piyasaya kmstr. Vakfn

    web sitesinden Debian ve Arch Linux ARM isletim sistemleri indirilebilir. Python prog-

    ramlama dili ile programlanabildigi gibi BBC Basic, C ve Perl programlama dilleri de

    kullanlabilmektedir.[1] Rahat kullanm ve uygun fiyatndan dolay tercih edilmektedir.

    2.1.2 Raspberry Pi Isletim Sistemi Kurulumu

    Raspberry pi iin isletim sistemi olarak Debian tabanl Raspian isletim sistemi

    https://www.raspbian.org/RaspbianImages internet sitesinden indirildi. 8

    GBlk hafza kartna rufus program ile Raspian imaj yazld.Hafza kart Raspberry

    piye takld.

    3

  • 2.1.3 Raspberry Piyi Ethernet Kablosu ile Bilgisayara Baglama

    Sekil 3: Kurulum

    Sekil 4: Baglant1

    Sekil 3te oldugu gibi fiziksel baglant kuruldu.Daha sonra Ag Baglantlar ayarlarndan

    Aga sag tklayp zellikler->Paylasm blmn aarak Sekil 4teki gibi degisikler (Di-

    ger ag kullanclar,bu bilgisayarn Internet baglants yoluyla baglansn seenegi isaret-

    lendi.) yapld.

    4

  • Sekil 5: Baglant2

    Internetten Putty program indirildi ve kuruldu.(Sekil 5) PuTTY; kk boyutlu, esitli is-

    letim sistemlerinde alsabilen srmleri bulunan ak kaynak kodlu cretsiz bir Ssh/Telnet

    programdr. Ilk srmleri sadece Windows isletim sistemi zerinde alsan yazlmn, g-

    nmzde Unix, Linux, Mac OS X srmleri de mevcuttur.

    Sekil 6: Baglant3Baslat mensnden alstra cmd yazld kan terminale arp -a komutu yazld. (Sekil

    6)ve Raspberry Pinin baglandg IP adresi grenildi.

    5

  • Sekil 7: Baglant4

    grenilen IP adresi nceden indirelen Sekil 7deki putty programndaki Host name(or IP

    adress) blmne yazld,port blmne 22 yazld ve SSH seilerek baglant gerekles-

    tirildi.

    Sekil 8: Baglant5

    Sekil 8deki gibi alan terminaldeki kullanc ad ksmna pi,sifre ksmna raspberry

    yazld ve sisteme girildi.Raspberry pi ayarlarnda gerekli dil,klavye,grnt ayarlar ya-

    pld.

    2.2 PYTHON ILE LED UYGULAMASI

    Python programlama dili hakknda arastrma yaplarak bilgi topland. Python, nesne y-

    nelimli, yorumlamal, birimsel (modler) ve etkilesimli yksek seviyeli bir programlama

    dilidir. Girintilere dayal basit szdizimi, dilin grenilmesini ve aklda kalmasn kolay-

    lastrr. Bu da ona sz diziminin ayrntlar ile vakit yitirmeden programlama yaplmaya

    baslanabilen bir dil olma zelligi kazandrr.[2] Modler yaps, snf dizgesini (sistem) ve

    6

  • her trl veri alan girisini destekler. Hemen hemen her trl platformda alsabilir. (Unix

    , Linux, Mac, Windows, Amiga, Symbian). Python ile sistem programlama, kullanc ara-

    birimi programlama, ag programlama, uygulama ve veritaban yazlm programlama gibi

    birok alanda yazlm gelistirebilirsiniz. Byk yazlmlarn hzl bir sekilde prototiple-

    rinin retilmesi ve denenmesi gerektigi durumlarda da C ya da C++ gibi dillere tercih

    edilir.

    Her ynyle python kitabna alsld,rnek uygulamalar yapld.[5]

    Sekil 9: LED Python Kodu

    Raspberry Pi ile python programlama kullanlarak LED uygulamas yapld. ncelikle

    terminalde LED uygulamas iin sudo nano led.py komutu ile led isminde yeni bir

    dosya ald. Alan dosyaya Sekil 9da gsterildigi gibi Python kodu yazld.ctrl+x tus-

    larna baslarak gelen ekranda Y tusuna baslarak dosya kaydedildi.[6]

    7

  • Sekil 10: LED Baglants

    Daha sonra Sekil 10daki gibi board zerinde LED kurulumu yapld. Kodda belirti-

    len Rapberry pi bacaklarnn bord zerine uygun bir sekilde baglants sagland.(LEDin

    art(uzun) bacagna 220 ohmluk bir diren baglanld.Direncin diger bacag Raspberry Pi

    portuna(12.port) baglanld.LEDin eksi(ksa) bacag Raspberry Pinin Gnd portuna bag-

    lanld.)Terminale sudo python led.py komutu yazlarak alstrld. Birka denemeden

    sonra uygulama Sekil 10da gsterildigi gibi basaryla sonuland.[16] LED uygulamas

    farkl rneklerle daha iyi anlasld.

    2.3 WEBIOPi ILE INTERNET ZERINDEN LED KONTROL

    2.3.1 WEBIOPi Kurulumu

    Sekil 11: WEBIOPi

    8

  • Sekil 11deki Web arayz(WEBIOPi) kullanarak Raspberry piyi kontrol etmek iin n-

    celikle gerekli kurulum yapld(internete bagland)[19] Raspberry pi terminali ald,komut

    satrna sudo wget http://webiopi.googlecode.com/files/WebIOPi-0.6.6.tar.gz daha sonra

    asagdaki komutlar alstrld;

    tar xvzf WebIOPi-0.6.0.tar.gz

    cd WebIOPi-0.6.0

    sudo ./setup.sh

    sudo /etc/init.d/webiopi start

    sudo /etc/init.d/webiopi status

    Kurulum yaplrken baz hatalarla karslasld. Karslaslan hatalar internet ortamnda aras-

    trlarak zld. Raspberry pinin ip adresini grenmek iin terminale: ip addr komutu

    girilerek ip adresi grenildi. Daha sonra Web taraycs alarak adres ksmna ip ad-

    resi sonuna port eklenerek su sekilde yazld: http://192.168.137.224:8000 kan ara-

    yzde:(default) kullanc ad(username):webiopi

    sifre(password):raspberry olarak girildi. Ve Sekil 11deki arayze erisildi.[18] WebIOPi

    kullanmn aktif etmek iin terminale :

    sudo /etc/init.d/webiopi start

    WebIOPi kullanmn pasif etmek iin terminale :

    sudo /etc/init.d/webiopi stop

    Raspberry pi her aldgnda WebOIPi yi aktif etmek iin :

    sudo update-rc.d webiopi defaults

    Raspberry pi her aldgnda WebIOPinin aktifligini kaldrmak iin:

    sudo update-rc.d webiopi remove

    komutu girildi.

    9

  • 2.3.2 WEBOIPi ile LED Kontrol

    Sekil 12: WEBIOPi ile LED Yakma

    Bu blmde Sekil 12de grldg gibi Raspberry piyi WebIOPi arayznden kontrol

    ederek LED kontrol islemi yapld. ncelikle LED iin board zerine devre kurulumu

    yapld.Ve gerekli baglantlar;

    Krmz LEDin baglants Raspberry pinin 12.pinine ve sar LEDin baglants Rasp-

    berry pinin 16.pinine bagland. Sekil12deki arayzde gsterilen 12. ve 16. sayl kutu-

    cuklarn st tklanarak LEDler aktif/pasif edildi.

    10

  • 3 2.BLM

    3.1 HC-SR04(ULTRASONIK) SENSR UYGULAMASI

    3.1.1 Ultrasonik Sensr

    Sekil 13: Ultrasonik Sensr

    Ultrasonik ses dalgalar 20 kHz ile 500 kHz arasnda frekanslara sahip ses dalgalar-

    dr. Bizim duyabildigimiz 300 Hz-14000 Hz bandnn zerindedirler. Sekil 13te gsteri-

    len Ultrasonik sensrler ultrasonik ses dalgalar yayan ve bunlarn engellere arpp geri

    dnmesine kadar geen sreyi hesaplayarak aradaki uzaklg belirleyebilen sensrlerdir.

    Bu sensrlerde bu kadar yksek frekanslarda ses dalgalarnn yaylmasnn nedeni ; bu

    frekanslardaki dalgalarn dzgn dogrusal sekilde ilerlemeleri , enerjilerinin yksek ol-

    mas ve sert yzeylerden kolayca yansmasdr. Ultrasonik sensrlerin alglama menzili

    uygun kosullarda 30 metreye varabilir. Ultrasonik sensrlerde iki adet transducer bulu-

    nur. Bunlardan biri ultrasonik speaker digeri de ultrasonik mikrofondur. Elektronik devre

    ile ultrasonik speakerdan ses dalgasnn yaylma an ile bu ses dalgasnn engele ar-

    pp yansyarak ultrasonik mikrofon tarafndan alglanmas arasndaki zaman llr ve

    bu zamann ikiye blnp ses hz ile arplmas sonucunda da engel ile ultrasonik sen-

    sr arasndaki mesafe hesaplanr. Robotlarda genellikle 40 kHzlik ultrasonik sensrler

    kullanlmaktadr.[13] Bu sensr ana kapy kontrol etmede kullanacagz.Sensr ile kap

    arasnda ki mesafe degistiginde kullancya bildirim olarak haber verecek.

    11

  • 3.1.2 Board zerinde Devre Kurulumu

    Sekil 14: Ultrasonik Sensr Devresi

    Sekil 14teki gibi board zerinde Raspberry pi ile ilgili gerekli baglantlar kuruldu.[20]

    Ultrasonik sensr baglantlar: Gnd u, Raspberry Pinin 6.portuna(Gnd ucuna), Vcc u,

    Raspberry Pinin 2.portuna, Echo u, 1K direncine,1K direncinin diger bacag 18.porta

    ve 22K direncinin bacagna,22K direncinin diger bacag da GND portuna baglanr, Trig

    u, 16.porta baglanr.

    3.1.3 Python Programlama ile Kodlanmas

    Python programlama ile Sekil 15teki gibi Ultrasonik sensr kodu yazld.

    Sekil 15: Ultrasonik Sensr Kodu

    12

  • 3.2 HAREKET ALGILAMA(PIR) SENSR UYGULAMASI

    3.2.1 Hareket Alglama(PIR) Sensr

    Sekil 16: Hareket Alglama Sensr

    Sekil 16da gsterilen PIR sensrler grs alanlarndaki insanlarn ve scak kanl canl-

    larn yaydklar IR sklar alglayabilen sensrlerdir. Genellikle hareket sensr olarak

    kullanlrlar.(Hrsz alarmlar, otomatik aydnlatma gibi nitelerde kullanlr.) PIR sen-

    srlerdeki alglama mesafesinin arttrlmas ortamdan gelen sgn Freshnel lens (mer-

    cek filtre) ile IR snlarn krlma alarnn tam sensr zerine dsrlp odaklanmasyla

    saglanr. Canl hareket ettiginde sensrn okgen yapsndan dolay algladg sgn an-

    lk olarak kesilip yeniden sensr zerine dsmesi ile PIR sensr hareketi alglar. Yangn

    alarmlarnda alev alglayan pyroelectric Infra red sensor kullanlr.[9] Sensr akken ev

    ierisinde herhangi bir hareket durumunda bildirim ile uyar verecektir.

    3.2.2 Board zerinde Kurulumu

    Sekil 17: Hareket Alglama Sensr Devresi

    Sekil 17deki gibi board zerinde Raspberry pi ve Pr sensr devresi kuruldu.Gerekli bag-

    lantlar yapld.[19]

    13

  • 3.2.3 Python Programlama ile Kodlanmas

    Sekil 18: Hareket Alglama Sensr Kodu

    Sekil 19: Hareket Alglama Sensr Testi

    Kurulum gereklestikten sonra sekil 18deki kod alstrlarak Sekil 19daki gibi test

    edildi.

    14

  • 3.3 DHT11(SICAKLIK/NEM)SENSR UYGULAMASI

    3.3.1 Scaklk/Nem(DHT11) Sensr

    Sekil 20: Scaklk/Nem Alglama Sensr

    Sekil 20de gsterilen DHT11 scaklk ve nem alglayc kalibre edilmis dijital sinyal

    ks veren gelismis bir alglayc birimidir. Yksek gvenilirliktedir ve uzun dnem a-

    lsmalarda dengelidir. 8 bit mikroislemci ierir, hzl ve kaliteli tepki verir. 0 ile 50C

    arasnda 2C hata pay ile scaklk len birim, 20-90 % RH arasnda 5% RH hata pay

    ile nem ler. Bu sensr ev ierisindeki scaklk ve nemi lmek iin kullanlr. Scaklk

    bilgileri kullancya bildirilir ve programlandg scaklk degerini ayarlamak iin gerekli

    modlleri(Fan,klima) aktif eder.

    3.3.2 Board zerinde Kurulumu

    Sekil 21: Scaklk/Nem Alglama Sensr Devresi

    15

  • Sekil 21deki gibi Raspberry pi ve Scaklk/nem snsr board zerinde gerekli baglant-

    lar yaplarak kuruldu.

    3.3.3 Python Programlama ile Kodlanmas

    Sekil 22: Scaklk/Nem Alglama Sensr Kodu 1

    Sekil 23: Scaklk/Nem Alglama Sensr Kodu 2

    Sekil 22 ve Sekil 23teki gibi Python programlama ile Scaklk/Nem sensr kodu yazla-

    rak .py uzantl olarak kaydedildi.

    16

  • Sekil 24: Scaklk/Nem Alglama Sensr Testi

    Sekil 21deki gibi board zerinde kurulumu yaplan, Sekil 22 ve Sekil 23deki gibi kodu

    yazlarak alstrlan Scaklk/Nem sensr Sekil 24teki gibi alstrlarak test edildi.

    3.4 HAREKET+LED+BUZZER UYGULAMASI

    3.4.1 Buzzer Sensr

    Sekil 25: Buzzer

    Sekil 25te gsterilen Buzzer kart, zerinde ses ks iin kullanabileceginiz buzzer bu-

    lunan basit bir elektronik modldr. Uyar sistemlerinde, Arduino veya farkl mikrodenet-

    leyeci alsmalarnda kullanabileceginiz buzzer modl ile uygulamalarnz ses getirecek.

    I/O pini 5V veya 3.3V ile tetiklendiginde buzzer tmeye baslayacaktr. Kart alsma vol-

    taj da 3.3-5V desteklemektedir. Bu modl grme engellileri uyarmak iin kullanlr. [9]

    17

  • 3.4.2 Board zerinde Kurulumu

    Sekil 26: PIR+Buzzer+LED Devresi

    Sekil 26da gsterildigi gibi board zerinde devre kurulumu gereklestirildi.

    3.4.3 Python Programlama ile Kodlanmas

    Sekil 27: PIR+Buzzer+LED Kodu

    Sekil 27deki gsterildigi gibi Python kodu yazld.

    18

  • 3.5 VNC VIEWER ILE RASPBERRY PI ALISMASI

    VNC Viewer etherner kablosu ile laptop zerinden Rasperry pinin kullanc arayzne

    erismek iin kullanlan bir sistemdir.

    3.5.1 Vnc Viewer Kurulumu

    Raspberry pi ethernet kablosu ile laptopa bagland.Komut isteminden arp -a komutunu

    girerek Raspberry Pinin bagl oldugu ip adresi grenildi.Komut satrna ping yayn ad-

    resi(ping 192.168.137.255) yazlarak broadcast(yayn) yapld.Bilgisayara nceden kuru-

    lan Putty programna Raspberry pinin ip adresi yazlarak giris yapld.

    Sekil 28: Vnc Kurulum 1

    Alan ekrana Sekil 28deki gibi

    sudo apt-get

    yazld ve islemin tamamlanmas beklendi.[17] Islem tamamlandktan sonra

    19

  • Sekil 29: Vnc Kurulum 2

    Sekil 29daki gibi komut satrna

    sudo apt-get install tightvncserver

    yazlarak vnc serverin Raspberry pi ye kurulmas sagland.Islem bittikten sonra vncser-

    ver :1 yazarak vnc serverin 1. Portu ald.Sifre olusturma islemi yapldktan sonra vnc

    viewer program(https://wwww.realvnc.com sitesinden indirildi)kuruldu.[15]

    Sekil 30: Vnc Giris

    20

  • Sekil 30da gsterildigi gibi ekrana Raspberry pinin ip adresi ve portu girilerek(192.168.137.223:1)

    kan uyary onayland.

    Sekil 31: Raspberry Pi Arayz

    Yaplan islemler bittikten sonra Sekil 31deki gibi erisim sagland.

    3.6 SERVO MOTOR UYGULAMASI

    3.6.1 Servo Motor Hakknda

    Sekil 32: Servo Motor

    Sekil 32de gsterilen Servo motor herhangi bir mekanizmann isleyisini hatay alglaya-

    rak yan bir geri besleme dzeneginin yardmyla denetleyen ve hatay gideren otomatik

    aygttr. Robot teknolojisinde en ok kullanlan motor esitidir. Bu sistemler mekanik ola-

    bilecegi gibi elektronik, hidrolik-pnmatik veya baska alanlarda da kullanlabilmektedir

    21

  • Servo motorlar da ks; mekaniksel konum, hz veya ivme gibi parametrelerin kontrol

    edildigi bir dzenektir. Servo motor ierisinde herhangi bir motor AC, DC veya Step mo-

    tor bulunmaktadr. Ayrca src ve kontrol devresini de ierisinde barndrmaktadr. D.C

    servo motorlar, genel olarak bir D.C. motoru olup, motora gerekli D.C. asagdaki me-

    totlardan elde edilir. 1- Bir elektrik ykselteten. 2- A.C. akmn doyumlu reaktrden ge-

    irilmesinden. 3- A.C. akmn tristrden geirilmesinden. 4- Amplidin, retotrol, regleks

    gibi dnel ykseltelerden elde edilir.[12]

    Servo motor mekanik cihazlar kontrol etmekte kullanlr.Balklara programlanan saat ara-

    lgnda yem vermek iin kullanlabilir.ieklerin belli aralklarla sulanmas iin kullan-

    labilirr.

    3.6.2 Servo Motor Baglants

    Sekil 33: Servo Motor Baglants

    Sekil 33teki gibi baglants yapld. Servo Motorun; beyaz kablosu,Raspberry Pi por-

    tuna(19.port), siyah kablosu,Raspberry Pinin GND portuna, krmz kablosu,Vcc por-

    tuna(1.port) takld.

    3.6.3 Python Programlama ile Kodlanmas

    Asagdaki Sekil 34te gsterildigi gibi python programlama dili ile yazlarak alstrld.

    22

  • Sekil 34: Servo Motor Kodu

    3.7 USB KAMERA UYGULAMASI

    3.7.1 USB Kamera Kurulumu

    Sekil 35: USB Kamera

    23

  • Raspberry pi ile sekil 35teki USB kamera kullanld.Kamera Raspberry Pinin Usb giri-

    sine takld.Putty terminalinde komut satrna

    Sudo apt-get install fswebcam

    yazlarak gerekli ktphaneler eklendi.[8] Manuel olarak fotograf ekmek iin(kameraya

    gre degisiklik gsterebilir.Su siteden baklabilir: http://elinux.org/RPi USB Webcams);

    fswebcam -p YUYV deneme.jpg

    yazlarak deneme adnda fotograf ekilip kaydedildi.

    3.7.2 Kamerann Test Edilmesi

    Islemler tamamlandktan sonra artk istenildigi zaman manuel olarak fswebcam -p YUYV

    deneme.jpg komutu girilerek fotogref ekilebilir.

    Sekil 36: USB Kamera Grnts

    Sekil 36daki gibi fotograflar ekilebilir.

    3.8 ANDROID ARAYZ TASARIMI

    3.8.1 Android Studio

    Projede Android Programlama iin Android Studio program kullanld. Android Stu-

    dio, android yazlm gelistirmek iin kullanlan entegre gelistirme ortam(IDE) platfor-

    mudur.Bu platform 16 mays 2013 tarihinde Google I/O konferansnda Googlen rn

    24

  • mdr Katherine Chou tarafndan ilan edildi.Ilk Kararl srm 1.0dan baslayarak,Aralk

    2014 tarihinde piyasaya srld.Android Studio iin JetBrains IntelliJ IDEA yazlm

    zel olarak tasarlanmstr.Windows,Mac Os X ve Linux zerinde alstrlabilir.

    3.8.2 Android Arayz Kodlanmas

    Sekil 37: Android Kod1

    Sekil 38: Android Kod2

    Sekil 37 ve 38de gsterildigi gibi Android Arayz tasarm iin kodlar yazld.[14] Tasa-

    rm ve kodlama islemi bittikten sonra uygulama telefona yklenerek test edildi.[10]

    25

  • 3.8.3 Uygulamann Android Telefondaki Grntleri

    Sekil 39: Anasayfa

    Sekil 40: Aydnlatma Sekil 41: Gvenlik

    26

  • Sekil 42: Hareket Sekil 43: Kamera

    Sekil 44: Scaklk Sekil 45: Kap

    Telefona yklenen uygulamann ekran grntleri Sekil 39,40,41,42,43,44 ve 45teki gibi

    oldu.

    27

  • SONULAR

    Raspberry pi kullanm grenildi.

    Python programlama dili grenildi.

    Isklandrma kontrol uygulamas gereklestirildi.

    Hareket alglama uygulamas gereklestirildi.

    Scaklk alglama uygulamas gereklestirildi.

    Ultrasonic Sensr uygulamas gereklestirildi.

    Servo motor uygulamas gereklestirildi.

    Kamera Uygulamas gereklestirildi.

    Android arayz tasarm gereklestirildi.

    28

  • Kaynaklar

    [1] Mitchell, Gareth. "The Raspberry Pi single-board computer will revolutionise com-

    puter science teaching [For and Against]." Engineering and Technology 7.3 (2012):

    26-26. stems with Different Network Technologies.

    [2] Sanjana Prasad et al, / (IJCSIT) International Journal of Computer Science and In-

    formation Technologies, Vol. 5 (6) , 2014, 7107-7109

    [3] L. Yiqin, F. Fang, and L. Wei, "Home Networking and Control Based on UPnP: An

    Implementation," WCSE 2009, pp. 385 - 389, 2009.

    [4] International Journal of Engineering Research and Applications (IJERA) ISSN:

    2248-9622 NATIONAL CONFERENCE on Developments, Advances and Trends

    in Engineering Sciences (INCDATES - 09th and 10th January 2015)

    [5] zgl,F.(2010).Python(2.bask),(Kodlab Yay.)Istanbul.

    [6] Kldag,A.(2014) Raspberry Pi (Dikeyeksen Yay.).Istanbul.

    [7] Gner, ve P. Gler,. (2002)Dr. HTF Halk Saglg A.D.(5 cilt) ss.150-154. Ankara

    [8] "Camera Module".http://www.raspberrypi.org/products/

    camera-module/.18Mart2015

    [9] "PIR sensor technology". http://www.ecosirius.com/technology.

    html/ 20 Mart 2015.

    [10] Meiter,Reto.(2013) Profesyoneller Iin Android Uygulama Gelistirme.(B.Cerit

    Cev.)(2.bask)

    [11] Topa S. (2002). Gata Egitim Hastanesinde Rutin Incelemeye Tabi Tutulan Yasl

    Bireylerde Ev Kaza Sklg, Kaza zellikleri ile Nedenleri ve Bunun Yasadklar

    Konut zellikleri Ile Iliskisi. Hemsirelik Program Yksek Lisans Tezi, Ankara.

    [12] "Servomotor". http://en.wikipedia.org/wiki/Servomotor/ 20 Mart

    2015

    29

  • [13] "Ultrasonic Ranging Module HC-SR04".http://www.micropik.com/PDF/

    HCSR04.pdf/ 15 Mart 2015

    [14] "Android Codes Example" https://code.google.com

    [15] "Raspberry Pi Forum" http://www.raspi.gen.tr/

    [16] "Raspberry Pi ile Led yakma"http://stackcuriosity.com/

    raspberrpi-ile-basit-led-yakma-sondurme/

    [17] "Raspberry Pi Linux/raspian Komutlar"http://raspberry-pi.tankado.

    com/raspbian-linux/raspbian-komutlari.html

    [18] "WEBIOPi Kurulum" https://code.google.com/p/webiopi/wiki/

    INSTALL

    [19] "Raspberry Pi Forum" https://www.raspberrypi.org/forums/

    viewtopic.php?f=81&t=75345

    [20] "HC-SR04 Ultrasonik Sensr" http://www.modmypi.com/blog/

    hc-sr04-ultrasonic-range-sensor-on-the-raspberry-pi

    30

  • ZGEMIS

    KISISEL BILGILER

    Ad Soyad : mer ABA

    Uyrugu : 40432131682

    Dogum Yeri ve Tarihi: Diyarbakr / 01.11.1993

    Adres : Yenisehir mahallesi Sezai Karako Bulvar Siar Apartman Daire No:28

    Merkez/Diyarbakr

    Telefon : 05455119383

    e-mail : [email protected]

    EGITIM DURUMU

    Lisans grenimi : Bilecik Seyh Edebali niverstesi, Bilecik

    Bitirme Yl : 2016

    Lise : Fatih Lisesi

    IS DENEYIMLERI

    Yl : -

    Kurum : -

    Stajlar : 1.Staj : Dicle niversitesi Bilgi Islem Daire Baskanlg

    ILGI ALANLARI

    YABANCI DILLER : Ingilizce

    31

    ZETABSTRACTTEEKKREKL LSTESTABLO LSTESGR1.BLMRASPBERRY P KURULUM VE AYARLARININ YAPILMASIRaspberry Pi Nedir?Raspberry Pi letim Sistemi KurulumuRaspberry Pi'yi Ethernet Kablosu ile Bilgisayara Balama

    PYTHON LE LED UYGULAMASIWEBIOPi LE NTERNET ZERNDEN LED KONTROLWEBIOPi KurulumuWEBOIPi ile LED Kontrol

    2.BLMHC-SR04(ULTRASONK) SENSR UYGULAMASIUltrasonik SensrBoard zerinde Devre KurulumuPython Programlama ile Kodlanmas

    HAREKET ALGILAMA(PIR) SENSR UYGULAMASIHareket Alglama(PIR) SensrBoard zerinde KurulumuPython Programlama ile Kodlanmas

    DHT11(SICAKLIK/NEM)SENSR UYGULAMASIScaklk/Nem(DHT11) SensrBoard zerinde KurulumuPython Programlama ile Kodlanmas

    HAREKET+LED+BUZZER UYGULAMASIBuzzer SensrBoard zerinde KurulumuPython Programlama ile Kodlanmas

    VNC VEWER LE RASPBERRY P ALIMASIVnc Viewer Kurulumu

    SERVO MOTOR UYGULAMASIServo Motor HakkndaServo Motor BalantsPython Programlama ile Kodlanmas

    USB KAMERA UYGULAMASIUSB Kamera KurulumuKamerann Test Edilmesi

    ANDROD ARAYZ TASARIMIAndroid StudioAndroid Arayz KodlanmasUygulamann Android Telefondaki Grntleri

    SONULARKAYNAKLARZGEM