| 
 | 
|  | 
| 
 | 
| Bu makalenin farklı dillerde bulunduğu adresler: English Castellano Deutsch Francais Turkce Polish | 
|   Stefan Blechschmidt <sb/at/sbsbavaria.de> Yazar hakkında: Eğitimli bir elektrik teknisyeni olarak 1990 yılında kendimi bir bilgisayar destekli tasarım ve derleyici programın karşısında bir switch ve bir kontrol merkezi geliştirirken buldum. Açıkçası, o zamanlar bilinmeyen bir virüs tarafından etkilenmiştim ve bunda bir sorun yoktu. Türkçe'ye çeviri: Tuncay Mağden <magden/at/be.itu.edu.tr> İçerik: | 
| Linux ile sıcaklık izleme  Özet: 
Özet: Linux sunucuları görevlerini güvenilir bir şekilde yerine
getiriyor ve özel ilgiye gereksinim duymadan çalışıyor, çalışıyor
ve çalışıyorlar. Peki ya küçük penguen çok ısınırsa? Geçen yaz
bize gösterdi ki küçük arkadaşımızın bir sıcaklık gösterme sistemine
gereksinimi var. Bu makale böyle bir sistemin küçük bir çaba ile
10 Euro'ya nasıl oluşturulacağını anlatacaktır.
 | 
