#!/usr/bin/perl -w

use CGI;
# use File::Copy;

$plik_temperatury = "/mnt/www/temperatura/pomiar_temperatury.dat";
$plik_danych = "dane.dat"; 
$sciezka = "/mnt/www/temperatura/";
$name = "dzien.png";
$name_godzina = "godzina.png";
$name_tydzien = "tydzien.png";

open(DIR, $plik_temperatury);
@temp =  <DIR>;
closedir DIR;

open(WSAD, ">" . $sciezka.$plik_danych);

for ($i=0;$i<@temp-2;$i+=2)
{
	$_=$temp[$i];
	s/\n//;	
	$data = $_;
	print WSAD  $_;
	$_=$temp[$i+1];
        s/\n//;
	$wynik=&kal1($_);
	print WSAD " ".$wynik."\n";
}

close(WSAD);

@elem=split(/:/,$data);
$dzien=$elem[3]-1;
$godzina=$elem[0]-1;
$tydzien=$elem[3]-7;
$zakres_b=$elem[0].":".$elem[1].":".$elem[2].":".$dzien.":".$elem[4].":".$elem[5];
$zakres_c=$godzina.":".$elem[1].":".$elem[2].":".$elem[3].":".$elem[4].":".$elem[5];
$dzis=$elem[3]."-".$elem[4]."-".$elem[5];
if ($tydzien <0){
	$tydzien = 30+$tydzien;
	$elem[4]=$elem[4]-1;	
}
$zakres_d=$elem[0].":".$elem[1].":".$elem[2].":".$tydzien.":".$elem[4].":".$elem[5];

# -------------------- Wykreslanie danych z jednego dnia

open(WSAD, ">" . $sciezka.'wsad.gp');
print WSAD <<end_of_tekst;
#!/usr/bin/gnuplot
set xdata time
set timefmt "%H:%M:%S:%d:%m:%y"
set xrange ["$zakres_b":"$data"]
set format x "%H"
set timefmt "%H:%M:%S:%d:%m:%y"
set grid
set xlabel "Godzina"
set ylabel "Temperatura"
set size ratio .7 0.5,0.5
set terminal png color
set output "$sciezka$name"
plot "$sciezka$plik_danych"  using 1:2 notitle with line

end_of_tekst

close(WSAD);

`gnuplot $sciezka/wsad.gp`;

# -------------------- Wykreslanie danych z jednej godziny 

open(WSAD, ">" . $sciezka.'wsad1.gp');
print WSAD <<end_of_tekst;
#!/usr/bin/gnuplot
set xdata time
set timefmt "%H:%M:%S:%d:%m:%y"
set xrange ["$zakres_c":"$data"]
set format x "%H:%M"
set timefmt "%H:%M:%S:%d:%m:%y"
set grid
set xlabel "Godzina"
set ylabel "Temperatura"
set size ratio .7 0.5,0.5
set terminal png color
set output "$sciezka$name_godzina"
plot "$sciezka$plik_danych"  using 1:2 notitle with line

end_of_tekst

close(WSAD);

`gnuplot $sciezka/wsad1.gp`;

# -------------------- Wykreslanie danych z jednego tygodnia 

open(WSAD, ">" . $sciezka.'wsad1.gp');
print WSAD <<end_of_tekst;
#!/usr/bin/gnuplot
set xdata time
set timefmt "%H:%M:%S:%d:%m:%y"
set xrange ["$zakres_d":"$data"]
set format x "%d"
set timefmt "%H:%M:%S:%d:%m:%y"
set grid
set xlabel "Dzien"
set ylabel "Temperatura"
set size ratio .7 0.5,0.5
set terminal png color
set output "$sciezka$name_tydzien"
plot "$sciezka$plik_danych"  using 1:2 notitle with line

end_of_tekst

close(WSAD);

`gnuplot $sciezka/wsad1.gp`;


print <<end_of_http_page;

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta name="Author" content="Wojciech Dobrogowski, Uniwersytet w
	Bialymstoku">
