[LinuxFocus-icon]
Ev  |  Eri�imd�zeni  |  ��indekiler  |  Arama

Duyumlar | Belgelikler | Ba�lant�lar | LF Nedir
Bu makalenin farkl� dillerde bulundu�u adresler: English  Castellano  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Russian  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
taraf�ndan Guido Socher (homepage)

Yazar hakk�nda:

Guido, L�nux'u sadece i�letim sistemlerinin nas�l �al��t���n� ��renmenin ilgin� oldu�u i�in de�il, ayn� zamanda onu tasarlayan ki�iler y�z�nden sevmektedir.



T�rk�e'ye �eviri:
Erdal MUTLU <erdal(at)linuxfocus.org>

��erik:

 

Linux sunucunuz i�in LCD denetim panali

[Illustration]

�zet:

Bu yaz�da Hitachi HD44780 LCD paneli ve Atmel firmas�n�n AT90S4433 AVR 8-Bit RISC Mikroi�lemcisini kullanarak bir LCD denetim paneli tasar�m� yapaca��z. �ki par�a da �ok kullan�lan ve pahal� olmayan par�alard�r. Denetim paneli �zerinde kullan�c�dan giri� yapmas�n� sa�layan iki adet tu� ve bilgisayar� denetleyen bir mekanizmas� vard�r. IP adres, a�maskes (netmask), ge�i�yolu (gateway) de�i�tirme, bilgisayar� kapatma, istatistikleri okuma, k�saca yapmak istedi�iniz her �eyi yapabilirsiniz, ��nk� mant�k, perl program� ile olu�turulmu�tur ve kolayca de�i�tirilebilir. Panel bilgisayar�n�za RS232 seri kablosu ile ba�lanm��t�r.

Bu yaz� i�in en az�ndan Linux ortam�nda �al��an AVR yaz�l�m geli�tirme ortam�n� y�klemeniz gerekmektedir. Nas�l yap�laca��n� AVR Mikroi�lemcisini GCC ile programlamak yaz�s�ndan ��renebilirsiniz.

 

Giri�

Bu ayg�t basit olarak daha �nce kullan�lan donan�mlar�n fonksiyonelli�ini birle�tirmektedir: Ancak, yeni tasar�m�m�z bunun �ok �tesine gitmektedir. Kullan�c� etkile�imi i�in tu�lar eklemektedir ve sunucunun donan�m�n� denetleyen mekanizma i�ermektedir. Bunlara ek olarak donan�m bir analog giri� hatt� i�ermektedir. Bunu hernekadr burada kullanm�yorsak da, s�zgelimi s�cakl�k �l�en bir alg�lay�c� ba�layabilirsiniz.

Bunu tasarlayabilmek i�in baz� hobisel elektronik yeteneklere sahip olman�z gerekmektedir. Kullan�lan donan�mlar pahal� de�ildir ve yakla��k olarak 40 Euro kadar tutmaktad�r.

Bu paneli yapmam�z�n arkas�nda yatan d���nce, sunucuyu klavye ve ekran kullanmadan y�netebilmektir. Linux �ok sa�lam bir i�letim sistemidir ve kolayca uzaktan y�netilebilinir. Ancak, ilk baplant� yap�l�rken IP adresi, a�maskesi ve ge�i�kap�s� gibi baz� ayarlarlar�n yap�lmas� gerekmektedir. Bu panel, bu ayralar�n yap�lmas�na olanak tan�maktad�r. Sunucu odas�nda iken, sunucunuzu kapatman�za imkan vermektedir.

Panelin tasar�m� olduk�a geneldir. T�m "sunucuya �zel" k�s�mlar perl program� ile yaz�lm��t�r. T�m donan�m, tu�lar�n durumu, paneldeki metin, LED'ler ..., ASCII komutlar ile denetlenmektedir. Dolay�s�yla bu tasar�m� kullanarak kendi mp3 �alar�n�z� yapabilir veya tost makinan�z� denetleyebilirsiniz, yada akl�n�za ne gelirse.  

Nelere gereksiniminiz var

Gerekli olan par�alar �unlard�r:

