Software Solare, Termico, Eolico, Meccanico... e Dati
Come salvare e/o condividere i dati in rete

VISUALIZZA L'ALBUM

Pag: (9)   [1]   2   3   4   5   6  ...>    (Ultimo Msg)


FinePagina

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 20/10/2013,18:28

Iniziamo con l'identificare i dati in due grandi categorie :1. alfanumerico2. graficoIl dato alfanumerico è un insieme di caratteri e/o numeri.Un grafico è una qualsiasi immagine.Questo è un esempio:Link.La pagina è suddivisa in due parti, la sinistra contiene dati alfanumerici, la parte destra contiene una immagine grafica.

ForumEA/PPTEA_IMG_FORUM/SaveDataWeb.jpg

Ma come fare a salvare i dati su un Server e poi visualizzare i dati?Un modo semplice può essere utilizzando l'url stesso di un browser accedendo ad un piccolissimo 'programmino' residente sul server che può essere anche gratuito.Facciamo una prova copia l'url e scriviamolo nel brower:www.pptea.it/cgi-bin/SalvaDati.pl?CiaoSonoIoIl server memorizzerà i dati in modo permanente perchè il programmino SalvaDati.pl è colui che memorizza i dati.Potete cambiare la scritta CiaoSonoIo e scriverci quello che volete...il server memorizzerà i dati.Se non ci credete caricate questa url nel vostro browserwww.energialternativa.info/Public/NewForum/ForumEA/pptea/file/dati.txt e vedrete i vostri dati come le ultime righe della pagina che vi verrà visualizzata.Oltre i dati il programma salta il vostro indirizzo ip e la data.



Modificato da NonSoloBolleDiAcqua - 18/06/2014, 12:26:42


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 20/10/2013,18:56

Se facciamo attenzione tutto ruota intorno ad una pagina o meglio ad un file SalvaDati.pl che non è altro che un gci scritto in linguaggio perl.

Sono poche righe di codice che salvano tutto quello che gli si passa nel file DATI.TXT;questo è il suo codice:


