(microsoft word - docx

Upload: murat-kolgak

Post on 07-Apr-2018

250 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 (Microsoft Word - docx

    1/52

    1

    ZETProjenin amac, bilgisayara gereksinim duymadan sensrlerden alnan verilerin ve rolelerin

    kontroln dorudan internet sunucu zerinden gerekletirmek.Sensrlerden alnan analog

    verileri ileyip uygun formlara koyarak Ethernet modl vastas ile cihazmz Adsl modem

    yada yerel aa utp kablo ile balayp internete verileri gndereceiz.

    Sistem donanm olarak ana blmden oluuyor Rle ve sesrlerin bal olduu uygulama

    modl, bu modl kontrol eden kontrol kart ve verileri Ethernet vastas ile internet balants.

    Sistemin programlamasn Kontrol kart iin (Arduino [1]) zel olarak retilmi arduino IDE

    program vastas ile C++ dili kullanarak yaplmtr. Programda Ethernet modl ve dier

    bileenler ile haberlemeyi salamak iin bir ok ktphane kullanlmtr bunlar ek CD ye

    eklenmitir. WEB programlamada ise cretsiz datm olan ve dnya zerinde kendini

    kantlam PHP dili kullanarak yaplmtr. Veri taban ise PhpMyAdmin kullanarak sql

    kullanlmtr.

    Bu proje ile arada bilgisayar yada baka bir cihaz olmadan herhangi bir sensor ve istee gre

    rlelerin kullanm hedeflenmitir. Proje oluturulurken ayn ilevlere sahip birden fazla cihazn

    farkl konumlardan internet vastas ile bir noktadan kontrol ama edilmitir.

    Son olarak bu projeden edindiim bilgi ve tecrbeleri kullanarak daha gelimi ve ilevsel

    cihazlar yaparak kolay bir ekilde kullanc ara yz oluturulup ticari bir rn haline

    getirmektir. Birka rnek ile ev otomasyon, sera kontrol, internet zerinden iklimlendirmeilemleri veya otomatik sulama sistemleri gibi bir ok alandan ilem yapacak ekipman

    gerekletirmek.

  • 8/6/2019 (Microsoft Word - docx

    2/52

    )

    2

    1 GR2009 yl yaz stajm memleketim olan ktayadaki Dumlupnar niversitesi Enformatik

    blmnde yaptm. Staj sresince Serdar hocam bata olmak zere tm hocalarm bana ok

    yardmc oldular. Serdar hocama yapmak istediim projelerden bahsederken bana Arduino

    isimli ak kaynak kodlu bir projeden bahsetti ve aratrmam iin kaynaklar verdi ve bu ieburadan balam oldum. Arduino isimli projeyi ilerleyen blmlerde ayrntl olarak

    anlatacam fakat imdilik iinde Atmel firmasnn ilemcileri olan bir prototip gelitirme kart

    olarak tanmlayabiliriz.

    Arduino yurt dnda elektronie merak olan fakat nasl yapacan bilmeyen

    amatrlerin alma iin ortak bir platformu haline gelmi.zellikle forum sayfasnda dolarken

    bu tr ilerin ne kadar kolay ve hzl bir ekilde gelitirilebileceini grdm. e ilk olarak bu

    kartt sahip olmak gerekiyordu. Orijinal talyan yapm olan kart 70 80 lira civarnda idi ama

    renmek ve en az maliyet ile rn elde etmekti. Kart ak kaynakl olduu iin single pcb

    formunda devre emas vard fakat Atmel atmega 168 ilemciyi Trkiyede bulamadk. Bizde

    spark fun isimli elektronik malzeme sat yapan yurt d bir siteden bu ilemcilerden 5 tane

    aldk ve kartlarn yapmna baladk. Bunu nasl yaptmz ilerleyen blmlerde detayl bir

    ekilde anlatacam. Kart yaptktan sonra ufak uygulamalar yaparak bu tr mikroilemci

    dnyasna adm atm bulundum.

    Stajmn ikinci dneminde ise server odasnn Ethernet zerinden takibini yapacak bir cihaz idi

    ve bunu gerekletirerek edindiim bilgi ve tecrbe ile bu projeye baladm.

  • 8/6/2019 (Microsoft Word - docx

    3/52

    =

    3

    2 SSTEMN GENEL YAPISI VE ALIMA PRENSBBu blmde sistemi oluturan ksmlar ve sistemi oluturan ksmlarn birbiriyle ilikisi, bir

    btn halinde verilerek sistemin alma prensibi anlatlmtr.

    2.1 Sistemin genel yapsSistemin genel yaps sekil 1 de grld gibidir ve 5 aamada ilemektedir.

    1-Sensr ve rlelerden gelen veriler

    2- Gelen verileri ileyip Ethernet modlne ileten mikro denetleyici

    3-Mikro denetleyiciden gelen verileri uygun protokoller ile internete tayan

    Ethernet modl

    4-Php Sunucusu

    5-Sql Veri taban

    eki -2-1

  • 8/6/2019 (Microsoft Word - docx

    4/52

    =

    4

    3 SENSR VE RLE KARTIBu blmden sensorlardan gelen verileri kontrol kartna ve kontrol kartndan gelen

    sinyallere gre rlelerin konumlarn ayarlayan devrenin alma eklini anlatacam.

    3.1 Scaklk Sensoru LM35DZSensorler, otomatik kontrol sistemlerinin duyu organlardr.

    Trkesi duyucu, alglayc diye geer. nsanlar nasl evrelerinde

    olup bitenleri gzleriyle grp, kulaklaryla

    duyuyorlarsa, makineler de scaklk, basn, hz ve benzeri

    deerleri sensrleri vastasyla alglarlar. rnein bir scaklk

    sensr deien ortam scaklna bal olarak bacaklar arasnda

    elektrik potansiyel fark yani gerilim oluturur. Eer bu bilgiyi bir mikro denetleyiciye

    aktarrsak kapal evrim bir scaklk kontrol nitesi yapm oluruz [2]

    Fiziksel ortam deiikliklerini (s, k, basn, ses, vb.) bizim yerimize alglayan

    cihazlara sensr, alglad bilgiyi elektrik enerjisine dntren cihazlara

    ise transdser diyoruz.

    Benden projemde analog olarak LM35DZ isimli scaklk sensrlerini kullandm.

    Genel olarak balantsn anlatmak gerekirse

    Gnd ucunu kontrol kartmzn

    topragna ve pos ucunu ise +5 V ucuna

    balyoruz ve output bacan ise analog5

    isimli blme balyoruz yandaki ekilde

    balant ekli gsterilmitir.

  • 8/6/2019 (Microsoft Word - docx

    5/52

    =

    5

    Arduino program ile yazlm rnek bir lm35 dz program. Program incelersek 1 saniyede bir 0

    numaral analog giri den okuduu deeri seri port ile bilgisayara aktaryor.

    //declare variables

    float tempC;

    int tempPin = 0;

    void setup()

    {

    Serial.begin(9600); //seri portu ayoruz ve data rate deerini 9600 bps olarak tanmlyoruz

    }

    void loop()

    {

    tempC = analogRead(tempPin); //Sensrdeki deerleri okuyortempC = (5.0 * tempC * 100.0)/1024.0; //analog veriyi dntren forml temperature

    Serial.print((byte)tempC); //verileri bilgisayara gnderiyor

    delay(1000); //bir saniye bekleme yaptryor

    }

    3.2 Rle Nedir?Rle, elektromanyetik alan bir devre elemandr. Yani

    zerinden akm getii zaman alan devre elemandr.

    Rle; Bobin, Palet ve Kontak olmak zere blmden

    meydana gelir. Bobin ksm rlenin giri ksmdr. Palet ve

    kontak ksmnn bobin ile herhangi bir elektriksel

    balants yoktur.

  • 8/6/2019 (Microsoft Word - docx

    6/52

    =

    6

    "Rle", baka bir elektrik devresinin alp kapanmasn salayan bir elektriksel anahtardr. Bu

    anahtar bir elektromknats tarafndan kontrol edilir. 1835'te Joseph Henry tarafndan icat

    edilmitir.

    Rlenin kontaklar normalde ak ("Normally Open - NO"), normalde kapal ("Normally Closed

    - NC") veya kontakta deien cinsten olabilir.

    Rleler transistr grevi gibi grrler rnein basit bir 3 bacakl rlede akm verdiiniz zaman

    asedeki kol dier taraftaki akm aar yani kontrol iin kullanlabilir.

    Yalnzca transistrlerden bir farklar vardr:diren ile kulanmakgerekmez. Bobin iki konta

    mknatslad zaman rlenin bir konta alr bir konta kapanr.

    Rleler dk akmlar ile alan elektromanyetik bir anahtardr. zerinde bulunan

    elektromanyetik bobine rlenin trne uygun olarak bir gerilim uygulandnda bobin mknats

    zellii kazanr ve karsnda duran metal bir paleti kendine doru ekerek bir veya daha fazla

    konta birbirine irtibatlayarak bir anahtar grevi yapar.

    Tristr ve Triyak'larn imal edilmesinden sonra poplerliini kaybeden rleler yine de birok

    alanda hala kullanlmaktadr. Tristr ve triyak'lara gre tek avantaj tek bir bnye iinde birden

    fazla anahtar kontana sahip olabildii iin birden fazla yk ayn anda aabilir veya

    kapatabilir hatta ayn anda baz ykleri ap bazlarn kapatabilir. Bu ilem tamamen rlenin

    kontaklarnn dizayn ile ilikilidir. Rleler hem A.C. hem D.C.de altrmak zere

    kullanlabilirler. Genel olarak; rleler anahtar(switch) ve len rleler olmak zere ikiye

    ayrlrlar. Ayrca; rleler alma, kullanl maksad ve devreye balan ekline gre de

    gruplandrlrlar. [3]

  • 8/6/2019 (Microsoft Word - docx

    7/52

    7

    nternet Entegresi Wiznet W5100

    alma Voltaj 3.3- 5V (DC)

    Hafza 16 KB (RX veTX

    Desteklenen nternetBant Genilii

    25 Kbps

    DesteklenenProtokoller

    TCP/IP, UDP, ICMP,IPv4 ARP, IGMP

    Desteklenen ADSLprotoklleri

    PAP/CHAPdesti ile PPPoE

    4 Ethernet (nternet) KitiArduino ailesinin tm ana kartlarn internet balants salamak amacyla tasarlanm

    bir karttr. Dier bir deyile Ethernet kiti sayesinde herhangi bir mikrodenetleyiciye internet

    balants salanabilir ve herhangi bir bilgisayar kullanm olmadan basit bir

    mikrodenetleyici ile internet tabanl projeler yaplabilir.

    Arduino Ethernet kiti zerinde Wiznet firmasnn W5100 ethernet entgresini mevcuttur.

    Ethernet kiti Arduino ile SPI protokol zerinden haberleerek Arduinoya TCP/IP

    protokolne eriimini salamaktadr. Tablo 4de Ethernet kitinin teknik zellikleri verilmitir.

    Literatrde web ve internet tabanl birok robotik uygulama mevcuttur [9,13,14].Fakat bu

    almalarda ana sistemlerin internet balants bir bilgisayar ve kullanc ara yz

    kullanarak salanmtr. Literatrde Arduino Ethernet kiti

    Tablo 1Ethernet Kitinin Teknik zellikleri

  • 8/6/2019 (Microsoft Word - docx

    8/52

    =

    8

    4.1 TCP/IP ve IPBu blmde, programn sunucu ve istemci taraflarn internet balants esasn salayan

    TCP/IP ve IP protokolleri anlatlmtr.

    4.1.1 TCP/IPProtokol, belli bir iin yapln dzenleyen kurallar btn olarak tanmlanabilir. TCP/IP de

    internet zerinden salanan balantlarn kurallarn ieren ve bu kurallar erevesinde

    balant kurulmas esasna dayanan bir protokoldr. Btn networkler iin gelitirilmitir.

    Bilindii zere en geni alardan biri de internettir. Bunun gibi byk alarn ynetilebilmesi

    dikkat istemektedir. Bundan dolay geni ve farkl zelliklerdeki alarn bamsz olarak

    ynetilmesi ve gelitirilmesi gerekmektedir. TCP/IP buna uygun bir protokoldr. TCP/IP

    protokolnn temelleri, A.B.D Savunma Bakanl ARPA projesi olarak 1970'lerde atlmtr.

    Bu nedenle bazen drt katmanl DoD modeli olarak da adlandrlmaktadr. Dier bir model

    olan OSI modelde ise TCP/IP modele karlk yedi katmandan bahsedilir. Aslnda TCP/IP

    protokol diye adlandrmak ok doru deildir. Bunun nedeni; TCP/IP ok sayda protokol ve

    yardmc programlardan oluan bir protokol kmesidir[1]. ekil 3.1deki emadan TCP/IP

    model ile OSI model katmanlar ve bu katmanlara karlk gelen protokoller gsterilmitir.

    ekil 3.1 TCP/IP ve OSI modellerinin karlatrlmas

  • 8/6/2019 (Microsoft Word - docx

    9/52

    9

    TCP/IP'de, yollanan veriler katmanlara gre paketlenerek yollanr ve alcda bu paketler teker

    teker alp veri ulatrlr. Bu yntem, yollanan veri, yollama ekli ve yollama yolunu

    birbirinden ayrarak birlikte almay kolaylatrr.

    Katmanlar, OSI ve DoD standardna gre drt veya yedi ekilde alabilir. TCP/IP, DoD

    modeli temelinde gelitirildiinden drt katmana ksaca deinilmitir.

    Uygulama katmannda, veriyi gndermek isteyen uygulama ve kulland dosya format

    bulunur. HTTP zerinden HTML formatnda yazlm bir web sayfas bu katmana rnek

    verilebilir.

    Tama katmannda, verinin ne ekilde gnderildii gsterilir. TCP veya UDP gibi protokoller

    bu katmandadr.

    Bazen IP katman olarak da anlan a katman, IP adreslerinin veriye eklendii noktadr. Bu

    katmandaki uygulamalar IP veya IPv6 gibi iletiim protokolleri olabilecei gibi ICMP, IGMP

    veya ARP gibi durum bildirme ve katmanlar aras ba protokolleri de olabilir.

    En alt katman olan fiziksel katmanda ethernet, modem, ATM gibi protokoller bulunur[8].

    4.1.1.1TCP ProtokolTCP protokol, iki bilgisayar arasnda veri transferi yaplmadan nce balantnn kurulmas

    ve veri iletiminin garantili olarak yapld connection-oriented olarak adlandrlan birprotokoldr. TCP iletiiminde veri paketleri kullanlr. Ayrca gnderen ve alan

    uygulamalarda da port bilgisi eklenir. k (port), kaynak ve hedef uygulamann iletiimini

    salar.

    TCP protokolnn veri iletiim esnasnda kulland kurallar btn, izelge 3.1den

    incelenebilir. Verinin gnderildii hedef bilgisayarn port numarasn destination port

    belirtir. Datann segmentlere blnp gnderilmesinden sonra, tekrar birletirilmesi iin

    ihtiya duyulan numara sequnce number olarak tanmlanr. Bir sonraki hangi TCP

    soktetinin beklendiini ackknowlegment number kural belirler. Balk bilgisi ierisinde yer

    alan 32 bitlik kelimeleri head lenght ifade eder. Reserved kural her zaman 0 deerini

    alr. Bir oturumun kurulmas ve bitirilebilmesi iin kullanlan code bits fonksiyonudur.

    Window, octet cinsinden gnderici bilgisayarn kabul ettii pencere bykl olarak

    tanmlanmaktadr. Checksum, CRC header ve data alanlarn kontrol eden iletiim

    kuraldr. Acil veri sorununu urgent pointer belirler. Options kural ise maksimum TCP

    segment byklne 0 ile 32 aras bir deer atar.

  • 8/6/2019 (Microsoft Word - docx

    10/52

    )

    10

    Source port (16) Destination port (16)

    Lenght (16) Checksum (16)

    Data

    izelge 3.1 TCP protokolnn tama katmannda kulland kurallar.

    Source port (16) Destination port (16)Sequence number (32)

    Ackknowlegment number (32)

    Header lenght (4) Reserved (6) Code bits(6) Window (16)

    Checksum (16) Urgent (16)

    Options ( 0 veya 32 )

    Data

    4.1.1.2 UDP ProtokolUDP de TCP gibi bir tama katman protokoldr. Ancak UDP iletiminde verinin alnp

    alnmadna dair dorulama (authentication) yaplmad iin gnderim garantisi olmaz.

    Daha hzl bir protokol olmasna ramen gvenilir bir haberleme protokol deildir.

    UDP Protokolnn tama katmannda kulland kurallar.

    Gvenli bir balant olduu iin, hz daha dk olmasna ramen TCP protokol tama

    katman olarak seilmitir.

    4.1.2 IP ProtokolIP, hedef bilgisayarn network zerindeki yerini bulur. Paketlerin adreslenmesi ve networkzerindeki bilgisayarlar arasnda ynlendirilmesini salar. IP iletimi de UDP gibi gnderimin

    garanti edilmedii trde bir iletiim kurar.

    IP, iki bilgisayar paketlerinin de ynlendirilmesini salayan balantsz bir protokoldr.

    Balantsz (connectionless) olmas oturumun iletiimden nce kurulmamasyla ilgilidir.

    Bununla birlikte veri iletimindeki baar da garantili olmaz. letimin garantisi daha st dzey

    protokol olan TCP ile salanr.

  • 8/6/2019 (Microsoft Word - docx

    11/52

    )

    11

    4.1.2.1IP AdresiIP adresi, belli bir aa bal cihazlarn, a zerinden birbirlerine veri yollamak iin

    kullandklar adrestir.

    nternet'e balanan her bilgisayara bir IP adresi atanr, dier bilgisayarlar bu bilgisayara bu

    adres ile ularlar. Bu sayede; iki farkl cihaz ayn yerel ada olmasa dahi, IP adresi birbirleri

    ile iletiim imkan salar.

    IP adresleri u anda yaygn kullanmda olan IPv4 iin 32 bit boyunda olup, noktalarla ayrlm

    4 adet 8 bitlik sayyla gsterilirler. rnek bir IP adresi gsterimi 192.168.2.3 eklindedir.

    Burada nokta ile ayrlm her gruba oktet denir. Bu IP adresi, ikili biimde 11000000

    10101000 00000010 00000011 eklinde gsterilebilir. IP adreslerinde iki adres sakldr.

    Birincisi a (network) adresi, ikincisi ise bilgisayar (host) adresidir[10].

    IP adresleri dinamik ve statik olmak zere iki trldr. Statik IP adresleri zaman

    ierisinde deimez, her zaman ayn kalr. Bu tip adresleri daha ok sunucu trde alan

    bilgisayarlar kullanmaktadr. Bu sayede istemci bilgisayarlar, sunucu bilgisayar her zaman

    tanmlar ve ulaabilirler. Dinamik IP adresleri ise balant kopup tekrar internete

    balanldnda veya periyodik olarak deiebilir. Kontroll sistemlerde pek tercih

    edilmemektedir.

    4.2 Seri Haberleme ve Port KavramTelekomnikasyon ve bilgisayar tekniklerinde seri haberleme, iletilmek istenen bilgiyi

    oluturan bitlerin, bir zaman diliminde tek bit olmak zere srayla kar tarafa bir iletiim

    kanal veya donanm veri yolu ile iletilmesi anlam tamaktadr. Eer veri, bir zaman

    diliminde sadece bir ynde aktarlyorsa half-duplex, ayn zaman diliminde her iki ynde

    aktarlyorsa full-duplex olarak adlandrlr.

    Seri iletiim, haberleen taraflar arasnda, protokol olarak adlandrlan kurallar erevesinde

    gerekletirilmektedir. Verinin nasl paketlenecei, bir karakterdeki bit saysn verinin ne

    zaman balayp bitecei gibi bilgiler, protokol ile belirler. Asenkron ve senkron olmak zere

    iki tr seri haberleme protokol bulunmaktadr.

    Senkron gnderimde, haberleen aygtlar ayn saat sinyali darbelerini kullanr. Saatin frekans

    sabit ya da dzensiz aralklarla deiken olabilir. letilen her bit, bir saat darbesi geiinden

    sonraki belirli bir zamanda geerli olur. Senkron bir seri haberleme rnei verilen ekil

  • 8/6/2019 (Microsoft Word - docx

    12/52

    12

    4.2den de grlecei zere senkron gnderimde, veri gnderimi iin 3 kablo gerekmektedir.

    Asenkron haberlemede iletimi balatan start ve iletimin bittiini belirten stop bitleri

    haberleme anlamasn salar. Bu yzden belli bir clock sinyali, asenkron seri iletiimde

    gerekmemektedir. Bu sayede, senkronizasyonu salayan clock sinyali iin ekstra bir kablo

    kullanlmas gereklilii ortadan kalkmaktadr. Uzak mesafeli iletiimlerde asenkron seri

    iletiim, senkron seri iletiime gre tercih edilmektedir. ekil 3.3de asenkron seri iletiim

    rnei verilmitir.

    * Resim http://www.ee.nmt.edu sitesinde bulunan resimden esinlenilmitir

    Seri haberlemede veri aktarm hz, saniyedeki bit says (bps) olarak belirtilir. Veri aktarm

    hzn belirlemede yaygn olarak kullanlan diger terim ise baud ratetir.

    Bilgisayarla d aygtlar arasndaki kablo ile iletiimi salayan veri kanallarna port ad

    verilir. Portlar, seri (COM) ve paralel (LPT) olmak zere iki temel ksmda incelenir. SCSI,

    USB, PCMCIA gibi ayn anda birden fazla d aygtn bilgisayara balanabilmesine olanak

    tanyan portlar bulunmaktadr[8].

    Bilgisayarlarn, adan ulaldnda gelen mesajlar depolamasi iin bellek zerinde brakt

    ama network dilinde rakamlarla(0-65535) ifade edilen alan da port olarak

    tanmlanmaktadr. nternet zerinden yaplan haberlemelerde, portlardan dinleme (data

    beklenir) ve gnderme ilemleri gerekletirilir. rnein 80 numaral port HTTP iin

    ayrlmtr. Web sitesi yaynlama ve gsterim, bu port zerinden gerekletirilir. 0 ile 1024 ve

    aras portlar, standart olarak zel kullanma sahip portlardr. Bundan dolay zel uygulamalar

  • 8/6/2019 (Microsoft Word - docx

    13/52

    )

    13

    gerekletirirken, haberleme portlar olarak 1024ten byk portlar semeye zen gstermek

    gerekir. Bir uygulama iin kullanlan port, ayn zamanda ikinci bir uygulamann bu port

    zerinden dinleme ve gnderim yapmasna izin vermeyecektir.

    4.2.1 Seri Port ve RS232 StandardSeri port, bilgisayara dier aygtlarlarn baland, seri iletiim iin tasarlanm fiziksel bir

    ara yzdr. Kiisel bilgisayarlarn tarihi boyunca terminaller veya modemler gibi cihazlar ile

    bilgisayarlar arasndaki veri transferi ounlukla seri balant noktalar zerinden

    salanmtr. Fare, klavye ve dier evre birimleri de bu yolla bilgisayara balanmaktadr.

    Seri port zerinden haberlemeyi, "UART" ad verilen bir tmleik devre salamaktadr.Bilgisayarlarda kullanlan seri port genellikle RS232 standardnda retilmektedir[8].

    Deiik reticiler tarafndan yaplm veri haberleme cihazlarnn uyumluluunu salamak

    amac ile EIA tarafndan 1960 ylnda RS232 olarak adlandrlan standart belirlenmitir.

    RS232 standard lojik 0 ve 1 gerilim seviyeleri farkl olmak zere RS232A, RS232B ve

    RS232C isimlendirilen gruba ayrlmtr. Kiisel bilgisayarlarda, RS232C yaygn olarak

    kullanlmaktadr. Lojik gerilim sevileri; lojik 1 iin -3V ile -12V, lojik 0 iin +3V ile

    +12V arasnda belirlenmitir.

    RS232 DB-9 konnektr

    Balangta RS232 standard 25 pin ile tanmlanmt. Modern bilgisayarlarda ihtiya

    duyulmayan pinler kartlarak, IBM tarafndan ekil 3.4te grlen konnektre sahip DB-9

    standard gelitirilmitir[11].

    Seri port pin numaralar ve ingilizce tanmlamalar izelge 3.3te verilmitir. DCD pini,

    balant yaplacak olan cihazn veri iletiimine hazr olup olmadn ya da bu cihazn iletiim

    iin alp almadn denetler

  • 8/6/2019 (Microsoft Word - docx

    14/52

    )

    14

    izelge 3.3 RS232 DB-25 ve DB-9 pin tanmlamalar

    DB-9 DB-25

    1 8 Data Carrier Detect (DCD)2 3 Received Data (RxD)

    3 2 Transmit Data (TxD)4 20 Data Terminal Ready (DTR)5 7 Signal Ground (SG)6 6 Data Set Ready (DSR)7 4 Request To Send (RTS)8 5 Clear To Send (CTS)9 22 Ring Indicator (RI)

    RxD ve TxD pinleri data alm ve gnderim pinleri olarak tanmlanmtr. Bilgisayara seri

    porttan bal olan aygt tarafndan gnderilen seri datann alnd pin, RxD olarak

    tanmlanmtr. TxD pini ise bilgisayardan kar aygta seri verinin gnderilmesi iin

    kullanlmaktadr.

    DTR pininden, gnderilecek datann hazr olduunu kar aygta bildiren sinyal gnderilir.

    DSR pini ise aygt tarafndan gnderilecek olan datann hazr olduunu, bilgisayara bildiren

    sinyal gnderir.

    SG pini, mantksal toprak pinidir. Dier sinyallerin lojik gerilim seviyeleri bu pinin

    referansna bal olarak belirlenir.

    RTS pini, bilgisayardan aygta, data gnderme istei olduunu belirtir. CTS pini ise seri

    portun veriyi gndermek iin hazr olup olmadn belirler.

    4.2.2 Seri Port letiim AyarlarSeri port, zerindeki UART tmleik entegreden dolay sadece asenkron seri iletiime izinvermektedir. Bilgisayar ve seri porta bal aygtn, iletiim kurallar yazlm yoluyla

    belirlenmektedir. Bilgisayar ve aygtn ayn kurallar dorultusunda koullanmas

    gerekmektedir. Bu kurallar arasnda en nemli koullamalar; hzn ayarlanmas, karakter

    bana veri biti says, elik ve karakter bana durma bitlerinin says belirtilebilir.

    Seri port zerinden yaplacak iletiim hznn, hem bilgisayarda hem de aygtta ayn olmas

    gerekmektedir.

    Veri biti says, yazlm yoluyla koullanmas gereken dier bir kuraldr. Veri biti says 5, 6,7,8 ve 9 olarak seilebilir. Veri biti says, yaygn olarak 8 bits(1 byte) seilmektedir. 5

  • 8/6/2019 (Microsoft Word - docx

    15/52

    )

    15

    bitslik veriler zel bir uygulama olan baudot kodu iin kullanlmaktadr. 7 bitslik veriler ise

    ASCII kodlar iin kullanlmaktadr. 6 ve 9 bitslik veri says nadiren kullanlmaktadr. Elik

    biti (Parity bit), iletim esnasnda ortaya kan baz hatalar saptama amacyla kullanlmaktadr.

    Seri bir balant noktas ile birlikte kullanldnda, her veri karakteri ile birlikte bir de fazladan

    veri biti gnderilir. Gnderilen bu veri biti, her bir karakterin ierisinde bulunan lojik 1

    bitlerin says, elik biti de dahil olmak zere, her zaman tek veya her zaman ift say olacak

    ekilde ayarlanr. Eer hatal bir 1 bitlik saysna sahip bir bayt

    alnrsa, bu baytn bozuk olduu anlalr. Eer elik doruysa, ortada hata yok veya ift sayl

    bir hata yok anlam kar. Serinin elii bo(N), tek say (O), ift say (E), iaret (M),

    veya boluk (S) olabilir. Boun anlam hi bir elik bitinin gnderilmediidir. En ok

    grlen elik ayar, bodur ve hata saptamas ilemi protokoln daha yksek seviyelerinde

    gerekletirilir.

    Alc donanmn tekrar senkronize olabilmesi iin gnderilen her baytn sonunda durma bitleri

    gnderilir. Elektronik cihazlar genellikle tek bir durma biti kullanr. Seyrek olarak da zellikle

  • 8/6/2019 (Microsoft Word - docx

    16/52

    )

    16

    5 KONTROL KARTIProjemde merkez konumunda olan mikro denetleyici seimi biraz uratrd ve zaman

    ald. Programlamas kolay ve ierisinde ADC bulunduracak ve o ortamdaki manyetik

    kirlilikde zarar grmeden alacak nitelik de olmas gerekiyor. Gerek internet gerekse

    buradaki hocalarmdan aldm yardmlar ile Atmel firmasnn entegrelerinden

    kullanmaya kara verdim model olarak da Atmega serisinden Atmega 168 kullanmaya

    karar verdim . lemcimiz genel olarak

    5.1 Atmega 168 pin Yaps

  • 8/6/2019 (Microsoft Word - docx

    17/52

    17

    Shield denilen, ARDUINO kartlara stten oturacak ekilde tasarlanan ek zellik kartlar

    tasarlanmaktadr.

    Bunlara rnek;

    1. TouchShield (128x128px dokunmatik ekran)2. TouchShield Slide(Geni dokunmatik ekran)3. GPRS Shield (ARDUINO ya GPRS balants yani internet balants salamak iin)4. GPS Shield (Global konumlandrma sistemi ile koordinat tespiti iin)5. Protoshield (prototip gelitirirken ARDUINO ya zarar vermemek iin)6. Xbee Shield (Kablosuz haberleme eidi olan Xbee zerinden iletiim iin)7. Ethernet Shield (Ethernet zerinden internete eriim iin)8. Motor Shield (Motor srmek iin)

    vs...

    Ben bu projede tek yzl baskl kart modelini yaptm rnek olarak pcb yzetini ve stten

    grn

  • 8/6/2019 (Microsoft Word - docx

    18/52

    )

    18

    Duemilanove, u an piyasada bulunan modeldir. Son olarak Atmega328 ile satlmaya

    balanmtr.

    Aslen 5 Volt ile alan kartmz iin tavsiye edilen besleme voltaj 7-12Volt'dur.

    Limitleri 6-20 Volt arasnda deiir ancak, dk voltajlarda stabil almamaktadr.

    rnein, 7 Volt 'dan dk deerlerde Dijital pinlere k olarak1 verip voltmetre ile

    ltmzde 5 Volt'dan dk olduunu grrz. Eer bir motor srcsn sryorsak

    mantksal olarak (Logical) 1-0 deerlerini verememi oluruz.

    14 pinden istenilen giri(input), istenen k(output) olarak kullanlabilir.

    Analog olarak toplam 6 pin bulunmaktadr.

    Flash bellek olarak;

    ATmega168 versiyonlarda 16 KB,

    ATmega328 versiyonlarda 32 KB 'dr.

    2 KB ARDUINO nykleyici (bootloader) iin kullanlmaktadr.

    Kartda, 3.3Volt k pin'ide bulunmaktadr. Bu voltaj FTDI firmasnn FT232 ipinden salanan

    voltaj olup, sensr beslerken kullanlabilir.

    RX-TX pinleri ile seri haberleme yaplabilir. Bunlar FT232 'ye baldr.

    Ayrca seri haberlemeyi dijital pinlerden yazlmsal olarak yapabilmek iin SoftwareSerial

    ktphanesi

    mevcuttur.

    SPI ve I2C desteide bulunmaktadr.

    Aref pininden verdiiniz voltaj, yazlmda Analog Referans voltaj olarak kullanabilir,

    sensrlerinizi bu ekilde kontrol edebilirsiniz.

    ARDUINO, halen gelitirilmekte olan tamamen Ak Kaynakbir projedir.

    Kullanm kolay, donanm ve yazlm bulunan, prototip gelitirme platformu da denilebilir.

  • 8/6/2019 (Microsoft Word - docx

    19/52

    )

    19

    6 PHP NEDR?PHP, zellikle Web iin tasarlanm olan, sunucu tarafl alan bir script dilidir. 1994 ylnda

    Ramus Lerdorf tarafndan oluturulmu ve gnmze kadar bir ok kii tarafndan gelitirilerek

    be kez gncellenmitir. 2007in Nisan ay itibariyle dnya apnda ortalama 20 milyon

    kullancs bulunmaktadr. Gncel istatistikleri, PHP kullanm istatistikleri sayfasnda

    grebilirsiniz.

    PHP, Ak Kaynak (Open Source) tabanl bir rndr. Yani kaynak koduna eriebilir, bunu

    hibir cret demeden kullanabilir, deitirebilir ve yeniden databilirsiniz.

    PHP, kelime anlam olarak ilk dnemlerdePersonel Home Page (Kiisel Ana Sayfa) anlamna

    geliyordu. Ancak GNU adlandrma standartlaryla uyumlu olacak ekildePHP Hypertext

    Preprocessorolarak deitirildi.

    u anda stabil olarak kullanlan en son srm PHP 5tir. PHPnin ana

    sayfasnahttp://www.php.net/ adresinden eriebilirsiniz.

    PHP ile HTML sayfalarnza, her zyaret edildiklerinde altrlacak ekilde PHP kodlar

    gmebilirsiniz. Bylece statik tabanl sayfalar yerine, dinamik olarak kullanabileceiniz,

    ynetebileceiniz, ziyaretileriniz ile daha rahat iletiim kurabileceiniz sayfalar

    oluturabilirsiniz.

    PHP, popler iletim sistemlerinin hepsiyle alabilmesi, yksek performansa sahip olmas, bir

    ok farkl veritabanna sistemini kullanabilmesi, geni ktphane seenei vb zellikleri

    kullanlabilirlii ve poplaritesi olduka yksek olan bir script dilidir.

    Bloumuzdaki dier yazlarmzda, giri seviyesinden balayarak vaktimiz yettiince ayrntl bir

    ekilde PHP kullanmn anlatmaya alacaz.

    6.1 PHP ile Neler Yaplabilir?Dier sunucu-tarafl betik dilleri gibi PHP ile dinamik web sayfalar oluturulabilir. Yazmkurallar ok basit ve anlalabilir olan bu dil ve eklentileri ile ksaca;

    veritaban balantl uygulamalar dinamik olarak oluan grafikler kullancya, taraycya ve tarihe gre zel durumlar veya ierikler anketler tartma forumlar

  • 8/6/2019 (Microsoft Word - docx

    20/52

    )

    20

    elektronik ticaret uygulamalar web tabanl e-posta uygulamalar XML verilerini okuma ve oluturma

    gibi ilemler yapan betikler ksa srede yazlabilir. Ayrca web uygulamalar dnda PHP

    ile kabuk betikleri yazlarak komut satr ilemleri de yaplabilir. Daha ok UNIX iletim

    sistemleri zerinde kullanlan kabuk betiklerini yazma amac ile PHP dili yaygn bir ekilde

    kullanlmamaktadr. Buna ramen PHP gelitiricileri tarafndan PHP-CLI arabirimi (kabuk

    betiklerini komut satrndan altran ve yorumluyan arabirim) her yeni srmde daha da

    glendirimektedir ve gelitirilmektedir.

    PHP dilinin kullanm alanlarndan biri olan PHP-GTK arabirimi (eklentisi) ile GTK (The GIMPToolkit) tabanl grafikli kullanc arayzleri de oluturulabilmektedir.

    6.2 Apache Web Sunucusu Kurulumu6.2.1 Gerekli DosyalarKurulum iin gerekli dosyay http://www.apache.org/dist/httpd/binaries/win32 adresinden

    indirebilirsiniz. Aada anlatlan kurulum .msi uzantl dosyalar (MSI kurulum paketleri)

    arasndan son srm indirilerek yaplmtr. Windows ME, 2000 ve XP srmlerinde MSI

    kurulum destei beraberinde gelmektedir. Daha eski Windows srmlerinde (95, 98, NT) MSI

    kurulum desteini ayrca kurmanz gerekmektedir.

    6.2.2 KurulumApache sitesinden indirdiiniz dosyay altrarak herhangi bir Windows programym gibi

    kurabilirsiniz.

    Kurulum esnasnda ikinci basamakta size lisans szlemesini kabul edip etmediiniz sorulur.

    Buna cevap olarak metnin altndaki seeneklerden "I accept the terms in the license agreement"

    (ilk seenek) olann setiimizde lisans szlemesini kabul ederek kuruluma devam edebilirsiniz

    (lisans szlemesini okuyup okumamak size bal).

    Dier seenei setiinizde ise kurulumdan km olursunuz.

  • 8/6/2019 (Microsoft Word - docx

    21/52

    21

    Ekran Grnts 2: Apache Web Sunucusu Kurulumu

    2. Basamak

    nc basamakta karnza Apache Web Sunucusu ile alakal baz teknik bilgiler ieren bir

    metin kacaktr. Bu basama her zamanki gibi Next > butonuna tklayarak geebilirsiniz.

    Ekran Grnts 3: Apache Web Sunucusu Kurulumu

    3. Basamak

    Drdnc basamakta sunucu ayarlar ile alakal bilgileri vermeniz gerekmektedir. Bu ekranda

    kan kutucuklara srasyla aadaki bilgileri girebilirsiniz:

    1. Network Domain (e.g. somenet.com) metninin altndaki kutucua localhost

  • 8/6/2019 (Microsoft Word - docx

    22/52

    22

    2. Server Name (e.g. www.somenet.com) metninin altndaki kutucua localhost3. Administrator's Email Address (e.g. [email protected]) metninin altndaki

    kutucua ise herhangi bir e-posta adresi yazabilirsiniz.

    Bu kutucuklarn altnda bulunan "Install Apache HTTP Server programs and shortcuts to"

    metninin altndaki seeneklerden:

    1. Run as a service for All Users -- Recommended seimini iaretlerseniz (kurulumdaotomatik olarak iaretlenmi gelir), Windows 2000 zerindeki tm kullanclara Apache

    Web Sunucusu'nu altrma hakk verirsiniz (ou Windows program kurulumlarnda

    bu seenek iaretlenerek kurulur).

    2.

    Dier seenei iaretlediinde ise sadece o anki kullancya Apache Web Sunucusu'nualtrma hakk verilir (rnek: Administrator kullancs ile giri yapp kurulum

    yapyorsanz sadece Administrator kullancs tarafndan altrlabilir).

    Ekran Grnts 4: Apache Web Sunucusu

    Kurulumu 4. Basamak

    Beinci basamakta size kurulum tipi sorulur. Complete seenei iaretlenip devam edilirse

    (kurulumda otomatik olarak iaretlenmi gelir) Apache Web Sunucusu ve Apache dkmanlarn

    beraber kurmu olursunuz. Bu seenei iaretleyerek kuruluma devam etmeniz nerilir.

  • 8/6/2019 (Microsoft Word - docx

    23/52

    23

    Ekran Grnts 5-A: Apache Web Sunucusu Kurulumu 5. Basamak

    Dier seenek olan Custom seenei seilip devam edilirse karnza kurmak istediklerinizin bir

    listesi kar. Bunlar Apache HTTP Server altnda, Apache Runtime ve Apache

    Documentation seenekleridir.

    Apache Runtime seenei Apache Web Sunucusu'nun kendisidir. Bu seenek iaretli olmaz ise

    kurulum tamamlanamaz.

    Apache Documentation seenei ise Apache Web Sunucusu'na ait dkmanlar da kurmanz

    salar (Custom seerek kurulum yapanlar bu seenei iptal edip yaklak 5 MB disk alanndan

    istifade edebilirler).

    Bu seeneklerin altnda ise size kurulum yaplacak src ve dizin gsterilmitir. Sa tarafta yer

    alan Change... butonuna tklayarak kurulumun yolunu (src ve dizin ad) deitirebilirsiniz.

    Not: Kurulumlarda genellikle C:\Program Files\Apache Group yolu deitirilmeden kullanlr.

  • 8/6/2019 (Microsoft Word - docx

    24/52

    24

    Ekran Grnts 5-B: Apache Web Sunucusu Kurulumu 5. Basamak

    Beinci basamakta kurulum tipini Complete olarak setiyseniz karnza altnc basamak olarak

    kurulum yaplacak src ve dizin bilgisi gelir. Baka bir src ve dizin ierisine kurmak

    istiyorsanz sa tarafta bulunan Change... butonuna tklayarak kurulum yapmak istediiniz

    src ve dizini seebilirsiniz.

    Not: Kurulumlarda genellikle C:\Program Files\Apache Group yolu deitirilmeden kullanlr.

    Ekran Grnts 6: Apache Web Sunucusu Kurulumu

    6. Basamak

    Eer kurulum tipini Custom olarak seip devam ettiyseniz karnza yedinci basamak gelecektir.

  • 8/6/2019 (Microsoft Word - docx

    25/52

    25

    Son basamak olan yedinci basamakta ise tek yapmanz gereken Install butonuna tklamanz

    olacak.

    Ekran Grnts 7: Apache Web Sunucusu Kurulumu

    7. Basamak

    Kurulum gerekli dosyalar aktarp sunucu ayarlarn yaptktan sonra otomatik olarak Apache

    Web Sunucusu'nu altracaktr.

    Ekran Grnts 8: Apache Web Sunucusu Kurulumu 8. Basamak

    Son olarak kurulumun bitirildiine dair bir mesaj kar ve Finish butonuna basmanz beklenir.

  • 8/6/2019 (Microsoft Word - docx

    26/52

    26

    Ekran Grnts 9: Apache Web Sunucusu Kurulumu 9. Basamak

    Kurulum sonunda Apache Web Sunucusu'nu Start mensnden Programs altnda Apache HTTP

    Server altnda Control Apache Server altndaki Restart, Start ve Stop seenekleri ile kontrol

    edebilirsiniz.

    Buna ek olarak Windows 2000'de Administrative

    Tools (buraya Start mensnden Settings altnda Control Panel ierisinden ulaabilirsiniz)

    altnda Services ierisinde Apache ismiyle bir servis alr. Apache Web Sunucusu'nu buradan da

    kontrol edebilirsiniz. (Apache zerine tklayp yukardaki butonlardan veya Apache zerine sa

    tklayp kontrol seeneklerini grebilirsiniz)

    NOT: Windows 2000'de Apache kurulumu sona erdikten sonra Apache servisi otomatik olarak

    altrlr.

  • 8/6/2019 (Microsoft Word - docx

    27/52

    G

    27

    Ekran Grnts 10: Administrative Tools altndaki Services

    6.3 PHP KURULUMU6.3.1 Gerekli DosyalarKurulum iin gerekli dosyay http://www.php.net/downloads.php adresinden indirebilirsiniz.Aada anlatlan kurulum Windows zip paketinin (PHP 4.x.x zip package) son srm

    indirilerek yaplmtr. Dier bir kurulum paketi olan PHP installer, ierisinde d

    eklentileriiermedii ve baz sistemler zerinde, kurulum esnasnda veya sonrasnda sorunlar

    yaand iin tercih edilmemektedir.

    6.3.2 KurulumPHP sitesinden indirdiiniz zip dosyasn herhangi bir zip ama/paralama program(WinZip, WinRARgibi) ile herhangi bir dizine anz. Kurulum yolu/dizini - alacak dizin

    genelde C:\PHP olarak seilir. Bu kurulumda da zip dosyas C:\PHP ierisine alarak

    yaplmtr. Kullandnz ama/paralama programna veya programn ayarlarna gre zip

    dosyas, php-4.x.x gibi dizin ierisine alabilir. Bu dizin iindeki dosyalar C:\PHP dizini

    ierisine tayabilir veya dizinin ismini PHP olarak deitirebilirsiniz.

    Zip dosyasn atktan sonra, C:\PHP dizini iindeki php.ini-dist isimli dosyay Windows sistem

    dizini (C:\WINNT) ierisine kopyalaynz ve dosya ismini php.ini olarak deitiriniz.

  • 8/6/2019 (Microsoft Word - docx

    28/52

    28

    Uyar: Windows sistem dizini, Windows kurulumu yaplan srcye gre deiebilir

    (D:\WINNT, E:\WINNT gibi).

    php.ini dosyasn herhangi bir metin editr (Notepad, Wordpad gibi) ile

    aarak, extension_dir ile balyan satr bulunuz. Bu satrda

    bulunan extension_dir direktifinin ayarn, C:\PHP\extensions olarak deitiriniz (PHP

    dosyalarn atnz dizin iinde, php_ ile balayan .dll uzantl dosyalarn tam yolu).

    Bu direktifin doru olarak ayarlanmas, PHP eklentilerini salkl bir ekilde ykleyebilmeniz ve

    kullanabilmeniz iin gereklidir.

    Ekran Grnts 1: Notepad ile alm php.ini dosyas (extension_dirayar)

    Kullanmak istediiniz eklentileri, php.ini dosyas ierisinde

    bulunan extension direktifini kullanarak yklyebilirsiniz. rnein, imaj fonksiyonlarn aktif

    hale getirmek iin extension=php_gd.dll gibi. Tm eklentilere ait

    ykleme direktifleri php.ini dosyas ierisinde yazl halde gelmektedir. Yklemek

    istediiniz ekleniye ait direktifin olduu satrn bandaki ; karakterini kaldrarak yklenmesini

    salyabilirsiniz.

    Not: PHP 4.0.5 srm ve sonraki srmlerinde MySQL, ODBC, FTP, Calendar, BCMath,COM, PCRE, Session, WDDX ve XML destekleri verilmi (eklentiler otomatik yklenmi)

    ekilde gelmektedir. Bunlar iin ayrca eklentilerini yklemenize gerek yoktur.

    Not: Herhangi bir eklenti yklediinizde, aktif hale gelebilmesi iin web sunucunuzu durdurup

    tekrar altrmalsnz.

    php.ini dosyas iinde bulunan register_globals ile balayan satr bulunuz. Bu satrda

    bulunan register_globals direktifinin ayarn, On olarak deitiriniz.

  • 8/6/2019 (Microsoft Word - docx

    29/52

    29

    Bu direktifin grevi ksaca, HTML forumlarndan veya parametre olarak gnderilen deerlerin

    ve isimlerinin otomatik olarak PHP ierisinde tanmlanm deiken biiminde

    kullanlabilmesini veya kullanlamamasn salamaktr. rnein, test.php?sayfa=1 gibi arlan

    PHP betiinin iinde, sayfa isimli deeri $sayfa deikeni olarak kullanabilmek iin

    bu direktifin ayar On olmaldr. Bu direktif hakknda daha fazla bilgi iin register_globals

    Direktifi blmne gzatabilirsiniz.

    Uyar: Bu direktif, PHP 4.1.0 srmlerinden nce On olarak ayarlanm gelir. PHP 4.1.0 ve

    daha sonraki srmlerde gvenlik nedeniyle Off olarak ayarl gelmektedir.

    Ekran Grnts 2: Notepad ile alm php.ini dosyas (register_globals ayar)

    Dosya ykleme esnasnda problem yaamamak iin yine php.ini dosyas ierisinde

    bulunan upload_tmp_dir ile balayan satr bulun. Bu satrda

    bulunan upload_tmp_dir direktifinin ayarn Windows zerinde tm kullanclarn (Everybody)

    yazma hakk olan bir dizinin tam yoluna (src ve dizin ad) ayarlayn. Standart Windows

    kurulumlarnda C:\WINNT\Temp olarak ayarlanabilir.

    Uyar: Bu ayar doru olarak ayarlanmaz ise dosya ykleme ile ilgili problemler yayabilirsiniz.

  • 8/6/2019 (Microsoft Word - docx

    30/52

    30

    Ekran Grnts 3: Notepad ile alm php.ini dosyas (upload_tmp_dirayar)

    php.ini dosyas ayarlarnda son olarak session.save_path ile balayan satr bulun. Bu satrda

    bulunan session.save_path direktifinin ayarn Windows zerinde tm kullanclarn (Everbody)

    yazma hakk olan bir dizinin tam yoluna (src ve dizin ad) ayarlayn. Standart Windows

    kurulumlarnda C:\WINNT\Temp olarak ayarlanabilir.

    Uyar: Bu direktifin doru olarak ayarlanmas, PHP oturum fonksiyonlarnn alabilmesini iin

    gereklidir.

    Ekran Grnts 4: Notepad ile alm php.ini dosyas (session.save_path ayar)

    6.4 6.5 Apache Web Sunucusu AyarlarApache Web Sunucusu zerine PHP destei iki yolla verilebilir. Birincisi PHP'yi modl olarak

    tantmak, dieri ise CGI olarak tantmaktr. Genelde en salkl zm olan modl olarak

    tantlmas yolu izlenir.

    Not: Aadaki ayarlar yapmadan nce web sunucunuzun alyor ise durdurmanz nerilir.

    6.4.1 6.5.1 PHP'yi Modl Olarak YklemekPHP dosyalarn atnz dizinde (C:\PHP) bulunan php4ts.dll isimli

    dosyay C:\WINNT\System32 (bu yol Windows kurulumu yaptnz srcye gre deiebilir)

    dizini ierisine kopyalaynz.

  • 8/6/2019 (Microsoft Word - docx

    31/52

    31

    Apache Web Sunucusu'nu kurduunuz dizin (Apache kurulumunda yolu

    deitirmediyseniz C:\Program Files\Apache Group\Apache dizini) iindeki conf isimli dizin

    iinde bulunan httpd.conf dosyasn herhangi bir metin editr (Notepad, Wordpad gibi) ile

    aarak, AddModule ile balayan satrlar bulunuz. Bu satrlardan sonra:

    LoadModule php4_module C:\PHP\sapi\php4apache.dll

    AddType application/x-httpd-php .php

    satrlarn yazn. PHP dosyalarnz atnz dizinin C:\PHP olduu

    varsaylarak C:\PHP\sapi\php4apache.dll yazlmtr. PHP dosyalarnz baka bir dizine

    atysanz C:\PHP yerine onu yazmalsnz.

    Ekran Grnts 1: Notepad ile alm httpd.conf dosyas (PHP'yi modlolarak tanmlama)

    6.4.2 6.5.2 PHP'yi CGI Olarak YkletmekBir nceki modl olarak tanmlama yolundaki gibi httpd.conf dosyas iinde AddModule ile

    balayan satrlar bulup sonra, bu satrlardan sonra:

    ScriptAlias /php/ "C:/PHP/"

    AddType application/x-httpd-php .php

    Action application/x-httpd-php "/php/php.exe"

    satrlarn yazn. Eer PHP dosyalarn atnz dizin C:/PHP/ deil ise, trnak

    iindeki C:/PHP/ yazl yere dosyalar atnz yolu yaznz (src ve dizin ad).

  • 8/6/2019 (Microsoft Word - docx

    32/52

    32

    Ekran Grnts 2: Notepad ile alm httpd.conf dosyas (PHP'yi CGI olarak

    tanmlama)

    6.4.3 Ortak AyarlarBu iki tanmlama yolunda da .php uzants dnda baka dosya uzantlarnn da PHP olarakyorumlanmasn istiyorsanz (rnein .php3, .phtml gibi), AddType application/x-httpd-php

    .php satrnn altna aadaki satrlar ekleyebilirsiniz:

    AddType application/x-httpd-php .php3

    AddType application/x-httpd-php .phtml

    Son olarak satrn bulup altndaki DirectoryIndex ile balayan satrn

    sonuna index.php yazarak httpd.conf dosyasn kaydedin. (.php dnda uzantlarda PHP olarak

    yorumlaryorsanz bunlar da index.php3, index.phtmlgibi bu satrn sonuna ekleyebilirsiniz).

    Uyar: Bu ilemler srasnda Apache Web Sunucusu alyor ise yaptnz dzenlemelerin aktif

    hale gelmesi iin sunucunuzu durdurup tekrar altrnz.

    Ekran Grnts 3: Notepad ile alm httpd.conf dosyas

    PhpMyAdmin program PHP dile ile yazlm, mysql veritabannda ki ilemlerimizi grsel

    ekilde yapabilmemizi salayan programdr.

  • 8/6/2019 (Microsoft Word - docx

    33/52

    33

    7

    PHPMYADMIN NE IE YARAR?Veritaban alabilirkullanc tanmlanabilir

    Tablolar oluturulabilir

    Tablolara veri ekleme, silme, dzenleme, optimize etme,

    Veritabanlarnn yedei alma ve yedei aabilme

    Txt dosyasndan SQL kodlarn okuyup altrma

    Tablolarda yeni alan ama, istediimiz alan silme

    Veritabannn optimize edilmesi

    Veritabann SQL sorgular gnderme

    Veritaban baka bir isimle oaltmak

    ve benzeri ilemler yaplabilir

    bu konular yaknda detayl bir ekilde inceleyeceiz

    Phpmyadmine girebilmek iin internet taraycsnda localhost yazp enter a basyoruz.

    Ok iaretli yeri tklayalm

    imdide ders veritaban oluturalm..

  • 8/6/2019 (Microsoft Word - docx

    34/52

    34

    bylece ders veritabann oluturduk

    Yukardaki grdnz mesaj sql komutu kullanlarak phpmyadminin ders veritaban

    olutruduunu gstermektedirbir de bu iin salamasn yapalm. bakalm gercekten bir

    veritaban oluturulmu mu?

  • 8/6/2019 (Microsoft Word - docx

    35/52

    35

    Evet ilemimiz demek ki doru olmu devam edelim.

    imdi veritabanmzda notlar diye bir tablo oluturalm

    Bu tablomuz no,ad,ortalama alanlarna sahip olsun

    Git dmesine basyoruz

    Yukarda gsterildii ekliyle kaydet dmesini tklyoruz

    no alan tablomuzda benzersiz alann olumas iin kullanld btn ilemlerimizi bu no

    alann baz alarak yapacaz auto_increment te her kaytta yeni ve bir artm numara almamz

    salyoronun yanndaki key ise tablomuzun indexlenmesini no alanna gre yapmak

    istediimizi belirtmek iin kullanyoruz

  • 8/6/2019 (Microsoft Word - docx

    36/52

    36

    bylece veritabanmzda notlar tablosu tanmlam olduk

    Yeni kayt nasl eklerim:

    Veritanmz seip yeni kayt ekleyeceimiz tablo seilip st taraftan ekle tklanr.

    Gzkmesi gereken sayfa:

  • 8/6/2019 (Microsoft Word - docx

    37/52

    37

    Burada no alan otomatik olduu iin bo braklmas gereken alandr.ad alna ortalamas girilen

    kiinin adn gireceiz.ortalama alanna ise ya elle yada yaptmz sayfadan ynlendirme

    eklinde girilen bilgi girilir.daha sonra sayfa altndaki git butonuna tklanr.

    Byle bi ekranla karlarz. Daha sonra st taraftaki butonlar kullanarak gzat kullanarak

    eklediimiz veriyi kontrol edebiliriz.

    Evet demek ki yaptmz ilem doru olmu kaydmz eklenmi.

    Eklediim kaytlar nasl dzenlerim:

    nceki dersimizde yeni kayt ekledik ve yanllkla birka kelime yanl girdik bunu dzenlemek

    istiyoruz.

    Yapmamz gereken ilem ok basit veritabanmzdan tablomuzu ayoruz.Gzat blmnden

    tablomuza ekli olan kaytlar gryoruz ve dzenlemek istediimizin kaytn dzenle komutuna

    tklyoruz.

    Birden fazla kayt dzenlemek istiyorsak;

  • 8/6/2019 (Microsoft Word - docx

    38/52

    38

    lemleri yaplr daha sonra gelen sayfadan. Eer bir taneyi dzenle yaptysak bir tane kayt

    gzkecektir. Fakat birden fazla kayd seip dzenle yaptysak seilen kaytlar karmza

    gelecektir.

    Burada kayt eklede yaptmz gibi dzenlemek istediimiz kaytn no,ad ve ortalama bilgilerini

    dzenleyebiliriz.Dzenleme yaptktan sonra sayfa altndaki git butonu tklanarak ilem sonu

    erdirilir. Bu ilemi yaptktan sonra sql kodlar karmza kacaktr.

  • 8/6/2019 (Microsoft Word - docx

    39/52

    39

    Buradaki ilemleri imdi gzat sayfasndan bakalm olmu mu?

    Evet yapm olduumuz ilem doru bi ekilde ilenmi.imdi Fazlalk kaytlar nasl sileriz.ona

    geelim.

    Eklenilen Kaytlarn Silinmesi :

    Eklediimiz kaytlar yanl oldu ve bunlar silmek istiyoruz.Dierlerine gre en basit olay bu.

    Yapmamz gereken eer tek birkayt silmek istiyorsak ;

  • 8/6/2019 (Microsoft Word - docx

    40/52

    40

    Tklanr ve karmza :

    Gelir ve buradan tamam tklanarak istediimiz kayt silmi oluruz.

    Birden fazla kayt silmek istiyorsak yapmamz gereken silmek istediimiz kaytlar seip;

    Tklanarak karmza tekrar onay penceresi alr.

    Bu ekranda evet tklayarak birden fazla kayt silmi oluyoruz.

    Veri taban yedeini almak veya baka bir yere tamak:

    Veritabann iki trl yedekleyebiliriz.

    1-) Veritaban dosyalarn bi dosyaya attktan sonra rar,zip veya upload ederek kar tarafa

    yollaya bilirsiniz.

    Bu dosyalar kar tarafa gndererek.

    2-) kinci yol ie dar aktar ekliyle olur arkadalar.

    Bu ilemi nasl yaparz hemen aklayalm bu ilem dar aktar ilemidir bunu yapabilmek iin

  • 8/6/2019 (Microsoft Word - docx

    41/52

    41

    sayfamzn st ksmnda bulunan dar aktar butonu seilir ve karmza bir ekran kar.Buradan

    Hangi klasre aktarlmasn istediimizi seeriz.

    Alt blmden dosya olarak kaydet dediimiz zaman otomatik olarak bunu bir metin belgesi

    ierisine sql kodlarmz kaydeder. Buda bize kolaylk salam olur.

    Burada bize gereken kodlar;

    CREATE TABLE `notlar` (

    `no` int(11) NOT NULL auto_increment,

    `ad` varchar(50) NOT NULL,

    `ortalama` tinyint(4) NOT NULL,

    PRIMARY KEY (`no`)

    )

    Bunlar yeterlidir.daha fazlasn istiyorsanz oradaki tm kodlar alp notepade koyup

    yollayabilirsiniz.

  • 8/6/2019 (Microsoft Word - docx

    42/52

    42

    Yedei alnm veritabann nasl geri ykleriz veya sql kodlarn

    dosyadan yklemek:

    1-) Veritaban dosyalarn alp C:\AppServ\MySQL\data\ ierisine yaptrmak

    2-) Sql kodlarn alp eri Aktar ilemi yapar. Bu ilemi nasl m yaparz.Dardan alm oldugumuz kodlar herhangi bir notepad sayfasna yaptrp Trke karaktersiz

    kaydedip. Aagdaki sayfaya geliyoruz.

    Gelen sayfadan gzat deyip kaydettiimiz dosyay aarak ve dosya karakter grubunu latin5

    seerek.alt ksmdaki git butonuna tklanr. Neden Latin5 derseniz Trke karakter sorunu

    yaamak istemiyorsak latin5 semeliyiz. Bylelikle kar taraftan alnan veritaban-tablo muzu

    hazrlam oluyoruz.

    SQL Komutlar

    lk olarak sql penceresini nasl aabiliriz onu anlatalm.2 yol gsterecem

    1-)phpmyadmin sayfamzn sol tarafndaki menlerden Sql seilerek.

    2-)2. bir yntem ise ilem yaptmz sayfann st tarafnda bulunan SQL linki ile

    aarakilemlerimizi yapabiliriz.

  • 8/6/2019 (Microsoft Word - docx

    43/52

    43

    Karmza kan ekranlar birinie benzer ekranlardr.Hatta aynsdr sonuta yaplan ilem

    ayns

    imdide temel gerekli olan sql komutlarn anlataym.Select

    Update

    Delete

    nsert

    Komutlar.

    Select Komutunun Kullanm: Var olan veritabanndaki tabloda istenilen veya tm

    alanlarn gsterilmesi iin kullanlan komuttur.

    * ifadesi btn alanlar temsil eder(tablodaki).

    SELECT no,ad from ders

    ekranda no ve ad alanlarn gsterir.

    Update Komutunun Kullanm: Girilen veriyi deitirmek iin kullanlr.

    Daha nceden yapm olduumuz veritabanndan ilemlere devam edelim.

    Ortalamas 100 olanlarn notunu 35 e drelim.

    update notlar set ortalama=35 where ortalama=100

  • 8/6/2019 (Microsoft Word - docx

    44/52

    44

    ilemi bize ortalamas 100 olann ortalamasn 35e drmemizi salayacaktr.

    lk kaydmzda Mustafa adl kaydmzn ortalamas 100d fakat imdi 35e dt salk olsun:)

    Delete Komutunun Kullanm:stenilen veya tm veritabanndaki girileri siler.Tmverileri nasl sileriz ilk nce onu syleyeyim.

    Delete * from notlar >> yaparsak bu kodlar veritabanmzn iindeki notlar tablosundaki tm

    verileri siler.

    imdi istediimiz kaytlar nasl sileriz onu anlataym.

    Ad Mustafa olan kayd silmek istiyorsak sql kodlarmz nasl olmal;

    delete from notlar where ad=mustafa

    Grdnz gibi Mustafa adl kaydmz silinmi oldu.

    imdide ortalamas 10 olan kayd silelim.

  • 8/6/2019 (Microsoft Word - docx

    45/52

    45

    delete from notlar where ortalama=10

    Komutlaryla ortalamas 10 olan kaydmz hatta varsa dierlerini de silmi oluyoruz silmi

    oluyoruz.

    Eer sadece o kiiyi silmek istiyorsanz yapmanz gereken;

    delete from notlar where ortalama=10 and no=3 yazmanz gereklidir.

    nsert Komutunun Kullanm: Kullanlan ara yzden veri tabanna ilk defa veri girii

    yapmak iin kullanlr.

    Sql komutlaryla yeni bir kayt girmek istiyorsanz gereken sql kodlar;

    insert into notlar values ( ,muhammet,75)

    >> burada tablomuzdaki sraya gre sralama yapmamz gereklidir. Bizim tablomuzda no,ad ve

    ortalama alanlar olduu iin bizde ona gre sralama yaptk.no alan otomatik alan olduu iinoray bo braktk 2.sradaki yere admz yazdk 3.sradaki yere ise ortalamay gireceiz.

    Bylelikle yeni bir kayt eklemi oluyoruz.

  • 8/6/2019 (Microsoft Word - docx

    46/52

    46

    8 Projenin kontrol web sitesiBu blmde projemin ikinci aamas olan web sitesinin grevleri ierii ve yapmay

    dndm uygulamalar hakknda bilgiler vereceim.

    Not : Sayfalarn kaynak kodlarn tezin ierisine koymamamn nedeni ok fazla yer tutaca ve sonradan

    uygulamak isteyenlerin yazmas zahmetli olacaktr. Sayfalar ve kodlar ekdeki CD ierisinde mevcut dur.

    8.1 Ana SayfaWeb sitesini daha hzl deneme yapmak iin internet yerine localhost da kurdum ve yol

    olarakhttp://localhost/proje/index.php ile siteme ulayorum.

    Genel olarak web sitesinden yapmak istediklerim sadece bir kartn kontrol zerine deil

    ok fazla saydaki kullancnn ok saydaki kartn kontroln ve takibin gerekletirebilecekleribir sistem olmasn istedim. Ve buna gre bir yap oluturdum. lk srm ve biraz ie yeni

    balamann verdii acemiliin olsa da eksiklerim var fakat genel hatlar ile alan bir sistem.

    8-1 Ana sayfa grnm ve zellikleri

  • 8/6/2019 (Microsoft Word - docx

    47/52

    47

    zelliklerini nceki blmlerde akladm gibi php dili kullanarak kodladm ve

    tasarmn css ile photoshop kullandm. Tasarm olarak ticari rnlere nazaran bait olabilir ama

    benim ilk amacm kullanlabilir olmasyd. Proje zerinden ilerideki almalarm da daha

    ilevsel ve grsel bir site tasarm da bulunmakta.

    Yukardaki ekran grntsnde grld gibi sitem 3 aamadan oluuyor

    1- ksm sitenin ana blm burada 2-3 numaral blmlerdeki menlerden gelen verilerin

    grnd ksm.

    2-Ksm ise sitenin ynetim blm burada kartlarn kontrol ve sitedeki yelerin kontrol

    salanyor.

    3- Bu blm ise sisteme bal olan kartlarn belirli gruplar altnda hzl eriimi iin dndm

    mesela ofis,ev, okul gibi binalarda olan kartlar kayt ederken kategorilere ayrp buradan bunlar

    gruplar halinde eriilmesini istedim.

    8.2 Kategoriler SayfasBu sayfaya yandaki

    ekildeki ok iaretinin

    grld ynetici

    blmndeki kategoriler

    alannda ulaabiliyoruz.

    Bu alan sadece sitenin

    yneticisine aktr.normal

    kullanclar buraya

    ulaamaz. Buradan

    sistemdeki kategorileri

    grp onlar zerinde ki

    deiikleri gerekletirebiliriz.

    8-2 Kategoriler sayfas zellikleri

  • 8/6/2019 (Microsoft Word - docx

    48/52

    48

    8.3 Kaytl Cihazlar Sayfas

    Bu alan benim en sevdiim blm Bu sayfadan sistemden bulunan tm cihazlar

    hakknda hzl bir ekilde bilgi alabilir ve onlarn ynetimini gerekletirebiliriz. Tablodan da

    grld gibi cihaz hakkndaki bilgiler ve onun en son gndermi olduu verileri izliyoruz

    rnek olarak bu ekran grntsn aldmda test001murat isimli cihazdan 31.05.2011 saat

    15:12:02 de alnan veriler rlelerin hepsi 1 (yani ak) durumda ve sensor 1 den 26.86C deer

    okunduunu gsteriyor. Son ksmdaki sil ve onay ver butonlar ise cihaz veri tabanndan

    silmemizi ve siteye ekli olan bir cihazn aktif yada deaktif olmasn salyor.

    ekil 8-3 Kaytl cihazlar sayfas

  • 8/6/2019 (Microsoft Word - docx

    49/52

    49

    8.4 Rle Konum Deitirme Sayfas

    Bu sayfadan sisitemde kaytl bulunan cihazlarn rlelerinin almalarn yadakapatlmalarn salyoruz.

    1- Ekranda konumunu deitirmek isteimiz cihazn isminin yanndaki kalem iaretini

    tklyoruz ve yani bir alan geliyor.(2 numaral pencere)

    2-Bu ekrandan ise seilen cihazn zerindeki rlerin konumlarn ayarlayp gncelle

    dediimizde ayarlar veri tabannda gncelleniyor.

    Cihazmzda saniyede bir sisteme balanp konumlarn kontrol ediyor ve yeni

    konumlar okuyup gerekli deiikleri gerekletiriyor. Sistem gerek zamanl almyor bunagerekte yok diye dnyorum nk cihazn sayfaya balanmas 2 saniye kadar bir zaman

    alyor ve sayfadaki verileri okuyup ilemeleri yapmas iin yeterli bir zaman olarak 3 saniye

    setim.

    ekil 8-4 Rle konum deitirme sayfas

  • 8/6/2019 (Microsoft Word - docx

    50/52

    50

    Sensorlar Sayfas

    Bu sayfamzda cihazlardan gelen verilerin ilem srasnn sondan baa dorusralamas var yani hangi cihaz ne zaman hangi verileri gnderdiini bu alandan takibiniyapabiliriz. (2. Ekran konumunda grnd gibi)

    Bu sayfann zerinde biraz daha almay dnyorum daha ilevsel bir formvar aklmda sadece seili olan bir cihaz ve istene gnler arsndaki deerleri getiren ve bunlar birgrafik ile daha anlalr bir halde grntleyen bir sayfa almam devam ediyor fakat bitmediiiin eski halini koydum.

    ekil 8-5 Sensrlerden gelen verilerin izlenmesi

  • 8/6/2019 (Microsoft Word - docx

    51/52

    51

  • 8/6/2019 (Microsoft Word - docx

    52/52

    \

    52