<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta name="generator" content="HTML Tidy, see www.w3.org"> <!-- this stylesheet will later on be added by lfparser automatically: --> <style type="text/css"> <!-- pre { font-family:monospace,Courier } pre.code { font-family:monospace,Courier;background-color:#aedbe8; } p.code { width:80%; alignment:center; background-color:#aedbe8; border-style:none; border-width:medium; border-color:#aedbe8; padding:0.1cm ; text-align:left } --> </style> <title></title> </head> <body> <h1>Monitoring temperatury w Linuksie</h1> <h4>ArticleCategory: [Choose a category, translators: do not translate this, see list below for available categories]</h4> Hardware <h4>AuthorImage:[Here we need a little image from you]</h4> <img src="../../common/images/stefan_blechschmidt.jpg" alt= "Stefan Blechschmidt" width="100" height="121"> <h4>TranslationInfo:[Author + translation history. mailto: or http://homepage]</h4> <p>original in de <a href="mailto:sb/at/sbsbavaria.de">Stefan Blechschmidt</a> </p> <p>de to en <a href= "mailto:sept.sapins/at/verizon.net">Jürgen Pohl</a></p> <p>en to pl <a href= "mailto:mirek@ozimek.net.pl">Miros�aw Majka</a></p> <h4>AboutTheAuthor:[A small biography about the author]</h4> <p>B�d�c elektrykiem zosta�em posadzony przed monitorem stacji roboczej CAD w celu rozwijania pewnego prze��cznika i stacji kontroli. Najwyra�niej zarazi�em si� wtedy nieznanym "wirusem" i dobrze mi z tym.</p> <h4>Abstract:[Here you write a little summary]</h4> <p>Serwery linuksowe sprawuj� si� odpowiedzialnie i bezpiecznie, nie potrzebuj� specjalengo nadzoru, po prostu dzia�aj�, dzia�aj� i dzia�aj�... Ale co si� dzieje, kiedy ma�emu pingwinkowi zaczyna by� za gor�co? Ostatnie lato nam nie�le pokaza�o: powinni�my sprawi� naszemu ma�emu przyjacielowi system monitoringu temperatury. Ten artyku� poka�e Wam jak zainstalowa� w�a�nie taki system za cen� ok. 10 Euro.<br> </p> <h4>ArticleIllustration:[One image that will end up at the top of the article]</h4> <img src="../../common/images/article315/titelbild.gif" alt="title image" width="200" height="252"> <h4>ArticleBody:[The main part of the article]</h4> <h2>Komponenty</h2> <p><a href="http://www.brianlane.com/">Brian C.Lane</a> napisa� program dla czujnika temperatury <a href= "http://www.dalsemi.com/">DS1820 from DALLAS Semiconductor</a> Nie jest trudno z�o�y� omawiany system kontroli temp. przy u�yciu dw�ch takich komponent�w i kilku innych cz�ci.</p> <p><b>Uwaga:</b><br> Brian C.Lane zmodyfikowa� swoj� stron� i zaprzesta� rozwijania wersji u�ytej w tym artykule. Mo�esz zatem �ci�gn�� j� st�d: <a href= "../../common/src/article315/digitemp-1.3.tar.gz">digitemp-1.3.tar.gz</a> <br> <br> Ci z Was, kt�rzy chc� u�y� aktualnej wersji <i>digitemp-3.2.0.tar.gz</i> mog� pobra� j� z <a href= "http://www.digitemp.com/software.shtml">http://www.digitemp.com/software.shtml</a> .</p> <h2>Czujnik</h2> <p> <p><img src="../../common/images/article315/sensor-anschluss.png" border="0" alt="Sensor pinout" width="129" height="218"> <img src="../../common/images/article315/sensor.png" border="1" alt="Sensor picture" width="83" height="157"><br> Czujnik zosta� oryginalnie wyprodukowany przez DALLAS Semiconductor, kt�ra to fimra zosta�a wcielona do <a href= "http://www.dalsemi.com/">Maxim/Dallas Semiconductor</a>. Zgodnie ze specyfikacj�, czujnik mo�e mierzy� temperatur� w zakresie od -55°C do 125°C. Dane pomiarowe s� generowane jako cyfrowy sygna� d�ugo�ci 9 bit�w. Dodatkowo, ka�dy czujnik posiada 64 bitowy numer I.D., kt�ry pozwala pod��czy� wi�cej czujnik�w. Mo�liwe jest u�ycie stu czujnik�w na z��czu d�ugo�ci 300 metr�w.<br> Obw�d, kt�ry tutaj prezentujemy b�dzie dzia�a� tylko z dziesi�cioma czujnikami na z��czu 60 - metrowym. Obecnie u�ywam czterech czujnik�w na ok. 12 - metrowym z�aczu.</p> <p>Mo�esz znale�� wi�cej informacji na temat samego czujnika w <a href= "http://pdfserv.maxim-ic.com/en/ds/DS1820-DS1820S.pdf">Specyfikacji</a>.</p> <p>Chcia�bym doda�, �� obw�d prezentowany tutaj mo�e mierzy� maksymaln� temperatur� w wysoko�ci 75°C, co powinno by� adekwatne dla naszego zastosowania.</p> <h2>Inne komponenty</h2> <p>Aby m�c pod��czy� czujnik do interfejsu szeregowego potrzebujemy kilku dodatkowych skladnik�w. Znajdziesz je w wi�kszo�ci sklep�w detalicznych z cz�ciami elektronicznymi, w internecie lub (najlepiej) w sklepie elektronicznym tu� za rogiem.</p> <table border="1"> <tbody> <tr> <th>Ilo��</th> <th>Identyfikator</th> <th>Typ</th> <th>Typ alternatywny</th> </tr> <tr> <td>1</td> <td>Opornik</td> <td>1,5 k Ohm</td> <td>--------</td> </tr> <tr> <td>2</td> <td>Dioda Schottky</td> <td>1N5818</td> <td>BAT 43</td> </tr> <tr> <td>1</td> <td>Dioda Zener</td> <td>1N5228</td> <td>ZPY 3,9V</td> </tr> <tr> <td>1</td> <td>Dioda Zener</td> <td>1N5234</td> <td>ZPY 6,2V</td> </tr> <tr> <td>1</td> <td>Czujnik</td> <td>DS18S20</td> <td>--------</td> </tr> <tr> <td>1</td> <td>Gnizdko, Szeregowe</td> <td>RS232C/9</td> <td>--------</td> </tr> <tr> <td>1</td> <td>Pow�oka ��cznika</td> <td>SUB-D/9</td> <td>--------</td> </tr> <tr> <td>1</td> <td>Deska do krojenia chleba</td> <td>Papier laminowany</td> <td>--------</td> </tr> </tbody> </table> <h2>Projekt interfejsu</h2> <p>Obw�d interfejsu jest stosunkowo �atwy do skonstruowania, wi�c wybra�em desk� do krojenia chleba jako podstaw�. Przepraszam za moj� ma�o sp�jn� prac� <!-- albo nisp�jn�??? --> :-).</p> <p><br> <img border="0" src="../../common/images/article315/schaltplan.png" alt="wykres obwodu" width="637" height="330"><br> </p> <p><br> <img src="../../common/images/article315/aufbau1.png" border="1" alt="deska z przodu" width="200" height="147"> <img src="../../common/images/article315/aufbau2.png" border="1" alt="deska z ty�u" width="200" height="143"></p> <p>Przy odrobninie umiej�tno�ci komponenty mog� zosta� zainstalowane we wtyczce interfejsu szeregowego.</p> <p><b>Uwaga</b><br> Na tej stronie <a href= "http://www.linuxnetmag.com/de/issue8/m8temperature1.html">LinuxNetMag</a> mo�emy znale�� artyku� o <i>digitemp</i>, jak r�wnie� i forum opisuj�ce obw�d przystosowany do pomiar�w wi�kszych ni� 75°C. Osobi�cie jeszcze nie testowa�em �w obwodu.</p> <h2>Obw�d interfejsu szeregowego</h2> <p>Dla naszego obwodu interfejsu potrzebne s� tylko po��czenia czujnika, ��cze V<sub>DD</sub> mo�e by� usuni�te. Ja je po prostu odci��em :-).</p> <p align="RIGHT"> <IMG src="../../common/images/article315/sensor_notuse.png" border="0" alt="nie u�yty pin"> <p>Oto tabela obwodu karty interfejsu, czujnika i interfejsu szeregowego.</p> <table border="1"> <tbody> <tr> <td><b>Opis</b> </td> <td><b>DB-25</b> </td> <td><b>DB-9</b> </td> <td><b>Czujnik</b> </td> </tr> <tr> <td>DTR</td> <td>20</td> <td>4</td> <td>Data (PIN 2)</td> </tr> <tr> <td>RXD</td> <td>3</td> <td>2</td> <td>GND (PIN 1)</td> </tr> <tr> <td>TXD</td> <td>2</td> <td>3</td> <td> </td> </tr> <tr> <td>GND</td> <td>1 and 7</td> <td>5</td> <td> </td> </tr> </tbody> </table> <h2>Instalacja oprogramowania</h2> <p>Oprogramowanie jest dost�pne jako archiwum <i>tar</i>, mo�na je zainstalowa� w nast�puj�cy spos�b:</p> <pre class="code"> tar -xvzf digitemp-1.3.tar.gz </pre> w aktualnym katalogu. <p>W nowo zainstalowanym katalogu <code><b>digitemp1-3</b></code> znajduje si� kod �r�d�owy, dokumentacja i kilka skrypt�w Perla, jak r�wnie� pliki binarne <code><b>digitemp</b></code>, kt�re mog� zosta� u�yte od razu.</p> <p>Je�li <code>digitemp</code> jest wywo�ywany bez parametr�w, wtedy zobaczysz przegl�d mo�liwych opcji.</p> <pre class="code"> DigiTemp v1.3 Copyright 1997-99 by Nexus Computing Usage: digitemp -s<device> [-i -d -l -r -v -t -p -a] -i Initalize .digitemprc file -s/dev/ttyS0 Set serial port -l/var/log/temperature Send output to logfile -f5 Fail delay in S -r500 Read delay in mS -v Verbose output -t0 Read Sensor # -a Read all Sensors -d5 Delay between samples (in sec.) -n50 Number of times to repeat -o2 Output format for logfile -o"output format string" See description below Logfile formats: 1 = One line per sensor, time, C, F (default) 2 = One line per sample, elapsed time, temperature in C 3 = Same as #2, except temperature is in F #2 and #3 have the data seperated by tabs, suitable for import into a spreadsheet or other graphing software. The format string uses strftime tokens plus 3 special ones for digitemp - %s for sensor #, %C for centigrage, %F for fahrenheight. The case of the token is important! The default format string is: "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F" which gives you an output of: May 24 21:25:43 Sensor 0 C: 23.66 F: 74.59 </pre> <p>"Pomoc" podpowiada, �e zainstalowane czujniki musz� zosta� zainicjowane. Dlatego musimy zdefiniowa� interfejs, do kt�rego nasz obw�d jest pod��czony, jak r�wnie� parametry pocz�tkowe.</p> <p>Polecenie</p> <pre class="code"> digitemp -i -s/dev/ttyS0 </pre> za�atwia to. W tym przypadku obw�d interfejsu jest pod��czony do pierwszego portu szeregowego. <p>Oprogramowanie wykrywa czujniki, wiadomo�� podobna do tej powinna si� pojawi�:</p> <pre class="code"> DigiTemp v1.3 Copyright 1997-99 by Nexus Computing ROM #0 : 1032724700080086 ROM #1 : 1092214400080089 </pre> Zauwa�amy, �e program wykry� 2 czujniki. Dodatkowo w aktualnym katalogu zostaje utworzony plik <b><code>.digitemprc</code></b>, kt�ry b�dzie zawiera� dane o czujnikach, interfejsie i formacie danych wyj�ciowych. <p>Poleceniem <b><code>./digitemp -a</code></b> mo�emy przeczyta� dane wyj�ciowe czujnika. Prosz� zauwa�y� znak <b><code>./</code></b>, nadal jeste�my w katalogu, ktory nie jest cz�ci� zmiennej $PATH, czyli miejsc, gdzie pow�oka szuka plik�w wykonywalnych.</p> <p><b>Dane wyj�ciowe pomiaru</b><br> </p> <pre class="code"> 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 </pre> <h2>Przystosowywanie systemu</h2> <p>Aby zintegrowa� nasz program z systemem, musimy dokona� kilku poprawek.</p> <p>Najpierw musimy skopiowa� plik binarny <code>digitemp</code> w miejsce, kt�re pozwala na uruchomienie go bez redefiniowania �cie�ki. Ja wybra�em <code>/usr/local/bin/</code> dla tego celu. Ci, kt�rzy nie s� pewni co do �cie�ki, mog� to sprawdzi� poleceniem <code><b>echo $PATH</b></code> . Ponadto, plik <code>.digitemprc</code> z danymi inicjacyjnymi powinien zosta� skopiowany do katalogu domowego u�ytkownika, kt�ry b�dzie dokonywa� pomiar�w. Aby zapisywa� dane do pliku a nie na terminal, prze��cznik <code>-l[PATH/FILE NAME]</code> powinien zosta� u�yty.</p> <h3>Automatyczne pomiary</h3> <p>Teraz przyda�oby si� zautomatyzowa� nasze pomiary. Dobrze wypr�bowany <i>cron</i> powinien spe�ni� swoj� rol�. Poprzez <code><b>crontab -u [USER] -e</b></code> mo�emy ustawi� to dla ka�dego u�ytkownika. Wpis w /etc/crontab</p> <pre class="code"> 0-59/15 * * * * /usr/local/bin/digitemp -a -l/var/log/digitemp.log </pre> inicjuje digitemp aby ten mierzy� temperatur� co 15 minut i aby zapisywa� wyniki do <code>/var/log/digitemp.log</code> . <p>Poleceniem <code>tail /var/log/digitemp.log</code> mo�emy sprawdzi� ostatnie linijki pomiar�w. Je�li plik <code>/var/log/digitemp.log</code> nie jest generowany, prosz� sprawdzi� prawa dost�pu do plik�w.</p> <h2>Komentarz na zako�czenie</h2> <p>Archiwum tar zawiera kilka skrypt�w Perla do graficznej interpretacji wynik�w. Nie b�d� ich tutaj opisywa�. My�l� nad napisaniem kolejnego artyku�u o tym jak zbiera� dane czujnik�w w bazie <a href= "http://www.mysql.com/">mySQL</a> i jak interpretowa� je poprzez stron� www.</p> <p>Tak� sztuczk� mo�na osi�gn�c dzi�ki <a href= "http://www.perl.org/">Perlowi</a> u�ywaj�� funkcji <a href= "http://www.mysql.com/">mySQL</a>, CGI, graphic.</p> <h2>Do pobrania</h2> <a name="v1"></a><!-- <ul><a href="javascript:history.back()">[1]</a></ul> --> <ul> <li><a href= "../../common/src/article315/digitemp-1.3.tar.gz"> digitemp-1.3.tar.gz</a></li> </ul> <h2>Linki / Opinie</h2> <ul> <li><a href="http://www.fli4l.de/">http://www.fli4l.de/</a> - strona domowa fli4l</li> <li><a href="http://www.perl.org/">http://www.perl.org/</a> - strona domowa Perla</li> <li><a href= "http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3021">General Overview DS1820</a></li> <li><a href= "http://pdfserv.maxim-ic.com/en/ds/DS1820-DS1820S.pdf">Spec Sheet DS18S20</a></li> <li><a href="http://www.digitemp.com/">Brian C.Lane's Digitemp Page</a></li> <li><a href="http://www.brianlane.com/">Brian C.Lane's Homepage</a></li> <li><a href="http://www.dalsemi.com/">Homepage Maxim/Dallas Semiconductor</a></li> <li><a href= "http://www.linuxnetmag.com/de/issue8/m8temperature1.html">LinuxNetMag Article und Forum</a></li> </ul> </body> </html> <!-- vim: set sw=2 ts=2 et tw=80: -->