CODICE
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n"; #CREO LA PAGINA HTML DI RISPOSTA ALL'INTERROGAZIONE
print "   <BODY>\n";
##Estrazione data e ora
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
@weekday = ( "Sun","Mon","Tue","Wed","Thu","Fri","Sat" );
if ($sec < 10)   { $sec = "0$sec";  }
if ($min < 10)   { $min = "0$min";  }
if ($hour  < 10) { $hour= "0$hour"; }
if ($mday  < 10) { $mday= "0$mday"; }
if (++$mon < 10) { $mon = "0$mon";  }
$year += 1900;
$date_now = "$mday/$mon/$year $weekday[$wday] $hour:$min:$sec";
##Fine estrazione data e ora
print "DATI SALVATI: $date_now  \n";
print "</P>\n";
print " </BODY>\n";
print "</HTML>\n"; #FINE PAGINA HTML
open(FILE,">> ..\\public\\file\\DATI.txt"   || die "Errore!\n\n";  #APRO IL FILE
print FILE "IP=$ENV{REMOTE_ADDR} \n"; # SCRIVO SUL FILE L'INDIRIZZO IP
print FILE "PAR=$ENV{QUERY_STRING}\n"; # SCRIVO SUL FILE I PARAMETRI PASSATI
print FILE "date=$date_now\n"; # SCRIVO LA DATA
close FILE; # CHIUDO IL FILE


Quindi in questo modo, possiamo prendere uno spazio gratuito su un server che gestisce i cgi/perl ed il gioco è fatto...possiamo salvare i dati semplicemente interrogando la nostra pagina passando i valori da memorizzare come parametri, cioè dopo il punto interrogativo. Il salvataggio nell'esempio i dati vengono sempre accodati ...ma si sovrascrivere il file in modo da tenere aggiornata l'ultimo valore, oppure si possono aprire i file in modo giornaliero, mensile etc...
I dati salvati possono essere l'input di una pagina web e tutti connettendosi ad una pagina creata ad hoc possono vedere i dati.
Semplice no? faccine/smile.gif



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

semar

Avatar
KiloWatt


Utente
Msg:178

Stato:



Inviato il: 21/10/2013,21:09

Argomento invero interessante ed attuale !

Aggiungo solo che si puo' ottenere lo stesso con uno script di tipo PHP, anzi forse trovare uno spazio gratuito con interprete PHP e' a mio avviso piu' facile che non trovarne uno con Perl.

Un' altra cosa, bisogna poi decidere per un 'protocollo' di lettura/scrittura, in modo da sapere a priori se i dati che si vanno a leggere sono semplice testo, o vanno intepretati diversamente, come per es. i valori di un grafico. Si potrebbe quindi modificare lo script in modo da aggiungere tale informazione aggiuntiva nel file.

Una ulteriore estensione del tutto sarebbe quella di usare un database MySql - anche questo e' spesso gratuito su alcuni Server Provider. In tal modo si possono salvare e filtrare dati singoli con semplici comandi di tipo SQL, evitando di avere a che fare con file di testo o binari, che alla lunga diventano difficili da gestire ed interpretare, senza parlare poi di tutto il lavoro di 'parsing' che si deve fare per estrarre un certo dato in una certa posizione nel file.

Per es. se volessi sapere la velocita' del vento e la sua direzione, registrati nel giorno 20 Ottobre 2013 alle ore 12:30, utilizzando un database potrei scrivere qualcosa come

CODICE
SELECT wind_speed, wind_direction FROM Tabella_Dati_Eolici WHERE giorno = '20.10.2013' AND orario = '12:30'

Ricavare le stesse informazioni da un file risulterebbe piuttosto oneroso.

Comunque per memorizzare informazioni semplici, un file di testo puo' andare ancora bene.



---------------



 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 22/10/2013,18:21

CITAZIONE (semar @ 21/10/2013, 22:09)
Aggiungo solo che si puo' ottenere lo stesso con uno script di tipo PHP, anzi forse trovare uno spazio gratuito con interprete PHP e' a mio avviso piu' facile che non trovarne uno con Perl.

Anche il PHP va bene...ma i cgi-perl sono i più supportati gratuitamente.



CITAZIONE (semar @ 21/10/2013, 22:09)
Una ulteriore estensione del tutto sarebbe quella di usare un database MySql - anche questo e' spesso gratuito su alcuni Server Provider. In tal modo si possono salvare e filtrare dati singoli con semplici comandi di tipo SQL, evitando di avere a che fare con file di testo o binari, che alla lunga diventano difficili da gestire ed interpretare, senza parlare poi di tutto il lavoro di 'parsing' che si deve fare per estrarre un certo dato in una certa posizione nel file.

Non amo i database convenzionali...creano problemi, richiedono competenze e non sono quasi mai gratuiti.


CITAZIONE (semar @ 21/10/2013, 22:09)
CODICE
SELECT wind_speed, wind_direction FROM Tabella_Dati_Eolici WHERE giorno = '20.10.2013' AND orario = '12:30'

Ricavare le stesse informazioni da un file risulterebbe piuttosto oneroso.

La complessità Omega è inifitamente più grande rispetto un data base (anche file) fatto in casa....non abbiamo milioni o miliardi di dati...per farla breve, il tuo comando è semplice ma scatena decine di processi e una elaborazione che non si vede ma costa...sai l'energia è importante! faccine/smile.gif

CITAZIONE (semar @ 21/10/2013, 22:09)
Comunque per memorizzare informazioni semplici, un file di testo puo' andare ancora bene.

Non concordo ma è un mio punto di vista...possiamo parlarne ma usciremo fuori tema! faccine/smile.gif



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

ronwal

Avatar
GigaWatt


Utente
Msg:1743

Stato:



Inviato il: 22/10/2013,20:58

faccine/wacko.gif faccine/blink.gif non è molto chiaro!!! cos è pearl?

myseql? mi piacerebbe capirci qualcosina



---------------
6 bosch csi 240 mono, 9 ldk 225 poly,
Outback flex max 60, psw 7 advance 4kw 48v,
24 elem...

 

semar

Avatar
KiloWatt


Utente
Msg:178

Stato:



Inviato il: 22/10/2013,23:16

CITAZIONE (ronwal @ 22/10/2013, 21:58)
faccine/wacko.gif faccine/blink.gif non è molto chiaro!!! cos è pearl?

myseql? mi piacerebbe capirci qualcosina

Allora il linguaggio si chiama PERL faccine/smile.gif ---> http://it.wikipedia.org/wiki/Perl

MySql ---> http://it.wikipedia.org/wiki/MySQL

MySql e' un database relazionale normalmente installato su server Apache/Tomcat. Questi ultimi sono dei veri e propri interpreti del linguaggio PHP, e non solo. Insomma sono le installazioni piu' comuni su cui si basano i Server web.



---------------



 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 24/10/2013,14:01

Abbiamo visto come salvare i dati mediante una chiamata da un browser ...ma cosa si fa a salvare i dati provenienti da un sistema a microprocessore? In genere quasi tutti i processori prevedono una connessione di tipo seriale RS232, ed anche i PC ne disponevano una...poi il tempo passa, la tecnologia va avanti e la seriale è stata abbandonata per lasciare posto alle USB, molto più veloci ed affidabili. I processori però non tutti dispongono una connessione alla USB....quindi o si provvede a reperire un convertitore SERIALE<->USB ....oppure occorre avere un processore che gestisca la USB. Anche quei processori che gestiscono la USB la vedono come se fosse una seriale, cioè occorre impostare la velocità ed altri parametri per dialogare e anche il SW che gira all'interno del PC vede queste informazioni come se provenissero da una seriale...quindi di fatto, se non si vuole integrare l'HW-SW della USB, tutto viene visto in modo classico.
Quindi una soluzione per inviare i dati in rete è quella di interfacciare il calcolatore con una usb al microprocessore e mediante un SW (sviluppato in qualsiasi linguaggio) si inviano i dati in rete...esattamente come l'esempio del Browser sopra proposto...in questo caso il software che gira nel PC viene visto come un passa-dati. Volendo, il SW che gira nel calcolatore, può effettuare alcune operazioni e potrebbe 'alleggerire' il compito del processore...oppure potrebbe metterci qualcosa di suo. Questo dipende da quello che si vuole fare.

Ma se volessimo non inviare i dati in rete?Cioè li lasciamo direttamente nel pc? E il PC è connesso in una rete e gli vogliamo far fare il WEB SERVER? Cos'è un WebServer? Lo vediamo la prossima volta.
faccine/smile.gif



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

ronwal

Avatar
GigaWatt


Utente
Msg:1743

Stato:



Inviato il: 21/08/2015 19:01:46

Ciao Bolle ,la discussione e un po datata ma vediamo se c'è ancora la possibilità di capire.....
Allora, io ora ho un web server che se interpellato rispedise ogni 5 secondi valori del mio impianto tramite una semplice pagina web, quello che chiedo io: e possibile creare un grafico che li visualizzi?



---------------
6 bosch csi 240 mono, 9 ldk 225 poly,
Outback flex max 60, psw 7 advance 4kw 48v,
24 elem...

 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 22/08/2015 08:13:07

Certo, dai qualche informazione in più sul web server e su come invii i dati.
Ciao
Bolle



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

ronwal

Avatar
GigaWatt


Utente
Msg:1743

Stato:



Inviato il: 22/08/2015 08:43:34

se vuoi ti mando in privato l'indirizzo a cui puntare per riceverli
Ti ho mandato mp!



Modificato da ronwal - 22/08/2015, 08:48:10


---------------
6 bosch csi 240 mono, 9 ldk 225 poly,
Outback flex max 60, psw 7 advance 4kw 48v,
24 elem...

 

ronwal

Avatar
GigaWatt


Utente
Msg:1743

Stato:



Inviato il: 22/08/2015 09:01:41

La pagina web viene aggiornata ogni 5 secondi, e i valori vengono aggiornati ogni 20 sec...



---------------
6 bosch csi 240 mono, 9 ldk 225 poly,
Outback flex max 60, psw 7 advance 4kw 48v,
24 elem...

 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 22/08/2015 10:28:17

Allora, ho visto la tua pagina...presenta questi dati che vengono aggiornati:

BATTERIE Volt 26.7
PANN CASA Wp830
PANN GARAGE Wp596
INVERTER W129
ENEL W0


Questi dati che sono presenti sul tuo webserver dovrebbero essere inviati ad un server, ad esempio quello del nostro forum.Faccio un esempio: riesci ad inviare i dati dal tuo web server farlo?

http://www.energialternativa.info/Public/NewForum/SolarPlatform/DatiImpianto.php?DatiDaInviare


Questo potrebbe essere un impotetico formato dei DatiDaInviare:
BATTERIE Volt 26.7 PANN CASA Wp830 PANN GARAG Wp596 INVERTER W129 ENEL W0



Questo è il link...basta schiacciare il pulsante per inviare i dati al nostro server....i dati vengono raccolti per poi aprire un'altra pagina dove viene generato il grafico!

LINK

Ciao
Bolle



Modificato da NonSoloBolleDiAcqua - 22/08/2015, 10:32:48


---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

ronwal

Avatar
GigaWatt


Utente
Msg:1743

Stato:



Inviato il: 22/08/2015 10:36:07

arabo antico!!!! Non so come fare ad inviarli...



---------------
6 bosch csi 240 mono, 9 ldk 225 poly,
Outback flex max 60, psw 7 advance 4kw 48v,
24 elem...

 

NonSoloBolleDiA...

Avatar
PetaWatt


AMMINISTRATORE
Msg:13786

Stato:



Inviato il: 22/08/2015 10:41:01

Quale webserver usi ? Come fai a caricare/inviare i dati sul tuo webserver?



---------------
Chi sa raccontare bene le bugie ha la verità in pugno (by PinoTux).
Un risultato se non è ripet...

 

ronwal

Avatar
GigaWatt


Utente
Msg:1743

Stato:



Inviato il: 22/08/2015 10:55:57

arduino uno....



---------------
6 bosch csi 240 mono, 9 ldk 225 poly,
Outback flex max 60, psw 7 advance 4kw 48v,
24 elem...

 
 InizioPagina
 

Pag: (9)   [1]   2   3   4   5   6  ...>    (Ultimo Msg)

Versione Completa!

Home page     TOP100-SOLAR    Home page forum