1 x Atmel At90S4433 Mikroi�lemcisi
1 x 28pin 7.25 mm IC socket
1 x 16pin IC socket
1 x MAX232
1 x k���k 5V r�le
1 x 4MHz kristal
2 x LEDs (ye�il ve k�rm�z�)
1 x BC547 NPN transist�r
1 x BC557 PNP transist�r
4 x 1uF kapasit�r (common or biased)
2 x 27pF seramik kapasit�r
1 x 10nF kapasit�r
1 x 100nF kapasit�r
3 x diren� 4k7
2 x diren� 2k2
1 x diren� 10K
1 x diren� 3k3
2 x diren� 100 Ohm
3 x diren� 470 Ohm
3 x diren� 1k
1 x diren� 220 Ohm
1 x 4K7 potansiyometre (m�mk�n oldu�u kadar k���k)
1 x Z-diyot 4.3V
2 x k���k dokunmatik tu�lar
1 x k���k standart diyot(e.g 1N4148, yada herhangi ucuz diyot)
1 x 2 sat�r 20 karakter LCD panel, HD44780 uyumlu aray�z.

Benim b�t�n g�rd���m LCD panelleri 14 veya 16 (bacakl�) i�neli idi ve HD44780 uyumlud idiler. �sterseniz 3 veya 4 sat�r paneller de kullanabilirsiniz, ancak o zaman yaz�l�m� biraz de�i�tirmeniz gerekecektir.

Bunlara ek olarak RS232, kablolar ve g�� kayna��na gereksiniminiz olacakt�r. E�er, iki sat�r paneliniz varsa, ince al�miniyum metal kapa�a yerle�tirebilir ve b�ylece sunucunuzun 5.25" lik g�z�ne yerle�tirebilirsiniz.  

�izimler ve bask� devre

Bask� devre tasar�m� ve �emalar i�in Linux i�in olan eagle yaz�l�m�n� kulland�m. M�thi� bir yaz�l�md�r, ancak etkin bir �ekilde kullanabilmek i�in biraz deneyime gereksiniminiz olacakt�r. Ki�isel kullan�mlar i�in olan bedelsiz s�r�m�n� cadsoftusa.com adresinde elde edebilirsiniz.

�izim (daha b�y�k resim i�in �zerine t�klay�n�z):
[Schematic]

Bask� devre (daha b�y�k resim i�in �zerine t�klay�n�z):
[board]


Yaz�c�dan daha kolay basmak i�in bask� devrenin beyaz arka plan renklisi: beyaz arkaplanl� bask� devre (Not: Bu bask� devre olu�turmak i�in gerekli olan dosya de�ildir.)

S�k��t�rlm�� eagle dosyalar� (Not: Baz� ak�ll� itenernet gezginleri dosyalar� �ekerken a�maktad�r.)  

Devre

Yukar�daki devreyi k�saca a��klayaca��m. AT90S4433 3 adet ba�lant� noktas� (port) vard�r : PB, PC ve PD. PC analog veya digital giri� ba�lant�s� olarak kullan�labilir. T�m ba�lant� noktalar� digital veya analog giri� ve ��k�� olarak kullan�labilir. Bu, yaz�l�m taraf�ndan DDR (Data direction register) arac�l��� ile denetlenmektedir. Biz 23. bacak (pin) hari� t�m�n� kullanaca��z (0 veya 5 V). Max232 gerilim seviye d�n��t�r�c�s�d�r. RS232, +-10V kullan�lmaktad�r ve Max232 bunu 0-5V'a �evirmektedir. 1. bacakta (reset pin) AT90S4433'nin Brownout denilen bir �ey vard�r. Bu devre sayesinde, elektrik ile ilgili sorunlar ya�anmas� durumunda, M�B'nin (CPU, Merkezi ��lem Birimi) yanl�� komutlar �al��t�rmas�n� engellemektedir� B�ylece, elektrik sorunlar�ndan dolay� olu�abilecek, genel birtak�m sorunlar�n ya�anmas� engellenmi� olur. Bu elektrik sorunlar�, elektrik verildi�inde veya kesildi�inde, bir iki mili saniye s�resinde olu�abilir. Temel olarak �stlendi�i i�lev, mikroi�lemcinin a��lmas�n� (ba�lat�lmas�n�) sa�lamaktad�r.

