No, liittyipä juvalainen säämestarikin sitten näihin "sääpiireihin". Heh, heh!
Tiedoksi kaikille:
kotikoneella on nyt vain tämä sääasemahommeli, tarkoitus olisi hankkia ihan palvelinkin.
Asiasta kolmanteen...
Testailen vähän PHP-skriptejä testipalvelimella. Nyt tuli uusi testailun aihe: JpGraph -PHPkäyrästöjen tekokirjasto.
WUHU-ohjelmaa pyörittelen ja tarkoitus olisikin saada JpGraph lukemaan tuo currdat.lst -tiedosto ja tehdä siitä käyriä. Olisiko kellään kokemusta?
Ainakin WeatherDisplay-miehet jotenkin luetuttavat JpGraphillä clientraw.txt -tiedostot ja teetyttävät vielä käyrätkin...
Lainaus käyttäjältä: Meteorologi - maanantai, 05.05.2008, 19:58
No, liittyipä juvalainen säämestarikin sitten näihin "sääpiireihin". Heh, heh!
Lämpimästi tervetuloa joukkoon! Uskon, että viihdyt täällä :)
Lainaus käyttäjältä: Meteorologi - maanantai, 05.05.2008, 19:58
WUHU-ohjelmaa pyörittelen ja tarkoitus olisikin saada JpGraph lukemaan tuo currdat.lst -tiedosto ja tehdä siitä käyriä. Olisiko kellään kokemusta?
Ainakin WeatherDisplay-miehet jotenkin luetuttavat JpGraphillä clientraw.txt -tiedostot ja teetyttävät vielä käyrätkin...
Olen tullut tuota kerran-pari katsoneeksi, ajatuksena saada nypittyä mittaustietoja jonkinmoiseen käppyrään, mutta homma kuivui lopulta kasaan, osittain siitä syystä, että nykyinen sivusto oli vielä silloin rakentelun alla ja aika oli loppumassa kesken ja pääsääntöisesti siitä syystä, että allekirjoittaneelta loppui ymmärryskyky siihen, miten saisi edes pohjiakaan noita käppyröitä varten rakennettua; mikään PHP-mestari kun en ole.
Mitä tulee currdat.lst -tiedoston lukemiseen, niin omat skriptini lukevat rivinumeroita käyttäen tuota dataa. Tiedän, että jossain päin nettiä pyörii sellaisia versioitakin, jotka osaavat lukea tiedot rivinimen perusteella, jolloin datan ulosajo HTML-koodin sekaan pysyy vahingoittumattomana, jos WUHU:ssa tapahtuu currdat.lst -tiedoston sisällössä muutoksia, kuten viimeisimmässä WUHU:n Beta-versiossa (Beta 40), jonne taisi tulla taas rivi-kaksi lisää. Siksi jättäydyn toistaiseksi Beta 39:n käyttäjäksi, kunnes saan testattua tuon uuden version vaikutuksen säätietojen julkistamiseen.
Jotta niitä käppyröiden tarvitsemia arvoja voisi luetuttaa, olin ymmärtävinäni, että jonkinlainen MySQL-kanta pitäisi olla koneessa raksuttamassa, jotta käppyrää saadaan tuotettua. Tämähän tietenkin tarkoittaisi sitä, että jokin skripti tai muu vastaava automatiikka lisäilisi kantaankin noita tietoja.
Tiettävästi Weather Displayta käyttävät tahot ovat sikäli onnellisessa asemassa, että heidän softansa tekee clientraw.txt -tiedostosta useampia variantteja, joista clientraw.txt -tiedosto sisältää suorassa putkessa kaiken olennaisen tiedon säästä ja muutaman "tuntihistoria"-tiedon. Clientrawhourly.txt -tiedosto taas ilmeisimmin kerää statistiikkaa isommalla (minuutti?) resoluutiolla dataa. Tuo on se, johon WUHU ei vielä ainakaan kykene. Se, miten Weather Display:n käyttäjät saavat tuon JPGraph:n toimimaan käppyröiden teossa on minulle täysi mysteeri. On mahdollista, että Weather Display pitää sisällään lisäosia (plugineja) jotka tekevät "likaisen työn" ja puskevat ulos valmista, käyttökelpoista käppyrää. Siitä en tosin ole missään tapauksessa varma. Luulen, että Weather Display:ta käyttävät henkilöt osaavat vastata tähän paremmin.
Onko esimerkiksi Teutarilla ja Impivaaran Isännällä näkemystä asiaan?
Tällaisen clientraw-skriptin löysin. Pitää vain muokata currdat.lst:lle sopivaksi.
Tummennetullaon epäselvää asiaa; mitä tarkoittaa ja kuinka tässä tulisi toimia currdat.lst muokkausten suhteen?
<?php
//where are your clientraw*-files relative to where this file is
$hostloc = "../";
include ("jp/src/jpgraph.php");//maybe you have to change this path
include ("jp/src/jpgraph_line.php");//maybe you have to change this path
// MBtoINCHES: converts mb to in/Hg
function MBtoINCHES(&$value) {
return round($value = ($value / 33.86388158),3);
} // end function MBtoINCHES
//you dont have to change anything below this
//================================================================================================
// Create the graph. These two calls are always required
$graph = new Graph(400,250,"auto",30);
$graph->SetScale("textlin");
$graph->SetMarginColor("#191970");
$graph->img->SetAntiAliasing();
$clientraw = get_raw("${hostloc}clientraw.txt");
$clientrawextra = get_raw("${hostloc}clientrawextra.txt");
$clientrawdaily = get_raw ("${hostloc}clientrawdaily.txt");
function get_raw( $rawfile ) {
$rawdata = array();
$fd = fopen($rawfile, "r");
if ($fd) {
$rawcontents = '';
while (! feof ($fd) ) {
$rawcontents .= fread($fd, 8192);
}
fclose($fd);
$delimiter = " ";
$rawdata = explode ($delimiter, $rawcontents);
} else {
$rawdata[0]= -9999;
}
return $rawdata;
}
//
// Create aray for y-axis
//
[b]$y=array($clientrawextra['439'],$clientrawextra['440'],$clientrawextra['441'],$clientrawextra['442'],
$clientrawextra['443'],$clientrawextra['444'],$clientrawextra['445'],$clientrawextra['446'],$clientrawextra['447'],
$clientrawextra['448'],$clientrawextra['449'],$clientrawextra['450'],$clientrawextra['451'],$clientrawextra['452'],
$clientrawextra['453'],$clientrawextra['454'],$clientrawextra['455'],$clientrawextra['456'],$clientrawextra['457'],
$clientrawextra['458'],$clientrawextra['574'],$clientrawextra['575'],$clientrawextra['576'],$clientrawextra['577']);[/b]
array_walk($y, "MBtoINCHES");
$datax = $y;
//create timearray for the x-axis
$n=1;
$limit=24;
putenv('TZ=US/Central');
$time=date(" H",time());
$datat=array($time);
$x=$datat;
//what you have to add
$add=3600;
$result=strtotime(now);
for ($n=1;$n++;)
{
$result=($result-$add);
$new=date('ga', $result);
$next=array("$new");
$datat= array_merge ($next,$datat);
if ($n>=$limit) break;
}
$datat=array_merge($datat,$x);
// =====================================================================================
// From here we start creating the graphs
// =====================================================================================
// Add a drop shadow
$graph->SetShadow();
// Adjust the margin a bit to make more room for titles
$graph->img->SetMargin(40,40,10,55);
// Create a bar pot
$bplot = new LinePlot($datax);
$bplot->SetFillColor("lightblue@0.7");
$bplot->SetWeight(1);
$bplot->SetColor("blue");
$graph->Add($bplot);
// titles
$graph->title->SetFont(FF_FONT1,FS_BOLD,10);
$graph->title->Set("Barometric Pressure (inHg)");
$graph->title->SetColor("white");
//$graph->xaxis->title->Set("X-axis");
//$graph->yaxis->title->Set("Y-axis");
//x-axis
$time=date("M j",time());
$graph->xaxis->title->Set($time);
$graph->xaxis->title->SetColor(white);
$graph->xaxis->SetFont(FF_FONT1,FS_NORMAL,4);
$graph->xaxis->SetTickLabels($datat);
$graph->xaxis->SetTextLabelInterval(2);
$graph->xaxis->SetPos("min");
$graph->xaxis->HideTicks(true,true);
$graph->xaxis->SetColor("white");
$graph->xgrid->Show(true);
//y-axis
$graph->yaxis->SetColor("white");
$graph->yaxis->scale->SetGrace(10);
//$graph->yscale->SetAutoMin(29);
$graph->yaxis->HideTicks(true,true);
$graph->yaxis->SetLabelFormat('%01.2f');
// Display the graph
$graph->Stroke();
?>
Lainaus käyttäjältä: J.Jäntti - maanantai, 05.05.2008, 20:24
Lämpimästi tervetuloa joukkoon! Uskon, että viihdyt täällä :)
Kiitoksia, kiitoksia! Varmasti viihdyn!
Edit: Administraattori käväisi vähän muokkaamassa koodin omalle kohdilleen ;)
Lainaus käyttäjältä: Meteorologi - maanantai, 05.05.2008, 21:46
Tällaisen clientraw-skriptin löysin. Pitää vain muokata currdat.lst:lle sopivaksi. Tummennetulla
on epäselvää asiaa; mitä tarkoittaa ja kuinka tässä tulisi toimia currdat.lst muokkausten suhteen?
$y=array($clientrawextra['439'],$clientrawextra['440'],$clientrawextra['441'],$clientrawextra['442'],
$clientrawextra['443'],$clientrawextra['444'],$clientrawextra['445'],$clientrawextra['446'],$clientrawextra['447'],
$clientrawextra['448'],$clientrawextra['449'],$clientrawextra['450'],$clientrawextra['451'],$clientrawextra['452'],
$clientrawextra['453'],$clientrawextra['454'],$clientrawextra['455'],$clientrawextra['456'],$clientrawextra['457'],
$clientrawextra['458'],$clientrawextra['574'],$clientrawextra['575'],$clientrawextra['576'],$clientrawextra['577']);
Ilmeisestikin kaikki Clientraw-tiedostot ovat rakenteeltaan samanlaisia, eli yhdelle riville tulee kaikki data yhteen putkeen välilyönnillä eroteltuna.
Tuo näyttäisi hakevan jossain skriptin alkuvaiheessa lukemastaan clientrawextra.txt -tiedostosta ($clientrawextra -nimestä päätellen) tiettyjä "kenttiä", jotka se, luettuaan tiedoston ensin, on luonut. Nuo numerot, jotka näyttävät olevan välillä 439-458 ja 574-577, kuvastanevat tunnin aikana tulleita lukemia ja nuo kattavat vuorokauden, sillä niitä on 24 kappaletta. Skriptin sisällöstä päätellen yllämainitut kentät pitävät sisällään kunkin kuluneen tunnin ilmanpainelukemat.
Ja tässäpä tuleekin sitten se ongelma:
WUHU kasaa currdat.lst -tiedoston siten, että jokainen mittaustieto on omalla rivillään. Tämä ei varsinaisesti ole ongelma, koska tieto on helposti haettavissa riveiltäkin, mutta kun WUHU ei aja vastaavankaltaista historiatietoa currdat.lst -tiedostoon lainkaan. Currdat.lst -tiedostossa olevat tiedot ovat vain viimeisimmän asemalta tulleen mittaustiedon näyttöpaikka.
Sikäli, kun tiedän, WUHU:n Beta-versio 2.1.6.40 (Beta 40) osaa puskea historiatietoja .csv -tiedostoon, kun niin pyydetään tekemään WUHU Configuration.ini -tiedostossa, mutta WUHU:n puskeman .csv:n toiminnallisuus tiedon purkamiseen PHP:llä onkin sitten ihan toinen juttu, sillä siinä jouduttaisiin kehittämään luettavaksi sekä rivejä, että kenttiä, minkä lisäksi metrijärjestelmää (m/s, hPa, mm) ei tueta, vaan kaikki tungetaan .csv-tiedostoon yhdysvaltalaisittain (mph, inHg, in).
Pitäisi varmaan heittää ehdotus ilmaan WUHU:n Yahoo!-groupissa, että WUHU osaisi pyynnöstä rakentaa tuollaisen historiatiedoston, joka sisällöltään vastaisi clientrawextra.txt -tiedostoa. Se saattaa tosin herättää närää Weather Display-käyttäjissä, mutta toisaalta se olisi WUHU:n suhteen suurta edistystä.
Valitettavasti en osaa asiaa sanoa mitään kummempaa. Tein vaan kuten ohjeissa kerrotaan. :) http://saa.ekiwx.net/clientraw/
Ohjeessa mainitut linkit ovat vanhentuneet, mutta voi lähettää sinulle nuo grafiikka paketit, jos vaan löydän ne jostain.
Jotain tietoa löytyy myös osoitteesta: http://www.aditus.nu/jpgraph/
Eki
Lainaus käyttäjältä: J.Jäntti - maanantai, 05.05.2008, 23:55
Ja tässäpä tuleekin sitten se ongelma:
WUHU kasaa currdat.lst -tiedoston siten, että jokainen mittaustieto on omalla rivillään. Tämä ei varsinaisesti ole ongelma, koska tieto on helposti haettavissa riveiltäkin, mutta kun WUHU ei aja vastaavankaltaista historiatietoa currdat.lst -tiedostoon lainkaan. Currdat.lst -tiedostossa olevat tiedot ovat vain viimeisimmän asemalta tulleen mittaustiedon näyttöpaikka.
Totta tosiaan, tuo currdat.lst-tiedoston ja clientraw.txt-tiedoston ero historiatiedoissa.
En ole vielä mikään PHP-nero, mutta jos saisi tuohon skriptiin tungettua automaattisen luvun.
Eli JpGraph lukisi automaattisesti (jatkuvasti) currdat.lst-tiedoston ja tekisi käyrät.
Näiden
$y=array($clientrawextra['439'],...
-rivitietojen paikalle vain currdat.lst-tiedoston esimerkiksi suhteellisen ilmanpaineen rivinumero (currdat.lst-tiedostossa) tai mahdollinen [pressure_relative] -tunnus?
Tuossa tilanteessa JpGraph tekisi itse jonkinlaisen muistivedoksen tapahtuneista sääolojen vaihteluista (päivittyneestä/päivittyvästä currdat.lst-tiedostosta). Siis MysQl.
Lainaus käyttäjältä: Impivaaran isäntä - tiistai, 06.05.2008, 09:31
Valitettavasti en osaa asiaa sanoa mitään kummempaa. Tein vaan kuten ohjeissa kerrotaan. :) http://saa.ekiwx.net/clientraw/
Ohjeessa mainitut linkit ovat vanhentuneet, mutta voi lähettää sinulle nuo grafiikka paketit, jos vaan löydän ne jostain.
Jotain tietoa löytyy myös osoitteesta: http://www.aditus.nu/jpgraph/
Eki
Löysin tuon grafiikkapaketin itse. Se sisältää 12 puolivalmista clientraw.txt-skriptiä, joista yksi on mallina eräässä viestissäni ylempänä.
Tere!
Itse olen tuota JpGraph:ia käyttänyt aika paljonkin Weather Display kanssa ja voin sanoa että helpompaa käyräntekoa ei voi olla ja suosittelen lämpimästi Weather Display:hin siirtymistä, WD kun osaa tehdä paljon muutakin kun clientraw-filut :)
Koko paketin valmiita clientraw-filuja käyttäviä käyräpohjia voi ladata tästä: http://www.stella-maris.org.uk/code.shtml ja selkennykseksi, JPGraph ei tarvi mitään MySql:ää toimiakseen pelkkä txt-filu tai vastaava josta lukea dataa riittää.
Esimerkkinä http://www.nordicweather.net/clientraw/temp_1hr.php, tuo ei ole miltä osoite näyttää vaan:
Siinä käytetty WD:n customlog-file:ä, eli ei clientraw-filua, siihen voi pistää mitä arvoa haluaa erittäin laajasta custom-tag-arkistosta. Siihen tallentuu tässä tapauksessa kellonaika, lämpötila ja salamatiedot (WD lukee Nexstormin FlahGate IPC:tä) ja tuloksena on 24 tunnin käyrä jossa näytetään salamat/minuutti minuutin tarkkuudella ;)
WD:n custom log tallentaa tiedot kerran minuutissa ja sen kokoa voi itse säätää olisko se tunnista 48 tuntiin, eli filu ei kasva tuon isommaksi vaan se heittää vanhemmat ulos sitä mukaa kun uutta dataa tulee, tuossa käyrässä käytettävä log-filu on 24 tuntinen.
Customlog-filu jonka se tekee ja lataa nettiin on tämän näköinen:
21:15 9.0 0
21:17 8.9 0
21:18 8.9 0
21:19 8.8 0
21:20 8.8 0
21:21 8.8 0
21:22 8.8 0
21:23 8.7 0
21:24 8.7 0
Rivejä on yhteensä 1440 eli yksi per minuutti. Väsäsin koodin lukemaan tuota filua käyrää varten näin:
<?
$file_customtext = file_get_contents("customtextout2.txt");
$file_customtext = str_replace(' ', '|', $file_customtext); // lisätään |-merkki lukemista varten
$datafields = preg_split("/\n+/", $file_customtext); // Pilkotaan data rivivaihdon avulla
$test = count($datafields); // Lasketaan kuin monta riviä on
for ($i=0; $i<=($test-2); $i++) {
$testdata[$i] = explode("|", $datafields[$i]); // Pilkotaan joka rivin data omiksi osiksi lisätyn |-merkin avulla
}
for ($i=0; $i<=($test-2); $i++) {
$data = $testdata[$i][2]; // otetaan kolmas data rivissä = 2
$data = trim($data);
if ($data == 0) {
$data = '0';
}
$testtime[] = $testdata[$i][0]; // otetaan ensimmäinen data rivissä tehdään siitä array= 0
$teststuff[] = $data; // tehdään array myös datasta
?>
Tuloksena $testtime-array on x-axis:ta varten ja $teststuff-array on y-axis:sta varten jotka voi siirtää sellaisenaan JpGraph:iin näin:
<?
$xtextcolour = "#FFFFFF";
$ytextcolour = "#FFFFFF";
$strikeplot = "#FF8000";
$temp_format = "%0.0f";
// Create the graph. These two calls are always required
$graph = new Graph(720,200,"auto",60);
$graph->SetScale("textlin");
//Setup margin color
$graph->SetMarginColor("$margincolour");
//Here we set a dropshadow around the graph
//$graph->SetShadow();
// Adjust the margin a bit to make more room for titles
$graph->SetMargin($lm,$rm,20,40);
$graph->SetBackgroundGradient('#424242@0.2','#151515',GRAD_HOR,BGRAD_PLOT);
$graph->SetMarginColor("black");
//$graph->SetBackgroundImage("graphback.jpg");
$graph->img->SetAntiAliasing(true);
// Create a bar pot
$lplot = new LinePlot($teststuff);
eval($grace);
//Show the values
//$lplot->value->Show(); //you can comment this out if you do'nt want to show the value's
//Add the graph to the graph-area
$graph->Add($lplot);
// Set the colors for the plots
$lplot->SetColor("$strikeplot");
$lplot->SetWeight(1);
// Setup the titles
$graph->title->Set("temperature from customlog");
$graph->title->SetColor("$textcolour");
//x-axis
$graph->xaxis->SetTextLabelInterval(1);
$graph->xaxis->SetPos("min");
$graph->xaxis->SetFont(FF_VERDANA,FS_NORMAL,7);
$graph->xgrid->Show(true);
$graph->xaxis->SetColor("$xtextcolour");
$graph->xaxis->SetTickLabels($testtime);
$graph->xaxis->HideTicks(false,true);
$graph->xaxis->SetTextTickInterval(60);
$graph->xgrid->SetColor("#2E2E2E");
//y-axis
$graph->yaxis->SetTextLabelInterval(1);
$graph->title->SetFont(FF_VERDANA,FS_NORMAL,10);
$graph->yaxis->SetFont(FF_VERDANA,FS_NORMAL,7);
$graph->yaxis->SetColor("$ytextcolour");
$graph->yaxis->SetLabelFormat("$temp_format");
$graph->yaxis->HideTicks(true,true);
$graph->ygrid->SetColor("#2E2E2E");
$graph->yscale->SetAutoMin(0);
$graph->yaxis->scale->SetGrace(1,0);
// Display the graph
$graph->Stroke();
?>
Henkka
Jenkit on kovia poikia vääntämään WD:lle noita php-sivuja ja se on ohjelman hyvä puoli. Piti vähän kehasta WD:tä. ;)
Mutta yksi vaihtoehto on kokeilla tota Antoinen tekemää ilmaista GraphWeather ohjelmaa sillä saa aika mukavan näköistä php-grafiikkaa tehtyä.
Tuossa osoite:http://www.aguilmard.com/index.php?page=graphweatherphp (http://www.aguilmard.com/index.php?page=graphweatherphp)
Siellä hänen foorumissaan on myös tobiikki englanniksi.
/jouko
Lainaus käyttäjältä: teutari - tiistai, 06.05.2008, 16:56
Jenkit on kovia poikia vääntämään WD:lle noita php-sivuja ja se on ohjelman hyvä puoli. Piti vähän kehasta WD:tä. ;)
Juu, niin ovat ja vielä kun tekevät ne niin että on suunnilleen plug and play-scriptejä eli ei tarvi paljoa itse miettiä. En ole itse kokeillut tuota php-puolta GraphWeatherista, ohjelmaa kylläkin (nykyinen salamakäyrä tutkasivullani on sen tekemä), ja täytyy sanoa että meinas tulla harmaat hiukset sen kanssa ennen sain sen toimimaan eli lukemaan vastavaa logfilua kun aikaisemmassa vastauksessani.
Siinä mielessä JpGraph kyllä helpompi.
Henkka
Toi on Henkka tosi hieno koodi minkä laitoit ! ;)
Aina kun käyn sun tutkaa tiirailemassa niin tulee kuolattua sitä. :P
/jouko
Lainaus käyttäjältä: Meteorologi - tiistai, 06.05.2008, 14:46
Totta tosiaan, tuo currdat.lst-tiedoston ja clientraw.txt-tiedoston ero historiatiedoissa.
En ole vielä mikään PHP-nero, mutta jos saisi tuohon skriptiin tungettua automaattisen luvun.
Eli JpGraph lukisi automaattisesti (jatkuvasti) currdat.lst-tiedoston ja tekisi käyrät.
Näiden
$y=array($clientrawextra['439'],...
-rivitietojen paikalle vain currdat.lst-tiedoston esimerkiksi suhteellisen ilmanpaineen rivinumero (currdat.lst-tiedostossa) tai mahdollinen [pressure_relative] -tunnus?
Tuossa tilanteessa JpGraph tekisi itse jonkinlaisen muistivedoksen tapahtuneista sääolojen vaihteluista (päivittyneestä/päivittyvästä currdat.lst-tiedostosta). Siis MysQl.
Tuota samaa ajattelin itsekin, mutta tilanne onkin sikäli vähän kinkkinen, että juuri tuon PHP:n ja MySQL:n välinen kommunikointi aiheuttaa järkyttävät määrät pääkipua ainakin minulle. Siksi itse pysyttelisin ihan teksti tiedostoissa.
Minun mielestäni tuon toteuttaminen WUHU:lla ei luulisi olevan kovinkaan vaikeaa, koska se osaa piirtää mukaan ympätyn Teechart-järjestelmän avulla noita käppyröitä; ja koska se osaa käppyrää piirtää viimeiseltä kuluneelta tunnilta, viimeiseltä kolmelta tunnilta, 24 tunnin ajalta ja puolenyön jälkeen, ja osaa piirtää käppyrää kaikista perusmittauksista lämpötilasta sademäärään saakka, niin jonnekin se nuo historiatiedot säilöö ja se ei ole kiinni history.dat:sta.
Taidanpa pyytää WUHU:n kehittäjältä mahdollisuutta saada purettua nuo samaiset historiatiedot jotain kautta tekstitiedostoon. Jos se menee läpi, se on jo loistava alku.
Lainaus käyttäjältä: teutari - tiistai, 06.05.2008, 16:56
Mutta yksi vaihtoehto on kokeilla tota Antoinen tekemää ilmaista GraphWeather ohjelmaa sillä saa aika mukavan näköistä php-grafiikkaa tehtyä.
Juu, tuo onkin tuttu softanpätkä. Testasin tuotakin hetken, kun JPGraphia en silloin saanut pelittämään.
Kaikki oli muutoin ihan kivasti, mutta kun osa niistä ohjelman asetuksista oli siihen maailman aikaan sekä englanniksi, että ranskaksi ja kun tuulennopeudelle pelkän 24h aikajakson käyrän kehittämiseenkin meni hieman päälle viisi minuuttia, luovuin toivosta.
Tilanne saattaa ollakin toinen nykyään, sillä softa lienee kehittynyt siitä ajasta, kun sitä testasin.
Lainaus käyttäjältä: teutari - tiistai, 06.05.2008, 20:56
Toi on Henkka tosi hieno koodi minkä laitoit ! ;)
Aina kun käyn sun tutkaa tiirailemassa niin tulee kuolattua sitä. :P
/jouko
Kiitos!
Siinä mun tukta-näytössä on muitakin jekkuja kuten esim camp-esto, eli se lopettaa pävittämisen 10 minuutin jälkeen (tuo raja on vielä vähän hakusessa) eli sulkee pois ne jotka ovat "unohtaneet" ikkunan auki sekä että se päivittää kuvat heti ja vain kun uusi saatavilla ja näyttää offline-tekstiä kun kuva liian vanha ;D
Tuosta on tulossa scripti-paketti kunhan saan sen vamiiksi (vaatii WD:n kaveriksi)
Meni vähän OT:n puolelle....
Henkka
Lainaus käyttäjältä: weatherc - keskiviikko, 07.05.2008, 22:58
Meni vähän OT:n puolelle....
Tärkeä ja tarpeellinen tieto ei koskaan ole OT. ;)
Tämä ketjuhan on "Yleistä keskustelua"-alueella. :) Täällä saa keskustelut irtoilla raameistaan ihan miten päin hyvänsä. Jos keskustelu venyy selkeästi johonkin alkuperäisestä aiheesta, se sitten joko minun tai Haden toimesta katkaistaan omaksi keskustelukseen, jossa sen on helppo jatkua. :)
Lainaus käyttäjältä: J.Jäntti - keskiviikko, 07.05.2008, 19:08
Taidanpa pyytää WUHU:n kehittäjältä mahdollisuutta saada purettua nuo samaiset historiatiedot jotain kautta tekstitiedostoon. Jos se menee läpi, se on jo loistava alku.
Teeppä se.
Mietin jälleen elvyttää tätä käyrätouhua.
Löytyykö sentyyppistä koodia, että cronjob-ajettu skripti lukisi currdatin aika-ajoin ja laittaisi tekstitiedostoon sitten lukemansa tiedot?
Sitten käyräkoodi vain simppelisti tarkastaisi tekstitiedoston.
Minulla on nyt nimittäin mahdollisuus ajaa cronjobeja. http://www.onlinecronjobs.com/
Sainpa tehtyä käyrät, noin vuoden harjoittelun jälkeen! :D
Homma toimii siten, että käyräntekijä-skripti on cronjob-ajastettu 10 min välein. Skripti lukee currdat.lst:stä lämpö-, kosteus-, sade- ja tuulidatat ja kirjoittaa ne tekstitiedostoon. Sitten muokattu clientrawin käyrätiedosto lukee tekstitiedoston arrayt ja tekee tunnin käyrät.
Suunnittelen myös päivä-, viikko ja vuosikäyriä.
Lähdekoodit voin antaa, jos joku haluaa.
Hienoa Meterologi!
Voin kertoa että sitten kun pääsee kunnolla jyvälle noitten JpGraphien kanssa niin keksii koko ajan uusia mitä voisi tehdä :)
Vinkkinä, kannattaa tehdä yski käppyrä "pohjaksi" jossa koot, väirit ja fontit valmiina johon sitten aina sitteen vaan muuttaa itse datan, silloin ei tarvi tehdä koko käppyrää uusiki joka uuden käppyrän teon yhteydessä :)
Lainaus käyttäjältä: weatherc - keskiviikko, 03.06.2009, 16:02
Hienoa Meterologi!
Voin kertoa että sitten kun pääsee kunnolla jyvälle noitten JpGraphien kanssa niin keksii koko ajan uusia mitä voisi tehdä :)
Vinkkinä, kannattaa tehdä yski käppyrä "pohjaksi" jossa koot, väirit ja fontit valmiina johon sitten aina sitteen vaan muuttaa itse datan, silloin ei tarvi tehdä koko käppyrää uusiki joka uuden käppyrän teon yhteydessä :)
Kiitos!
Vinkki noteerattu. :)
Lisää käyriä: http://finlandweather.xtreemhost.com/jpgraph/wxgraphs/
Tervehdys pitkästä aikaa! Onpas viime aikoina kirjoitteluni jäänyt hieman taka-alalle...
Mutta asiaan. Jäi kaivelemaan tämä vanha käyrä-asia, ja latasin ranskalaisen hepun (aguilmard) PHP-systeemit. Hänen systeeminsä on siitä nerokas, että se analysoi binaarimuotoisen history.datin!
Ongelma on nyt itse käyräntekijässä. MysQLiin on tallennettu taistelujen jälkeen onnistuneesti tietoja (mysqlweather.php), mutta käyrää ei saa mitenkään tehtyä (graph.php ja graphweather.php). Tässä on MYsQL:stä kopio, joka on katkaistu: Tietokanta: `saa`
--
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Vedostetaan tietoa taulusta `ws3600`
--
INSERT INTO `ws3600` (`recdate`, `abs_Pressure`, `rel_Pressure`, `Wind_Speed`, `wind_direction`, `Wind_Chill`, `Wind_Gust`, `Total_Rainfall`, `new_Rainfall`, `Indoor_Temp`, `Outdoor_Temp`, `Indoor_Humidity`, `Outdoor_Humidity`, `Outdoor_dew_point`, `heat_index`) VALUES
(201006252337, 987.8, 1009.1, 6.9, 45.0, 19.9, 9.3, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252338, 987.8, 1009.1, 2.9, 90.0, 19.9, 9.3, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252339, 987.8, 1008.8, 0.0, 45.0, 19.9, 9.3, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252340, 987.8, 1008.8, 4.3, 45.0, 19.9, 9.0, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252341, 987.8, 1008.8, 1.8, 90.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252342, 987.8, 1008.8, 0.0, 90.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252343, 987.8, 1008.8, 0.0, 45.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252344, 987.8, 1008.8, 1.4, 45.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252345, 987.8, 1008.8, 1.8, 45.0, 19.9, 10.5, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252346, 987.8, 1008.8, 2.6, 0.0, 19.9, 13.4, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252347, 987.8, 1008.8, 4.3, 45.0, 19.9, 13.4, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252348, 987.8, 1008.8, 1.8, 90.0, 19.9, 13.4, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252349, 987.8, 1008.8, 0.0, 90.0, 19.9, 13.4, 0.0, 0.0, 24.8, 19.9, 51, 74, 15.1, 23.9),
(201006252350, 987.8, 1008.8, 0.0, 45.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 75, 15.2, 23.9),
(201006252351, 987.8, 1008.8, 1.1, 90.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 74, 15.0, 23.8),
(201006252352, 987.8, 1008.8, 4.0, 90.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 74, 15.0, 23.8),
(201006252353, 987.8, 1008.8, 0.3, 45.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 75, 15.2, 23.9),
(201006252354, 987.8, 1008.8, 0.0, 90.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 75, 15.2, 23.9),
(201006252355, 987.8, 1009.1, 5.0, 90.0, 19.8, 13.4, 0.0, 0.0, 24.8, 19.8, 51, 75, 15.2, 23.9),
(201006252356, 987.8, 1009.1, 0.0, 45.0, 19.6, 8.2, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006252357, 987.8, 1009.1, 0.0, 90.0, 19.6, 7.2, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006252358, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006252359, 987.8, 1009.1, 4.7, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006260000, 987.8, 1009.1, 2.9, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006260001, 987.8, 1009.1, 0.0, 90.0, 19.5, 5.8, 0.0, 0.0, 24.8, 19.5, 51, 75, 14.9, 23.4),
(201006260002, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 75, 15.0, 23.6),
(201006260003, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 76, 15.2, 23.7),
(201006260004, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 76, 15.2, 23.7),
(201006260005, 987.8, 1009.1, 0.0, 90.0, 19.6, 5.8, 0.0, 0.0, 24.8, 19.6, 51, 76, 15.2, 23.7),
(201006260006, 987.8, 1009.1, 0.0, 90.0, 19.5, 5.8, 0.0, 0.0, 24.8, 19.5, 51, 76, 15.2, 23.6),
(201006260007, 987.8, 1009.1, 0.0, 90.0, 19.5, 5.8, 0.0, 0.0, 24.8, 19.5, 51, 76, 15.2, 23.6);
Ja liitteenä kaikki php:t. Graph.php herjaa, ettei max()- ja min()-komentoja voida suorittaa. Voisivatko gurut hieman opastaa, missä ihmeessä vika on? MYSQL-asetukset pitäisi olla oikein.
Mikä tulee ainakin heti mieleen on että tarkista että data josta yrität saada max()-arvon on array-muodossa, muuten se ei toimi.
Eli muodossa
$data=array('23','34','34');
mistä voi johtua kun auringon teho pyörii tuolla 600 w paikkeilla, mutta kuvaan ei tule niin suuria mittausarvoja?
En tiedä näistä käyristä oikein mitään, mutta ainoa mikä tulee mieleen on, jos auringon teho on hetkellisesti mennyt vaikka 600w/m² eikä ole pysynyt siellä kauaa, jolloin käyrä olisi sitten jotenkin pyöristänyt lukemat ja jättänyt ne käyrästä pois.
kyllä voi noin olla, mutta aloin ihmettelemään kun oon seuraillut tuota grafiikkaa jo jonkun aikaa, eikä koskaan osu arvot kohdalleen.
Tuo on noita WD:n clientraw*:ta käyttäviä käppyröitä?
Silloin WD ottaa lukeman vain oliskos se kerran tunnissa ja se on se joka näkyy käyrässä. Tämä lukema on juuri sinä hetkellä oleva lukema eli ei mikään maksimi tms. Auringon wattilukema seilaa aika reilusti mitä olen seurannut, pienentyen ihan pienestäkin esteestä kuten pilvestä, puusta tms.
Eipä ole tullut tuotakaan ennen ihmeteltyä mitä noissa käyrissä oikein tapahtuu on vaan asennettu ja katsottu että käyrää alkaa ilmestyä ja sen jälkeen unohdettu. ;)
Pientä alakanttiin näyttämistä tuntuu täälläkin olevan JpGraph- ja Flashkäyrässä kun niitä vertailee tuohon WUn käyrään joka näyttää aivan oikein.
JpGraph näyttää tekevän tuommoista karkeata kuviota kun taas Flash- ja WUn käppyröistä näkee selvästi kun anturin ja auringon väliin tulee esteitä joten samat havainnot kun weathercillä.
Nälkä kasvaa syödessä :D
Eli seuraavaksi olisi tarkoitus iskeä kiinni näihin käyriin. Eli ajatus olis yhdistää sääaseman ulkolämpötilatieto ja ILP:n COP-kerroin samaan taulukkoon. Tästä sitten jokainen voi käydä seuraamassa miten COP käyttäytyy missäkin ulkolämpötilassa. Ehkä ulkoilmankosteus, tuuli ja talon kokonaisenergian kulutus voisivat olla seuraamisen arvoisia.
Tänään tuli muuten kaksi kuukautta täyteen siitä että ensimmäisen kerran kuuli jostain PHP:stä.
Pitipä rekisteröityä tällekin foorumille, tervestä vain kaikille tasapuolisesti, ilmoittaakseni, että minulla meni hermo jpgraphin kanssa touhuamiseen. Kirjoittelin sitten omat skriptit. Ulkoisesti näyttää tällä hetkellä tältä:
http://www.pikkupeura.com/saa/?1
Jos kiinnostusta riittää, niin voin laittaa koodit jakoon. Mutta ensin niitä täytyy vähän siistiä, että kehtaa vieraille näyttää. PHP:llä koodattu, vaatii gd-kirjaston, data MySQL-kannasta, kommentteja koodissa nolla. Käppyröiden koot ja värit pystyy melko helposti vaihtamaan.
Eli mikä tuolla pyörii, niin Clasulta haettu ja joulun jälkeen asenneltu Fine Offset -sääasema on kytketty arkikäytöstä poistettuun miniläppäriin. Palvelinpäässä pyörii cronilla ajastettu skripti, joka tallentaa kerran minuutissa realtime.txt:n tietokantaan. Käppyrät luodaan 10 minuutin tarkkuudella syystä että realtime.txt:ssä on viimeisen 10 minuutin korkein tuulenpuuska.
Mitä pitäisi vielä tehdä, niin ehkä kerran vuorokaudessa pitäisi ajaa joku skripti, joka ensinnäkin tarkistaa, onko tietokannasta jäänyt jostain syystä muutamia mittausajankohtia tallentamatta ja täyttää ne jollain logiikalla. Samalla voisi poistaa esim. kuukautta vanhemmat mittausarvot ja tehdä niillekin jotain. Nyt datan tarkistus tehdään samalla kun käyrät piirretään, mutta fiksumpaa olisi, jos voisi luottaa, että tietokannassa ei ole "tyhjiä mittauspisteitä".
Lainaus käyttäjältä: ppikkupe - maanantai, 20.02.2012, 13:40
Pitipä rekisteröityä tällekin foorumille, tervestä vain kaikille tasapuolisesti, ilmoittaakseni, että minulla meni hermo jpgraphin kanssa touhuamiseen. Kirjoittelin sitten omat skriptit. Ulkoisesti näyttää tällä hetkellä tältä:
http://www.pikkupeura.com/saa/?1
Jos kiinnostusta riittää, niin voin laittaa koodit jakoon. Mutta ensin niitä täytyy vähän siistiä, että kehtaa vieraille näyttää. PHP:llä koodattu, vaatii gd-kirjaston, data MySQL-kannasta, kommentteja koodissa nolla. Käppyröiden koot ja värit pystyy melko helposti vaihtamaan.
Eli mikä tuolla pyörii, niin Clasulta haettu ja joulun jälkeen asenneltu Fine Offset -sääasema on kytketty arkikäytöstä poistettuun miniläppäriin. Palvelinpäässä pyörii cronilla ajastettu skripti, joka tallentaa kerran minuutissa realtime.txt:n tietokantaan. Käppyrät luodaan 10 minuutin tarkkuudella syystä että realtime.txt:ssä on viimeisen 10 minuutin korkein tuulenpuuska.
Mitä pitäisi vielä tehdä, niin ehkä kerran vuorokaudessa pitäisi ajaa joku skripti, joka ensinnäkin tarkistaa, onko tietokannasta jäänyt jostain syystä muutamia mittausajankohtia tallentamatta ja täyttää ne jollain logiikalla. Samalla voisi poistaa esim. kuukautta vanhemmat mittausarvot ja tehdä niillekin jotain. Nyt datan tarkistus tehdään samalla kun käyrät piirretään, mutta fiksumpaa olisi, jos voisi luottaa, että tietokannassa ei ole "tyhjiä mittauspisteitä".
No helkkari hyvän näköiset käyrät. Laita vaan jakoon. Itse en ole tajunnut tuota jpgraphia miten se toimisi. Mutta nämä sinun tekemäsi on kohta paremmat.
Lainaus käyttäjältä: ppikkupe - maanantai, 20.02.2012, 13:40
Pitipä rekisteröityä tällekin foorumille, tervestä vain kaikille tasapuolisesti, ilmoittaakseni, että minulla meni hermo jpgraphin kanssa touhuamiseen. Kirjoittelin sitten omat skriptit. Ulkoisesti näyttää tällä hetkellä tältä:
http://www.pikkupeura.com/saa/?1
Jos kiinnostusta riittää, niin voin laittaa koodit jakoon. Mutta ensin niitä täytyy vähän siistiä, että kehtaa vieraille näyttää. PHP:llä koodattu, vaatii gd-kirjaston, data MySQL-kannasta, kommentteja koodissa nolla. Käppyröiden koot ja värit pystyy melko helposti vaihtamaan.
Eli mikä tuolla pyörii, niin Clasulta haettu ja joulun jälkeen asenneltu Fine Offset -sääasema on kytketty arkikäytöstä poistettuun miniläppäriin. Palvelinpäässä pyörii cronilla ajastettu skripti, joka tallentaa kerran minuutissa realtime.txt:n tietokantaan. Käppyrät luodaan 10 minuutin tarkkuudella syystä että realtime.txt:ssä on viimeisen 10 minuutin korkein tuulenpuuska.
Mitä pitäisi vielä tehdä, niin ehkä kerran vuorokaudessa pitäisi ajaa joku skripti, joka ensinnäkin tarkistaa, onko tietokannasta jäänyt jostain syystä muutamia mittausajankohtia tallentamatta ja täyttää ne jollain logiikalla. Samalla voisi poistaa esim. kuukautta vanhemmat mittausarvot ja tehdä niillekin jotain. Nyt datan tarkistus tehdään samalla kun käyrät piirretään, mutta fiksumpaa olisi, jos voisi luottaa, että tietokannassa ei ole "tyhjiä mittauspisteitä".
Vaikuttaa asialliselta, mieluusti koodit jakoon.
Mutta miksi aukot datassa olisivat näyttävälle päälle ongelma? Erityisesti datan täyttäminen jotenkin arpomalla kuulostaa arveluttavalta.
Lainaus käyttäjältä: khyron - maanantai, 20.02.2012, 15:23Vaikuttaa asialliselta, mieluusti koodit jakoon.
Mutta miksi aukot datassa olisivat näyttävälle päälle ongelma? Erityisesti datan täyttäminen jotenkin arpomalla kuulostaa arveluttavalt
Jees, kunhan tulee sopivaa taukoa, niin laitan koodit ladattavaksi. Tuosta ei ole tarkoitus tehdä pidempiaikaista projektia, mutta hiukan niitä täytyy kuitenkin siistiä.
Niin, toisaalta, ei kait aukot ongelmakaan ole. Lähinnä minua alkoi tekovaiheessa häiritsemään ajatus siitä, että piirrettävä käyrä ei olisi katkojen kohdalla yhtenäinen... Sen suurempaa syytä siinä ei ole taustalla. Tällä hetkellä jos arvo puuttuu, niin käytetään edellistä mittausarvoa.
Muistaakseni jPGraph vetää vain viivan data 1 ja 2 välille, eli jos "aukko" niin se vetää vain viivan edellisen ja seuraavan datan välille kunhan ei sitä "tyhjää" dataa ole mukana arrayssä jota sille syötetään. Eli kannattaa tarkistaa että syötetyt datat ovat numeerisia.
Lainaus käyttäjältä: ppikkupe - maanantai, 20.02.2012, 17:26
Lainaus käyttäjältä: khyron - maanantai, 20.02.2012, 15:23Vaikuttaa asialliselta, mieluusti koodit jakoon.
Mutta miksi aukot datassa olisivat näyttävälle päälle ongelma? Erityisesti datan täyttäminen jotenkin arpomalla kuulostaa arveluttavalt
Jees, kunhan tulee sopivaa taukoa, niin laitan koodit ladattavaksi. Tuosta ei ole tarkoitus tehdä pidempiaikaista projektia, mutta hiukan niitä täytyy kuitenkin siistiä.
Niin, toisaalta, ei kait aukot ongelmakaan ole. Lähinnä minua alkoi tekovaiheessa häiritsemään ajatus siitä, että piirrettävä käyrä ei olisi katkojen kohdalla yhtenäinen... Sen suurempaa syytä siinä ei ole taustalla. Tällä hetkellä jos arvo puuttuu, niin käytetään edellistä mittausarvoa.
Mun mielestä on parempi että puuttuvaa arvoa ei yritetä arpoa vaan selkeesti näytetään että se puuttuu. Mutta jos lähdetään hifistelemään niin paras olis ehkä säädettävä aika millä vois ilmottaa kuinka lyhkänen katkos hoidettas vaan viivalla ja sen yli menevä katkos näytettäs. Esim. kun mulla arvot menee minuutin välein kantaan niin yhden arvon puuttuminen ei oikeastaan ole ongelma.
Lainaus käyttäjältä: khyron - maanantai, 20.02.2012, 19:27Mun mielestä on parempi että puuttuvaa arvoa ei yritetä arpoa vaan selkeesti näytetään että se puuttuu. Mutta jos lähdetään hifistelemään niin paras olis ehkä säädettävä aika millä vois ilmottaa kuinka lyhkänen katkos hoidettas vaan viivalla ja sen yli menevä katkos näytettäs. Esim. kun mulla arvot menee minuutin välein kantaan niin yhden arvon puuttuminen ei oikeastaan ole ongelma.
Jees, minullakin menee arvot kantaan minuutin välein, mutta parsittaessa ne haetaan vain tasakymmenminuutteina. Siitä ei näkynyt suurtakaan hyötyä, jos käyrät piirsi minuutin tarkkuudella. Rasittipa vain palvelinta. Mutta onpahan kuitenkin dataa, jos sille keksii jotain käyttöä.
Teoriassa järjestelmä on aika luotettava. FTP-yhteys toimii hyvin. Croni nakuttaa skriptin pätkää kellon tarkkuudella. Mittausarvon aika otetaan siitä hetkestä kun data tallennetaan tietokantaan, ei realtime.txt:n arvosta. Eli periaatteessa "aukkoja" ei pitäisi tulla ellei sitten palvelin ole alhaalla.
Käytännössä hankaluutta tuli siitä, että minulla ei ole tuolle palvelimelle crontabin ajo-oikeutta (ehkä sen saisi jos kysyisi), joten ajastus täytyi hoitaa toisen palveluntarjoajan palvelimelta käsin http-kutsuna. Se taas ei näytä aina toimivan pätkimättä, mutta hyvällä prosentilla kuitenkin.
Jos jotain isompaa jatkokehitystä teen, niin ajastetuissa tehtävissä voisi tosiaan parsia dataa vähän pidemmälle ja huolehtia mahdollisista häiriötilanteistakin. Varsinaisilla sivuilla olevien skriptien ei tarvitsisi sitten huolehtia mistään muusta kuin piirtää käppyrä valmiiksi käsitellystä datasta.
Nyt hiukan sekoitan teidän juttua, mutta aikanaan kun väsäsin yksinkertaista graafia one-wire verkon mittaukseen kokeilin tuota jpgraphia ja en siitä ymmärtänyt mitään :D
Sitten tutustuin gnuplot ohjelmaan http://www.gnuplot.info/ jos tekeen ihan jotain yksinkertaista gafiikkaa niin tuo oli paljon yksinkertaisempi ainakin linux pohjaisena, toimii myös windowsissa.
Lainaus käyttäjältä: Nummika - tiistai, 21.02.2012, 08:35
Nyt hiukan sekoitan teidän juttua, mutta aikanaan kun väsäsin yksinkertaista graafia one-wire verkon mittaukseen kokeilin tuota jpgraphia ja en siitä ymmärtänyt mitään :D
Sitten tutustuin gnuplot ohjelmaan http://www.gnuplot.info/ jos tekeen ihan jotain yksinkertaista gafiikkaa niin tuo oli paljon yksinkertaisempi ainakin linux pohjaisena, toimii myös windowsissa.
Gnuplot on hyvä jos tekee graafit ajastetusti staattiseksi, jos taas dynaamisesti haluaa generoida graafit se on vähän huono kun pitää aina käynnistää uusi prosessi.
Sikäli olen kyllä pohtinut että graafit voisi hyvin generoida kymmenen minuutin välein, kunneivät ne oikeasti niin nopeasti muutu että tiheämpi päivitysväli olisi tarpeellinen. Tuolla saisi myös kuormaa pois palvelimelta.
No linux on siitä helppo että siihen voi tehdä kaikenlaisia ajastuksia crontabbiin, kai saman saa jotenkin windowssiinkin.
Itsellä käy hakemassa minuutin välein mittaustiedot ja tekee niistä graafin muistaakseni 1440 viimeisimmästä mittauspisteestä, jolloin graafi näkyy viimeisen vuorokauden ajalta.Toki saa niinkin että mittaa minuutin välein ja tekee graafin jonka lähettää esim 10 min välein nettisivulle
http://nummika.pp.fi/Premier13/ultimate.html Hyvin yksinkertainen graafi, html koodissa ei vain ole mitään että sivu päivittyisi itse.
Ei paljoa rasita konetta eikä palvelinta, vanha läppäri sitä siellä pyörittelee.
JpGrapheista luovuin aikoinas koska "näyttivät kivikautiselta" ja siirryin javascript-pohjaisiin kuten Flot tai Highcharts johon saa tooltippeja sun muuta hubaa mukaan ;D
Nämä lukevat datat datatiedostosta tai js-arraystä ihan miten haluaa.
Mutta, JpGraphitkin voi tallentaa kuviksi jos haluaa, näin voi sivulla näyttää sitä kuvaa ja cronilla tai VBS-scriptillä + SystemShedulerillä tai jollain generoida ne ajastetusti tasaisen väliajoin. Tämä on parmepi keino varsinkin jos sivulla on vierailijoita edes pikkasen enemmän kun yks kerrallas kattelemassa niitä koska PHP:n GD voi olla suht raskas.
Lainaus käyttäjältä: weatherc - tiistai, 21.02.2012, 11:23JpGrapheista luovuin aikoinas koska "näyttivät kivikautiselta" ja siirryin javascript-pohjaisiin kuten Flot tai Highcharts johon saa tooltippeja sun muuta hubaa mukaan ;D
Tattis muuten vinkistä Highchartsin suhteen. Jos olisin tuosta aiemmin tiennyt, niin aika hilijasta, että olisin itse alkanut koodaileen... ;D Alkuinnostuksen jälkeen ei se nyt niin mukavaa tuohua sentään ole.
Mutta on siinä omat etunsakin, että käyrät on (pieninä) kuvatiedostoina. Ainakin jos miettii, että tekisi erillisen mobiiliversion.
MINÄ TEIN SEN ;D ;D ;D
Ei mennyt kuin xxxx-määrä aikaa että sain pelaamaan jpgraphin. Fontti homma aiheutti aika paljon pään vaivaa, mutta vihdoinkin.