(Microsoft Word - docx
-
Upload
murat-kolgak -
Category
Documents
-
view
251 -
download
0
Transcript of (Microsoft Word - docx
-
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