Newsgroup: it.comp.www.php
Titolo: dati da seriale

Avrei bisogno di leggere una serie di dati dalla porta seriale del pc 
per poterli poi inviare ad una pagina web.
Mi domandavo se in php sia abbastanza semplice farlo e magari capire 
come, quali librerie usare...


Mi sembra ci sia qualcosa che si chiama tipo DirectIO o qualcosa del genere,
ma mai usata - personalmente farei un applicativo in C per l'I/O da seriale
(che ti da sicuramente più controllo, e in rete ne trovi a quintali già
fatti) e in PHP il parsing/processing del suo output.
 
Ciao!


ok quindi con C processo i dati e li faccio scrivere tipo in una lista e 
poi in php li invio al server web? peccato non sia semplice fare tutto 
in php...


Te l'ho detto, magari è semplice/comodo e son solo paranoie mie.
Il mio suggerimento era solo una cosa a naso - magari qualcuno qui che già
l'ha fatto c'è - aspetto anch'io.
 
Ciao!


Una cosa del genere la facevamo per dei controlli industriali:
- software in C che acquisiva da (seriale|ethernet|sarcaz...) e scriveva 
in database (non-sql)
- interfaccia odbc che veniva più o meno riconosciuta da PHP.
- pagine web che mostravano i dati.


ok! a questo punto trattandosi di dati abbastanza "semplici" cioè delle 
temperature per evitare database e odbc (che è sempre una rogna) potrei 
optare per un banale file di testo...
 

 optare per un banale file di testo...
 
Da quello che hai scritto non ti serve il database, apri il file della 
seriale, leggi e manda alla "pagina web".
 
 
-- 
Andrea
 


Se il PHP avrà bisogno di un DB, potresti anche prendere in considerazione
sqlite: più comodo del file di testo, gira ovunque e in C son due comandi.
 
Ciao!


mmm - questa la vedo dura :)
Settaggi della seriale a parte, per essere sicuri di non perdersi dati per
strada non saprei come fare.
 
Ciao!

 in php...
 
Se puoi permettertelo, il layer tra la porta ed il php potresti farlo 
usando python
 
 seriale  => 
http://pyserial.sourceforge.net/
 => python => https://
docs.python.org/2/library/sqlite3.html
 => php
 
Giusto per mantenersi ad un livello più alto.
 
Detto questo, il secondo risultato di google per php serial è 
 
http://paolosarteschi.altervista.org/
 
 
che mi pare possa fare al caso tuo (a prescindere da chi sta dall'altra 
parte della seriale).
 
Ciao
 

 
 
A giudicare dal livello del post non sarei proprio proprio tentato di
dargli retta.
Anzi.


non capisco il problema. I dati sono sul file di testo salvati, ad 
intervalli regolari setaccio il file e uploado i dati. Non si può fare?
devo per forza scriverli in un db sql? (se è per questo anche un file di 
testo formattato è una forma di db "povera")


è quello che pensavo


guarderò

 e invia. Dal 
messaggio originale io l'ho intesa come un "leggo e mando alla buona di 
Dio", non si è parlato di verificare la consegna dei dati.
 
Se è così deve avere due thread, uno che legge e salva in un db locale 
(e sqlite3 ci va a fagiolo, non ho idea del perché si sia tirato in 
mezzo odbc) e uno che si preoccupa di invio e verifica. Questo vuol 
dire che se va giù la connessione o il server web di destinazione i 
dati arriveranno comunque.
 
Io l'avevo inteso come server web sulla stessa macchina.
 
-- 
Andrea
 


Sì, come dici te certo - credo Andrea dicesse (prima del suo messaggio di
adesso a cui rispondo dopo questo) di leggere direttamente, per esempio,
dalla /dev/ttyS0.
Sì può fare, certo, ma un ritardo per qualsiasi motivo nell'esecuzione del
php ti fa perdere i dati: non c'è niente che fa da buffer.
 
Ciao!

 
 
Sì, infatti è quello che abbiamo suggerito io e Quasimodo, forse perché
al dire "seriale" ci s'immagina uno use-case particolare (quello del controllo
industriale)
 
Ciao!

 php ti fa perdere i dati: non c'è niente che fa da buffer.
ah ok! comunque se i dati rimangono nel file di testo ogni tot secondo 
posso riaggiornali in php e il file di testo farebbe da buffer. In ogni 
caso i miei dati arrivano dalla seriale ad intervalli di 1 minuto per 
cui potrei anche lasciare che vengano scritti e poi aggiornarli dopo 1 
minuto ad esempio.
 
 


no il server web potrebbe anche non essere la stessa macchina anzi 
preferirei un server web esterno.

 Dio", non si è parlato di verificare la consegna dei dati.
sembra molto semplice qui! adesso provo un po' :)
 

 industriale)
 
mmm no è una cosa più banale praticamente sono due sensori termometrici 
che inviano 2 temperature misurate ogni minuto :)
 


 
se l'interfacciamento seriale fosse così semplice come il link che hai 
postato magari!
pensa che stavo meditando di provare in python dove la parte seriale è 
molto sviluppata! solo che se lavoro in php poi la parte web è molto ma 
molto più semplice da gestire...poi magari è facile anche in python ma 
non ne sono sicuro non conoscendolo bene


 
Se misurano la temperatura di un reattore nucleare e il PHP serve ad attivare
il meccanismo di allarme allora usa due thread :)
 
Ciao!


Puoi anche usare due linguaggi invece di uno solo, se ti ci trovi meglio, eh
:D
 
Ciao!

 il meccanismo di allarme allora usa due thread :)
:D

 funzionale che in php
 
Vale per tutto IMHO.
 
 
-- 
Andrea
 


A parte la programmazione web ;)
 
Ciao!

 A parte la programmazione web ;)
 
  return render_template('LOL.html')
 
-- 
Andrea
 


davvero ti ci trovi meglio? :/
Boh, son gusti.. 
Sarà che a me il python piace veramente pochino in generale.

 Boh, son gusti..Sarà che a me il python piace veramente pochino in generale.
 
Sarà anche che io non sono questo gran programmatore. Il linguaggio è 
buono e l'ecosistema è anche meglio.
 
-- 
Andrea
 


Diciamo che c'è una discreta selezione all'ingresso :)


Sull'ecosistema non discuto.. ma sul linguaggio.. 
 
Posso capire tutto, mi puoi levare le interfacce, le costanti, l'operatore
ternario, mi puoi costringere a scrivere "self" ogni funzione, mi puoi pure
levare lo switch senza darmi motivo alcuno.. ma il punto e virgola no.
Quello no.
 
Ecco, l'ho detto.
 

 il punto e virgola no. Quello no.
 
A me python piaceva, ma un tarlo mi ha sempre roso l'anima: 
l'indentazione.
 
Sommato al fatto che la maggior parte dei programmatori Python usano 4 
spazi e non 1 tab, altra cosa che io proprop non sopporto.
 
Finché non ce l'ho più fatta e ho abbandonato completamente il linguaggio.
 
Bye.

 Quello no.
 
Infatti il punto e virgola è la quintessenza dei linguaggi di
programmazione. Nessun linguaggio che si possa definire tale
può ignorare ciò.