Brian C.Lane, bir DALLAS Semiconductor ürünü olan DS1820 sıcaklık algılayıcısı için bir program yazmıştı. Bu iki bileşen ve diğer bir takım parçaların yardımıyla bir sıcaklık gösterme sistemi oluşturmak zor değildir.
Not:
    Brian C.Lane, kendi internet sayfasını yeniden düzenlemiş ve benim
	kullanmış olduğum programdan vazgeçmiştir. Bu yüzden programı bu
	bağlantıdan indirebilirsiniz:
    digitemp-1.3.tar.gz
 Brian C. Lane' in şu anda kullandığı sürüm
 digitemp-3.2.0.tar.gz `i kullanmak isteyenler programı bu bağlantıdan indirebilirler. http://www.digitemp.com/software.shtml
    .
 
           
    Algılayıcı aslen Maxim/Dallas Semiconductor ile
	birlemiş olan DALLAS Semiconductor tarafından üretilmiştir.
	Veri özellikleri bakımından algılayıcı -55°C 'den 125°C' ye
	kadar ölçüm yapabilir. Ölçüm verisi 9 bit genişliğinde bir
	sayısal sinyal olarak üretilir. Bunun yanında her algılayıcı
	belirli sayıda algılayıcı arabirimlemeye (bus) izin veren 64
	bitlik bir ID numarasına sahiptir. 300m uzunluğunda bir bus
	ile üzerinde bulunan 100 algılayıcıdan yararlanmak mümkündür.
    Burada gösterilen devre 60m'lik bir bus üzerindeki 10 algılayıcı
	ile çalışacaktır. Ben şu anda 12m'lik bir bus üzerindeki 4
	algılayıcıyı kullanıyorum.
Algılayıcı ile ilgili ayrıntılı bilgiyi burada bulabilirsiniz. Spec Sheet.
Eklemek istediğim diğer bir şey ise burada gösterilen devre sadece 75°C' ye kadar ölçüm yapabilir ki bu da bizim uygulamamız için yeterlidir.
Algılayıcıyı seri arabirime bağlayabilmek için bir takım ek bileşenlere gerek vardır. Bu ek bileşenler elektronik parçalar satan perakendecilerde, internette yada -hatta daha iyisi - köşedeki elektronikçi dükkanlarında bulunabilir.
| Adet | Parça | Tip | İkame Tip | 
|---|---|---|---|
| 1 | Resistor | 1,5 k Ohm | -------- | 
| 2 | Schottky Diode | 1N5818 | BAT 43 | 
| 1 | Zener Diode | 1N5228 | ZPY 3,9V | 
| 1 | Zener Diode | 1N5234 | ZPY 6,2V | 
| 1 | Sensor | DS18S20 | -------- | 
| 1 | Socket, Serial | RS232C/9 | -------- | 
| 1 | Connector Shell | SUB-D/9 | -------- | 
| 1 | Breadboard | Laminated Paper | -------- | 
Arabirim devresi çok basit olduğu için birleştirme işlemini breadboard üzerinde yapmaya karar verdim. Lehim işçiliğim için üzgünüm :-).
    
    
     
           
Biraz beceri ile parçalar seri arabirimin prizine bağlanabilir.
Not:
    LinuxNetMag
    sayfasında digitemp ile ilgili bir makale ve 75°C üstü sıcaklıkları
	ölçmek için yapılabilecek bir devreyi anlatan bir forum da bulabiliriz.
	Bahsi geçen devreyi henüz deneyemedim.
Arabirim devremiz için algılayıcımızın iki kontağı yeterlidir. VDD bağlantısı kaldırılabilir. Bense makasla kesip attım :-).
 
    
Arabirim kart devresi, algılayıcı ve seri arabirim tablosu.
| Açıklama | DB-25 | DB-9 | Algılayıcı | 
| DTR | 20 | 4 | Data (PIN 2) | 
| RXD | 3 | 2 | GND (PIN 1) | 
| TXD | 2 | 3 | |
| GND | 1 and 7 | 5 | 
Yazılıma tar arşivi olarak ulaşılabilir ve şu komutla
tar -xvzf digitemp-1.3.tar.gzbulunulan dizine yüklenebilir.
Yeni yüklenen
    digitemp1-3 dizininde kaynak kodu,
	bilgi belgesi, bazı Perl betikleri ve oldukları gibi kullanılabilen
    digitemp ikilitaban dosyaları bulunur.
Eğer digitemp parametresiz çağırılırsa karşımıza
	parametrelerin anlatıldığı genel bir bakış çıkar.
DigiTemp v1.3 Copyright 1997-99 by Nexus Computing
Usage: digitemp -s<device> [-i -d -l -r -v -t -p -a]
                -i                            .digitemprc dosyasını başlangıç durumuna getirir
                -s/dev/ttyS0                  Seri portu belirler
                -l/var/log/temperature        Çıktıyı logfile'a gönderir
                -f5                           Fail delay in S***burayı çeviremedim:(
                -r500                         Geçikmeyi mS cinsinden okur
                -v                            Gereksiz sözlerle dolu çıktı
                -t0                           # numaralı algılayıcıyı okur
                -a                            Bütün algılayıcıları okur
                -d5                           Örneklemeler arasındaki gecikme (sn.)
                -n50                          Tekrar sayısı
                -o2                           Logfile için çıktı biçimi
                -o"çıktı biçim stringi"       Aşağıdaki açıklamaya bakınız
Logfile biçimleri:  1 = Her algılayıcı için bir satır, zaman, C, F (hazır bulunan)
                    2 = Her örnek için bir satır, geçen zaman, C cinsinde sıcaklık
                    3 = 2.'nin aynısı sadece sıcaklık F cinsinden
        #2 ve #3'ten alınan veriler bir spreadsheet'te yada başka bir grafikleme
		 yazılımında işlenebilecek şekilde tablarla ayrılmıştır.
        Biçim stringi strftime işareti ile birlikte digitemp için 3 özel işaret
		 daha kullanır - %s algılayıcı numarası, %C santigrad için, %F fahrenheit
		 için. İşaretin durumu önemlidir! Hazır bulunan biçim stringi şu
		 şekildedir: "%b %d %H:%M:%S Algılayıcı %s C: %.2C F: %.2F" ve şu çıktıyı
		 verir: Mayıs 24 21:25:43 Algılayıcı 0 C: 23.66 F: 74.59
    'Yardım' dosyasında söylendiği gibi bağlantısı yapılan algılayıcıların başlangıç durumuna getirilmesi gerekmektedir. Bunun için devremizin bağlı olduğu arabirimi ve başlangıç durum parametresini belirlemeliyiz.
Aşağıda gözüken komut
digitemp -i -s/dev/ttyS0elimizdeki durumda arabirim devresinin birinci seri arabirime olan bağlantısının başarıyla sonuçlandığını göstermektedir.
Yazılım algılayıcıyı tanıdığını şu şekilde bir mesajla belirtir:
DigiTemp v1.3 Copyright 1997-99 by Nexus Computing ROM #0 : 1032724700080086 ROM #1 : 1092214400080089İki algılayıcının bulunmasının yanında algılayıcı, arabirim ve çıktı biçimi verilerini içeren
.digitemprc
	dosyası da içinde bulunduğumuz dizinde oluşturulmuştur.
    Artık ./digitemp -a komutu ile algılayıcıdan
	alınan çıktı verilerini okuyabiliriz.
    ./ karakterine lütfen dikkat edin, halen arama
	yoluna dahil olmayan bir dizin içerisindeyiz.
Ölçüm Çıktıları
    
DigiTemp v1.3 Copyright 1997-99 by Nexus Computing Sep 24 21:53:35 Sensor 0 C: 37.94 F: 100.29 Sep 24 21:53:38 Sensor 1 C: 10.62 F: 51.129
Programımızı sisteme dahil etmek için birkaç ayarlama yapmak zorundayız.
Öncelikle
    digitemp gibi binaryleri, programı yol belirtmeden çalıştırabilmek
	için bir dizine kopyalamalıyız. Ben bu işlem için /usr/local/bin/
	dizinini seçtim. Bu hususta emin olamayanlar için komut yolları echo
    $PATH şeklinde bulunabilir. Bunun yanında, başlangıç durumuna
	getirme verisi ve .digitemprc dosyası ölçüm işlemini yapacak olan
	kullanıcının ana dizinine kopyalanmalıdır. Çıktı verisinin konsola değil de bir
	dosyaya kaydedilmesi için -l[PATH/FILE NAME] switchi eklenmelidir.
Şimdi ölçümlerimizi otomatik bir şekilde yaptırmamız gerekmekte, crontab -u [USER]
    -e komutu ile bunu her kullanıcı için geçerli duruma getirebiliriz.
0-59/15 * * * * /usr/local/bin/digitemp -a -l/var/log/digitemp.loggirdisi digitemp'i her 15 dakikada bir ölçüm yaptırarak çıktıların
/var/log/digitemp.log dosyasına yazılmasını sağlar.
    tail /var/log/digitemp.log komutu ile kaydı alınmış
	ölçümlerin son satırlarını okuyabiliriz. Eğer
    /var/log/digitemp.log dosyası oluşturulmamışsa, lütfen
	dosya erişim haklarına bir göz atın.
Arşiv dosyası grafiksel yorum için birkaç Perl betik dosyası içermektedir. Burada bahsi geçen bu dosyalar üzerinde açıklama yapmayacağım. Şu sıralar algılayıcı verilerinin mySQL veri bankasında toplanması ve bir ağ arayüzü ile yorumlanması üzerine yazacak olduğum başka bir makale hakkında düşünceler geliştirmekteyim.
Bu daha çok Perl ile mySQL, CGI ve grafik komutlarını kullanarak gerçekleştirilecektir.
| 
 | 
| Görselyöre sayfalarının bakımı, LinuxFocus Editörleri tarafından yapılmaktadır © Stefan Blechschmidt, FDL LinuxFocus.org | Çeviri bilgisi: 
 | 
2004-06-30, generated by lfparser version 2.43