Baz�lar�n�z, itransformat�re paralel olarak neden bir diyot bulundu�unu ve sanki hi�bir g�revi yokmu� gibi g�z�kt���n� merak edecektir. Bu �ok �nemli bir diyottur! Relay'i kapatt���n�zda, transformat�r taraf�ndan �ok y�ksek bir gerilim olu�turulacakt�r ve mikroi�lemci bundan zarar g�rebilir. Bu gerilimin g�� kayna��n �rett��i gerilim ile ters kutupludur. Diyot �ok ucuz ve k���k olabilir, herhangi ba�ka bir �zelli�i yoktur. Ancak, olmas� �ok �nemlidir.

�ki adet tu�, �emada "DIGITAL IN PUSH BUTTON" ile g�sterilen yere ba�lanmas� gerekmektedir. Tu�lara bas�ld���nda, PD3 ve PD6'y� topraklama ile olan ba�lant�y� sa�lanmaktad�r.  

Bask� devre nas�l yap�l�r

Bask� devreyi olu�turabilmek i�in �ncelikle postscript dosyas�n� (linuxlcdpanel.ps.gz) saydam kag�da basmal�s�n�z. Mimarlar i�in olan ma�zalarda Regulus taraf�ndan �retilen ve Sinolit ad� verilen ve genellikle offset bask� i�in kullan�lan bir ka��t bulacaks�n�z. Buna alternatif olarak 60gr'l�k ka��t + saydam sprey ( pausklar 21 Kontakt Chemie'den) d�r. Sinolit kullanman�n avataj�, Lazer yaz�c�lar�n toneri ka��da iyi yap��maktad�r ve iyi kontrast yaratmaktad�r.
E�er, Postscript yaz�c�n�z yoksa diye, Postscript dosyas�n� PDF dosyas�na �evirdim. Ancak, kalitesi daha k�t�d�r.
Bak�r kapl� plakalar�n ��z�nme s�resi kullan�lan ���k kayna��na ba�l�d�r. Ev ortam�ndaki ���klar kullan�ld���nda 1 ila 2 dakika s�rmektedir. Normalde d�� ortam�n �����n� da kullanabilirsiniz, ancak g�ne�ten gelen ���nlar�n do�ruda plaka �zerine gelmesini �nleyiniz, ��nk� g�ne� ����� �ok fazla gelmektedir. Ana plakay� olu�turmadan �nce ufak plakac�klar ile bir iki deneme yapabilirsiniz.
[before etching]
Bask� devre plakas�n�n asitle i�lenmeden �nceki hali


Plakay� daha sonra NaOH (Natriumhydroxid) ortam�nda birka� dakika tutman�z gerekmektedir. Olu�an bask� devreyi bu i�lemden sonra �ok dikkatli bir �ekilde denetlemeniz gerekmektedir. Ben genellikle Edding 780 siyah kalem kullanarak yollar� biraz daha kal�nla�t�rmaktay�m. Bunu yapmam�n nedeni, Eagle ile olu�turulan yollar�n hobi kullan�m i�in �ok ince olmaktad�r.
[after etching]
Delikler delinmeden �nceki bask� devre


Not: �reticiler i�in r�le adland�r�lmas� ve bacak yap�s� hakk�nda bir anla�maya varmalar� bazen imkans�z gibi. Ben Matsushita firmas�n�n �retti�i 5V'luk k���k bir r�le kulland�m. E�er, sizin r�lenin bacak yap�s� bundan farkl� ise, bask� devrenizi buna g�re de�i�tirmeniz gerekecektir.

Haz�r oldu�unuzda bask� devrenizi FeCl3 (Ferric Cloride) i�inde olu�turabilirsiniz. FeCl3 oda s�cakl���nda gayet iyi sonu�lar vermektedir. En iyi sonu�lar�, bask� devrenizi dikey tuttu�unuz durumda elde edebilirsiniz. Bak�r iyonlar� demir �yonlar�nda daha a��rd�r ve k���k yass� bir t�b� FeCl3 ile doldurursan�z, o zaman bak�r iyonlar devrenin oldu�u yerde birikeceklerdir.

Devre haz�r oldu�u zaman Edding boyas�n� turpentine ile temizleyiniz.  

Mikroi�lemci i�in yaz�l�m