<meta name="Description" content="Doswiadczenie z magnetyzmu sterowane
	poprzez Internet. Domeny magnetyczne. Instytut Fizyki Doswiadczalnej
	Uniwersytet w Bialymstoku">
<meta name="Keywords" content="domeny magnetyczne Internet sterowanie
	zdalne cgi doswiadczenie fizyczne www Bialystok Uniwersytet w Bialymstoku">
<meta name="Classification" content="Edukacja Fizyka WWW">
<meta http-equiv="expires" content="0">
<!-- <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> -->
<!-- <meta http-equiv="Cache-Control" content="max-age=0" > -->
<title> Temperatura na Lipowej 41 w Białymstoku On-Line, Pomiar na żywo
</title>
</head>
<body  background="http://labfiz.uwb.edu.pl/exp/domeny/images/domena-tlov2.jpg" nosave>
<h1>Temperatura na Lipowej 41, Instytut Fizyki Doświadczalnej, Uniwersytet w Białymstoku, Pomiar na żywo
- "On-line"</h1>
<!-- <h2> Pomiar temperatury w ostatniej dobie $dzis</h2> -->
<!-- <img src="dane/$name"> -->
<p>
	<script>
    	myImage = new Image();
	myImage.src ="dane/$name"
    	document.wykres.src = myImage.src;
    	myImage1 = new Image();
	myImage1.src ="dane/$name_godzina"
    	document.wykres_godzina.src = myImage1.src;
    	</script>
<table border =1 width =100%>
<tr>
<td><IMG NAME="wykres"   SRC="dane/$name"></td>
<td><IMG NAME="wykres_godzina"   SRC="dane/$name_godzina"></td>
</tr>
<tr>
<td>Wykres temperatury z ostatniej doby: $dzis</td>
<td>Wykres temperatury z ostatniej godziny</td>
</tr>
<tr>
<td><IMG NAME="wykres_tydzien"   SRC="dane/$name_tydzien"></td>
<td></td>
</tr>
<tr>
<td>Wykres temperatury z ostatniego tygodnia</td>
<td></td>
</tr>
</table>
<p>
Porównaj z temperaturą obliczaną w ICM 
<a href="http://meteo.icm.edu.pl/java/mgram.php?x=21&y=15&lang=0&ver="
target="_new"> Zobacz</a><br>
Zobacz zdjęcia satelitarne z WebPark.pl:  <a href="http://uhuru11.webpark.pl/">http://uhuru11.webpark.pl/</a>
<br>
Doświadczenie przez Internet: <a href="http://lbifz.uwb.edu.pl/exp/domeny">
Badanie domen magnetycznych przez INTERNET </a>
<br>

<table border=1 width=100%>
<tr>
<td><img src="pic/czujnik_temperatury0001._th.JPG"> <br></td>
<td><img src="pic/czujnik_temperatury0002._th.JPG"> <br></td>
</tr>
<tr>
<td>Czujnik temperatury zamocowany w okiennej ramie.</td>
<td>Podłączenie czujnika do gniazda przedłużacza który łączy go z konsolą
pomiarową karty UIB</td>
</tr>
</table>
<!--
<img src="pic/czujnik_temperatury0003._th.JPG"> <br>
<img src="pic/czujnik_temperatury0004._th.JPG"> <br>
<img src="pic/czujnik_temperatury0005._th.JPG"> <br>
<img src="pic/czujnik_temperatury0006._th.JPG"> <br>
<img src="pic/czujnik_temperatury0007._th.JPG"> <br>
-->
</body>
</html>

end_of_http_page
#
# Kalibracja dla czujnika CMA w metalowej obudowie
#

sub kal{
	my $nap = shift(@_);
	$A = 55.7506;
	$B = -23.787;
	$wynik=$A*$nap+$B;
	return $wynik;
}

#
# Kalibracja dla czujnika własnej roboty: 1.8 V - 0 st C, zmiana 1V - 20 st C
#

sub kal1{
	my $nap = shift(@_);
	$A = 20;
	$B = -36;
	$wynik=$A*$nap+$B;
	return $wynik;
}

