st_e ottimo lavoro!!
Per avere il grafico dell radiazione solare colorato (tutto pieno), basta che al posto di drawsplinechart, metti drawfilledsplinechart..
cosi:
Per colorarlo di rosso devi settare il parametroCodice:$SplineSettings = array("R"=>255,"G"=>255,"B"=>255,"ShowControl"=>TRUE); $myData->drawFilledSplineChart($SplineSettings);con ciò che trovi qui: pChart 2.0 online documentationCodice:$myData->loadPalette
Complimenti ancora per l'ottimo lavoro!
FEde
PS: scuota la tua casella dei messaggi privati!!!!!!![]()
ho lo stesso problema che non riesco a risolvere, mi puoi far sapere come hai fatto?
nel frattempo ringrazio Federico_1 per la guida
PS: noto che per generare un grafico con 288 dati ci vogliono 10/15 sec, un pò troppo considerando che a regime sono almeno 5/6 i grafici da aggiornare ogni 5 minuti (quelli giornalieri), mentre con meno frequenza si possono aggiornare quelli mensili/annuali
l'hardware è un seagate dockstar (di fatto lo stesso hardware dello sheevaplug cpu arm 1,2GHz ma con solo 128Mb di ram invece di 512)
cat /proc/cpuinfo
Processor : Feroceon 88FR131 rev 1 (v5l)
BogoMIPS : 1192.75
Features : swp half thumb fastmult edsp
come informazione di servizio, comunico che lo svendono a 10 euro
Dockstar, confronta prezzi e offerte dockstar su Trova Prezzi
smanettando un pò
Run Linux on your Dockstar, GoFlex, or Pogoplug NAS
Seagate DockStar | Arch Linux ARM
diventa uno sheevaplug (con alcuni limiti: no slot sd, no interfaccia jtag ed alcuni vantaggi: 3/4 porte usb powered)
come indicato dallo sviluppatore di wview sulla mailing list è al momento l'hardware migliore per far girare wview
a chi lo dovesse prendere consiglio di non fare il primo collegamento al router con internet attivo perchè il dockstar telefona a casa per cambiare la password di default dell'accesso ssh (niente di irrimediabile, ma se succede poi lo dovete aprire e costruirvi un cavetto seriale per l'accesso alla sequenza di boot), per il resto è indispensabile leggere bene la documentazione sui siti sopraindicati prima di fare qualsiasi cosa
per ulteriore chiarezza il dockstar una volta moddato non boota bene da tutte le penne usb (la sandisk cruzer 4Gb codename SDCZ36-004G-B35 va bene, altre possono avere problemi di boot a freddo (cioè dopo un power failure) o boot a caldo (cioè usando il comando reboot o il tasto reset hardware del dispositivo)), i dischi esterni di tipo tradizionale invece non dovrebbero avere problemi
tornando in topic attendo da st_e il chiarimento riguardo le etichette da non stampare sull'ascissa
forse qualcosa del genere?
$myData->drawScale(array("LabelSkip"=>40));
ma in che punto dell script, non riesco a risolvere
e ringrazio nuovamente l'autore della guida
Stazione Meteo di Nardo' #1 Davis VP2 + Wview v.5.19.0 + Saratoga WV-plugin
Stazione Meteo di Nardo' #2 TFA Nexus + Wview v.5.19.0 + Saratoga WV-plugin
ciao, grazie a tutti per i ringraziamenti(perdonate il gioco di parole)
Per saltare le etichette, basta che scrivi tra le () di drawscale, come hai detto tu, "LabelSkip"=>40, ad esempio:
$myData->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRU E,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"LabelSki p"=>40));
in realtà i tre portali linkati da trovaprezzi fanno capo ad un unico negozio (che probabilmente è un distributore di esprinet), io ne ho ordinati 3 pezzi al prezzo indicato e sono arrivati in due giorni, uno l'ho già modificato (leggi: ho riflashato la nand flash in modo da sostituire al bootloader originale che supporta solo il boot da nand flash quello di jeff doozan Run Linux on your Dockstar, GoFlex, or Pogoplug NAS che permette di bootare da pen drive o disco usb)
gli altri due sono ancora nella scatola e servono come backup di altri due che avevo preso mesi fa (questi a circa 30 euro ognuno da ebay venduti come 'ricondizionati dal venditore', ed infatti uno arrivò brickato ma lo fixai col cavetto seriale)
l'oggetto è fuori produzione, pare seagate non ci abbia creduto molto, in america ci sono state offerte ad un euro in grosse catene di informatica
per chiarire, questo oggetto sarebbe un nas che permette di condividere su internet i file dell'utente tramite il servizio pogoplug di cloug engines
Pogoplug
la cloud engines produce già un dispositivo compatibile, appunto il pogoplug, che ha a corredo l'abbonamento al servizio senza limiti di tempo, il dockstar invece viene venduto con solo un anno di abbomamento, quindi uno dovrebbe pagare un canone annuale per condividere i propri file sulla rete utilizzando un servizio di terze parti (alla faccia della privacy)
mi risulta che seagate non abbia mai attivato il servizio di rinnovo abbonamento annuale e questo la dice lunga sul successo del dispositivo per come è nato
naturalmente grazie a volenterosi hacker (Hacker - Wikipedia) ora il dispositivo è il plug computer più a basso costo esistente
Stazione Meteo di Nardo' #1 Davis VP2 + Wview v.5.19.0 + Saratoga WV-plugin
Stazione Meteo di Nardo' #2 TFA Nexus + Wview v.5.19.0 + Saratoga WV-plugin
Grazie mille per le info ;-)
Ne ordino subito uno allora!!!!!!!
dockstar + pen drive 4 gb + distro archilux arm in idle -> 3W
in load dovremmo essere sui 5W
con disco fisico invece mi pare di aver letto che il consumo è sui 7/8W
cmq è come lo sheevaplug dato che l'hardware è identico
infatti leggendo le ultime righe di /proc/cpuinfo
#tail -n 3 /proc/cpuinfo
Hardware : Marvell SheevaPlug Reference Board
Revision : 0000
Serial : 0000000000000000
Marvell Computing sono i progettisti dello sheevaplug
Stazione Meteo di Nardo' #1 Davis VP2 + Wview v.5.19.0 + Saratoga WV-plugin
Stazione Meteo di Nardo' #2 TFA Nexus + Wview v.5.19.0 + Saratoga WV-plugin
Ciao
@rrt4 per il priblema delle label ti ha risposto federico, comunque qui sotto allego il mio script cosi puoi vedere dove inserire il "LabelSkip"
@Dark84 nelle pagine precedenti ho indicato il link dove scaricare lo script x i grafici con jpgraph e le indicazione per farlo eseguire alla perfezione.
@rrt4 secondo me l'approccio di federico per ottenere i dati da mysql è buono ma la scelta di gestirlo in locale mmmmmm
php è un linguaggio server side quindi far generare i grafici sulla macchina locale per poi caricarli sul webserver non è la soluzione migliore.
La mia scelta di utilizzare ARC..... e dettata dallo sgravare il piu possibile il povero nslu2 dove gira il mio wview ed anche da limitare al massimo il traffico in upload della mia ADSL ...... quindi tutti i miei script sono nati per girare sul webserver lasciando a lui tutta la "fatica" di generazione dei grafici.
Ecco lo script per il grafico della radiazione solare da dati ARC.......
uniche indicazioni copiare le classi pchart sul webserverCodice:<?php ################################################################################ # Crazione grafico radiazione solare con colorazione area dati ARC-**-**-**.txt# # utilizzando le classi pchart 2.0 # ################################################################################ # Autore: Stefano B. st_e # # Sito : http:\\meteocba.altervista.org # # # # Copyright: (c) Agosto 2011 # # si prega di non modificare questo header # # # ################################################################################ ##################################### Settaggi ################################# $dir_glob ="/membri/meteocba"; //percorso globale root del sito //questo "/membri/112233" è valido per altervista dove //112233 è il nome del vostro sito su altervista $dir_jpg ="/membri/meteocba/pchart"; //percorso globale dove sono installate le clasii pchart $graf ="0"; //se questo è settato a "1" crea un file .png del grafico //se settato a "0" il grafico viene mostrato al browser $nome_grafico="/membri/meteocba/solaref.png"; //nome del file generato se sopra settato a "1" $colore_area ="darkred"; //colore riempimento area grafico es. "red" "blue" ###################################FINE Settaggi ############################### include("$dir_jpg/class/pDraw.class.php"); include("$dir_jpg/class/pImage.class.php"); include("$dir_jpg/class/pData.class.php"); //ricava e assegna alle variabili i giorno attuale $data= date("Ymd", mktime()); $anno= substr($data,0,4); $mese= substr($data,4,2); $day= substr($data,6,2); //ricava e assegna alle variabili il giorno precedente $dataprec = date ("Ymd", mktime()-86400); $annoprec= substr($dataprec,0,4); $meseprec= substr($dataprec,4,2); $dayprec= substr($dataprec,6,2); $fit=array(); $fit=file("$dir_glob/Archive/ARC-$anno-$mese-$day.txt"); $righe1 =count($fit)-1; //in 1 giorno completo righe1 è 289 sotto n=2 perche salta le 2 righe di intestazione del file $righe2 = 289 - $righe1; //numero di letture per avere un giorno completo $righe=0; if ( $righe2 > 0) { $fit1=array(); $fit1=file("$dir_glob/Archive/ARC-$annoprec-$meseprec-$dayprec.txt"); for ($n = $righe1 ; $n <= 289 ; $n++) { $fit1[$n] = str_replace(" ","\t",$fit1[$n]); list($stamp,$orario,$temp,$chill,$hindex,$humid,$dewpt,$wind,$hiwind,$winddir,$rain,$barom,$solare,$et,$uv) = explode("\t",$fit1[$n]); $ora[$righe] = round(substr($orario,0,2)); $min[$righe] = round(substr($orario,3,2)); $ytemp[$righe]= $temp; $ychill[$righe]= $chill; $yhindex[$righe]=$hindex; $yhumid[$righe]= $humid; $ydewpt[$righe]= $dewpt; $ywind[$righe]=$wind; $yhiwind[$righe]=$hiwind; $ywinddir[$righe]=$winddir; $yrain[$righe]=$rain; $ybarom[$righe]= $barom; $ysolare[$righe]=$solare; $yet[$righe] = $et; $tdata[$righe]= mktime($ora[$righe],$min[$righe],0,$meseprec,$dayprec,$annoprec); $righe = $righe +1; } } for ($n = 2 ; $n <= $righe1 ; $n++) { $fit[$n] = str_replace(" ","\t",$fit[$n]); list($stamp,$orario,$temp,$chill,$hindex,$humid,$dewpt,$wind,$hiwind,$winddir,$rain,$barom,$solare,$et,$uv) = explode("\t",$fit[$n]); $ora[$righe] = round(substr($orario,0,2)); $min[$righe] = round(substr($orario,3,2)); $ytemp[$righe]= $temp; $ychill[$righe]= $chill; $yhindex[$righe]=$hindex; $yhumid[$righe]= $humid; $ydewpt[$righe]= $dewpt; $ywind[$righe]=$wind; $yhiwind[$righe]=$hiwind; $ywinddir[$righe]=$winddir; $yrain[$righe]=$rain; $ybarom[$righe]= $barom; $ysolare[$righe]=$solare; $yet[$righe] = $et; $tdata[$righe]= mktime($ora[$righe],$min[$righe],0,$mese,$day,$anno); $righe = $righe +1; } /* Prepare some nice data & axis config */ $myData = new pData(); $myData->addPoints($ysolare,"Radiazione Solare"); $myData->setAxisName(0,""); $myData->setAxisUnit(0,"watt"); $myData->setPalette("Data",array("R"=>55,"G"=>91,"B"=>127)); /* Create the X serie */ $myData->addPoints($tdata,"dateTime"); $myData->setAbscissa("dateTime"); $myData->setXAxisDisplay(AXIS_FORMAT_DATE,"H:i"); $myData->setAbscissaName(""); /* Will replace the whole color scheme by the "light" palette */ $myData->loadPalette("palettes/spring.color", TRUE); /* DIMENSIONI TOTALI IMMAGINE */ $myData = new pImage(800,600,$myData); /* Choose a nice font */ $myData->setFontProperties(array("FontName"=>"$dir_jpg/fonts/calibri.ttf","FontSize"=>10)); /* DIMENSIONI GRAFICO AERA INTERNA TRATTEGGIATA*/ $myData->setGraphArea(60,40,700,210); $myData->drawGradientArea(0,0,750,240,DIRECTION_VERTICAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>100)); $myData->drawGradientArea(0,0,750,240,DIRECTION_HORIZONTAL,array("StartR"=>240,"StartG"=>240,"StartB"=>240,"EndR"=>180,"EndG"=>180,"EndB"=>180,"Alpha"=>20)); /* Add a border to the picture */ $myData->drawRectangle(0,0,750,240,array("R"=>0,"G"=>0,"B"=>0)); $myData->drawText(20,30,"Radiazione Solare ultime 24h",array("FontSize"=>15,"Align"=>TEXT_ALIGN_BOTTOMLEFT)); /* Write the chart legend */ $myData->drawLegend(550,30,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL)); /* Compute and draw the scale */ $myData->drawScale(array("CycleBackground"=>TRUE,"DrawSubTicks"=>TRUE,"GridR"=>0,"GridG"=>0,"GridB"=>0,"GridAlpha"=>10,"LabelSkip" => 47)); $SplineSettings = array("R"=>255,"G"=>255,"B"=>255,"ShowControl"=>TRUE); $myData->drawFilledSplineChart($SplineSettings); //$myData->drawSplineChart($SplineSettings); /* Build the PNG file and send it to the web browser */ //$myData->Render("$dir_glob/prova123.png"); $myData->stroke(); ?>
modificare i pochi settagi all'inizio dello script
e settare wview per uploadare il file ARC..... ogni 5 minuti.
Per info sono qui
CIAOOOOOOOO
p.s. ho liberato la casella dei mp
Meteo Castelnuovo Bocca d'Adda
Stazione Urbana:Davis Vantage Pro2 cablata
Trasmissioni dati: NSLU2-wview 24/24
Sito
http://www.meteocba.altervista.org in allestimento
Wunderground
http://www.wunderground.com/weathers...p?ID=ILODICAS2
problema: gestione/rappresentazione dati mancanti
i dati possono mancare per vari motivi: problemi di comunicazione con la stazione, blackout, downtime per manutenzione, riavvio, etc
in questo caso nessuna entry viene scritta nel database sqlite ma cmq nei grafici di wview appare il buco rappresentante l'assenza di dati
ora quando si esporta nel db mysql i dati con i relativi timestamp continuano a mancare e facendo una query per i primi 288 dati (24 ore con archiviazione ogni 5 minuti) sul database ordinato con timestamp DESC e poi ordinandoli con timestamp ASC l'intervallo di tempo coperto non è più di 24 ore ma maggiore e i timestamp mancanti non vengono è rappresentati con un buco nè interpolati
per chiarire meglio se il downtime è durato dalle 9 alle 11 sul grafico un punto rappresenterà la situazione alle 9 e quello immediatamente successivo la situazione alle 11,
esempio concreto, scusate la grandezza dell'immagine
Uploaded with ImageShack.us
intervallo 23.15-3.15 , sono 4 ore cioè 48 etichette 'saltate' ma il labelskip è impostato a 40 cioè al salto di 3 ore e 20 minuti di etichette, come si vede negli altri intervalli corretti del grafico
questo perchè in quel periodo ho riavviato varie volte perdendo circa 8 rilevazioni/archiviazioni
Stazione Meteo di Nardo' #1 Davis VP2 + Wview v.5.19.0 + Saratoga WV-plugin
Stazione Meteo di Nardo' #2 TFA Nexus + Wview v.5.19.0 + Saratoga WV-plugin
Segnalibri