Mikroi�lemci i�in olan yaz�l�m a�a��daki dosylara g�re d�zenlenmi�tir: Yaz�l�m� daha iyi anlayabilmek i�in Mikroi�lemci ile birlikte gelen belgeleri okuman�z� tavsiye ederim. Belgeleri www.atmel.com'dan veya yaz�n�n referanslar k�sm�ndan elde edebilirsiniz.
Ancak, kullanabilmek i�in yaz�l�m� anlaman�z gerekmektedir. Yapman�z gerek �ey, linuxlcdpanel-0.7.tar.gz dosyas�n� indirme sayfas�ndan) elde edip, a�a��daki komutlar� �al��t�rman�z yeterlidir:

make
make load

Hatta �nceden derlenmi� yaz�l�m� dahi kullanabilirsiniz.
make loadprebuild

�ok kolay. Mikroi�lemciyi nas�l programlayabilece�inizi AVR Mikroi�lemcisini GCC ile programlak yaz�s�ndan ��renebilirsiniz.  

LCD panelin denenmesi

LCD paneli sunucunuz 5V'luk i� g�� kayna��ndan beslenmek �zere tasarlanm��t�r (k�rm�z� kablo=5V, siyah kablo=toprak). Ancak, ilk ba�ta do�rudan bilgisayara ba�lamamal�s�n�z. Ba�lant� s�ras�nda ve devreye ba�lant� s�ras�nd ufak bir hata yapm�� olabilirsiniz. Bilgisayar�n g��kayna�� �ok g��l�d�r ve hem bilgisayar�n�z hemde devreniz �ok k�sa bir s�rede dumanlar alt�nda kalabilir. �lk denemeyi, elektronik olarak d�zenlenmekte ve g�c� s�n�rl� olan bir d�� g��kayna�� ile deneyiniz! Daha sonra yaz�l�m� EEPROM'a yukar�da anlat�ld��� gibi y�kleyiniz. Bundan sonra LCD �zerinde, kaymakta olan "linuxfosucus.org" yaz�s�n� g�receksiniz. �imdi RS232 kablosunu ba�lay�n�z:

MAX232 14. baca�� CTS (DB-9 8. bacak)
MAX232 7. baca�� RXD (DB-9 2. bacak)
MAX232 13. baca�� TXD (DB-9 3. bacak)
Ayr�ca, DTR, DSR ve CD kendi aralar�nda ba�lamal�s�n�z (DB-9 4. bacak, 6. ve 1. bacaklar)

Bu, yukar�da verilen devre �iziminde g�zel bir �ekilde g�r�lmektedir.

[talking to the LCD panel over the serial line] Seri hatt� kullanabilmek i�in �nceden ayarlamak gerekmektedir. linuxlcdpanel-0.7.tar.gz kaynak kod ar�ivi ttydevinit ad�nda bir program i�ermektedir. Bu program tam bu ayarlama i�lemi i�in yaz�lm��t�r. Diyelim ki, paneli COM1 (ttyS1) ba�lad���n�z� varsayal�m, o zaman a�a��daki komutu �al��t�rman�z gerekmektir:

./ttydevinit /dev/ttyS1

Art�k seri hatt�n�z 9600 h�z�na ayarlanm�� durumda ve siz LCD paneliniz ile "konu�maya" ba�layabilirsiniz. �ki adet xterm penceresi a��n�z. Birinde "cat /dev/ttyS1" komutunu, di�erinde "cat > /dev/ttyS1" komutunu �al��t�r�n�z. �imdi l=11 (LED 1 a�) veya l=10 (LED 1 kapat) komutlar�n� verebilirsiniz. �lk xterm penceresinde LCD panelinin, verdi�imiz komutlar� "ok" ile onaylad���n� g�receksiniz.
Var olan t�m komutlar README.commands dosyas�ndan verilmi�tir.

Kaynak kod ar�ivinde ttytest.pl ad�nda bir perl program� vard�r. Bu program�n yapt��� her�ey, belli aral�klar ile k�rm�z� LED'� a��p kapatmakd�r. Program LCD panelinin kullan�m� ��retme ama�l� yaz�lm��t�r. Programa bakarsan�z, biraz perl bilmekle kendi programlar�n�za temel olarak kullanabilirsiniz.  

Watchdog'un ba�lanmas�

Watchdog benimsenmi� de�er olarak kapal�d�r. A�mak i�in w=1 komutunu kullanabilirsiniz ve s�rea��m�n� s=x, buradaki x 1 ile 255 aras�nda bir de�erdir. S�zgelimi s=10� watchdog'un s�rea��m� zaman�n�n� 10*16sn=160sn olarak belirleyecektir. S�r�c� program s�rea��m�n� periyodik olarak ayarlamas� gerekecektir ki watchdog �al��acakt�r. E�er, sunucunuz t�kan�rsa, s�r�c� program�n�z s�rea��m�n� ayarlamayackt�r ve watchdog �al��acakt�r. Biliyorum Linux sunucular� hemen hemen hi� t�kanmamaktad�r, ancak e�er t�kan�rsa, onu yeniden ba�latacak hi� kimse olmayacakt�r, ��nk� sunucu son iki y�l boyunca hi� sorunsuz �al��m��t�r ve kimse yerini bilmemektedir.

Watchdog bir kere �al��mak �zere tasarlanma��t�r, ��nk� makinay� yeniden ba�latt���nda, b�y�k bir olas�l�kla sistem denetleme s�reci �al��acakt�r ve bu arada watchdog tekrar sistemi yeniden ba�lat�lmas�n� istemeyiz. Sunucu �al��t��� zaman s�r�c� program� onu tekrar aktif hale getirmesi gerekecektir.

Watchdog'u fiziksel olarak ba�lamak i�in, sunucunuzun reset (yeniden ayarlama veya ba�latma) tu�una giden iki kabloyu bulman�z gerekmektedir. Yeniden ba�latma tu�una paralel olarak watchdog'un r�lesine ba�lamak gerekmektedir.  

Watchdog nas�l kullan�l�r

Watchdog, sistemin herzaman i�in programlar� �al��t�raca��na garanti getirmektedir. Ancak, sanaldoku veya veritaban� sunucusunun d�zg�n �al��t���n� ve cevap verdi�ini garanti etmemektedir. Bunun i�in crontab i�in �zel programlar yazman�z veya ba�ka programlar kullanman�z gerekecektir. Crontab'�n �al��t���na ve di�er programlar� �al��t�rd���na olduk�a emin olabilirsiniz.

Her 15 dakikada bir �al��an ve sanaldoku sunucunuzdan bir dosya indiren bir kabup program� yazabilirsiniz. Ancak, sanaldoku sunucunuzun olduk�a yo�un olabilece�i ve baz� isteklere cevap veremeyece�ini hesaba katman�z gerekecektir ve s�zgelimi en son 10 iste�e cevap vermez ise, sanaldoku sunucunuzu veya bilgisayar�n�z� yeniden (watchdog arac�l� ile de�il, yani reset tu�unu kullanmadan) ba�latabilirisiniz.

Sunucunuzda �al��an uygulamalar�n yan�s�ra, disk kullan�m�n� da denetlemelisiniz. S�zgelimi, a�a��daki komut, bilgisayar�n�zdaki herhangibir b�lmenin %80 veya daha fazla dolu olmas� durumda bir�eyler geri g�nderecektir:

df | egrep ' (8.%|9.%|100%) '

Bu da tabii ki, cron i�i olarak periyodik denetlemek amac�yla kullan�labilir.  

Sunucudaki programlar

LCD panelimizin hemen hemen t�m mant��� llp.pl ad� verilen perl program� ile olu�turulmu�tur. Bu program� /usr/sbin/ dizinine kopyalay�n�z. Daha sonra ttydevinit dosyas�n� /usr/bin dizinine ve kaynak kod dizini i�indeki etc dizininde yer alan ifconfig_llp.txt dosyas�n� da /etc dizinine kopyalay�n�z. �imdi, ifconfig_llp.txt dosyas�n� adresleri gereksiniminize g�re de�i�tiriniz:

NETMASK=255.255.255.0
IPADDR=10.0.0.4
GATEWAY=10.0.0.2

�imdi /etc/rc.d/init.d/network dosyas�n�n bir yede�iniz al�n�z ve kaynak kod dizininde yer alan etc/network dosyas�n� buraya kopyalay�n�z. Bu program sadece RedHat ve Mandrake i�in ge�erlidir. etc/network_all_distributions dosyas� daha basit ve genel olarak t�m Linux da��t�mlar� ile �al��acakt�r, ancak init-rc dosyalar�n�z�n yerini belirtmeniz gerekecektir. Bunlar da��t�mdan da��t�ma farkl�l�k g�stermektedir.

E�er, COM2 kullanm�yorsan�z, /etc/rc.d/init.d/network dosyas�nda yer alan a�a��daki sat�r�

/usr/sbin/llp.pl /dev/ttyS1&

gibi de�i�tiriniz.

A�a��daki komutu �al��t�rarak

/etc/rc.d/init.d/network start

LCD panelinizi �al���rken g�rebilirisniz. Not: IP adresleri ile istedi�iniz gibi oynayabilirsiniz, ��nk� ancak makina yeniden ba�lad���nda, yapt���n�z de�i�ikler devreye girmektedir. Dolay�s�yla, yapt���n�z de�i�ikleri makinay� kapatmadan �nce eski haline getirmelisiniz veya /etc/ifconfig_llp.txt dosyas�n� de�i�itirebilirsiniz.  

�etele dosyalar�

llp.pl dosyas� �etele bilgilerini /var/log/llp.log dosyas�na yazmaktad�r. Bu �etele dosyas� �ok yava� bir �ekilde dolacakt�r. Dolay�s�yla otomatik olarak dosyay� d�nd�rmek gerekmeyecektir. E�er, d�nd�rmek isterseniz logrotate gibi bir programdan yararlanabilirsiniz. D�nd�rd�kten sonra uygulanmas� gereken bir komut yoktur. Logrotate'in yap�land�r�m dosyas�na a�a��daki sat�rlar� ekleyebilirsiniz:

/var/log/llp.log {
nocompress
monthly
}

�etele dosyas�, sistem yeniden ba�lat�ld���nda, IP adres (IP, GW ge�i� kap�s�, a� maskesi) de�i�ikli�inde veya watchdog taraf�ndan yeniden ba�lat�ld��nda kay�tlar i�erecektir. Do�al olarak, watchdog s�rea��mlar�n� �etele dosyas�na yazmas� m�mk�n de�ildir, ��nk� sistem t�kanm��t�r, ancak yenbiden ba�lat�ld���nda �etele dosyas�na kay�t edilecektir.  

Paneli kullan�rken

A�a��da, LCD panelinin bir ka� ekran g�r�nt�s� verilmi�tir. Bunalr panel taraf�ndan sa�lanan t�m hizmetler de�ildir. Bundan fazlas� vard�r ve siz kendiniz de eklemeler yapabilirsiniz.

Ana ekran. Bir isim (bu durumda linuxfocus), y�k durumu ile toplan �al��ma s�resini g�stermektedir.
[main]

IP yap�land�rma men�s�.
[IP configuration menu]

Su anda de�i�tirilmekte olan IP adresi g�r�nt� �rne�i.
[change IP]

Ge�i� kap�s� (benimsenmi� yol tan�m�) nas�l de�i�itirildi�inin �rne�i.
[GW]  

Sonu�

[the final panel] Bu LCD panelini olu�turmak hobi olarak elektronik ile u�ra�m�� olmak gerekmektedir. Ancak, �ok fazla kar���k bir �ey de�ildir. Bizim LCD panel, benim g�rd���m t�m denetim panellerinden daha fazla fonksiyonellik sa�lamaktad�r ve hem geneldir hemde olduk�a ucuzdur.

�yi denemel :-)
 

Referanslar

 

Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz

Her yaz� kendi g�r�� bildirim sayfas�na sahiptir. Bu sayfaya yorumlar�n�z� yazabilir ve di�er okuyucular�n yorumlar�na bakabilirsiniz.
 talkback page 

G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Guido Socher, FDL
LinuxFocus.org

Buray� klikleyerek hatalar� rapor edebilir ya da yorumlar�n�z� LinuxFocus'a g�nderebilirsiniz
�eviri bilgisi:
en --> -- : Guido Socher (homepage)
en --> tr: Erdal MUTLU <erdal(at)linuxfocus.org>

2002-06-12, generated by lfparser version 2.27