<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div><div class="h5"><div><br></div></div></div><div>Dunque, prima di tutto devi spiegarci chi inizia la comunicazione.</div><div><br></div></div></div></div></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Se è il tuo programmino che parte a leggere, allora posso pensare che c'è una certa azione scatenata dall'utente che va a leggere dalla seriale.</div>
<div><br></div><div>Se il tutto viene scatenato invece dalla pesata e il tuo programma gira sempre stando in lettura, allora devi pensare a una sorta di demone che gira "apriori", cioè non dipendendo da un'azione dell'utente. Infatti se nessuno fa niente lato browser, di norma non succede nulla lato server.</div>
<div><br></div><div>Tra l'altro tutto quanto ho detto sinora presuppone che la bilancia sia collegata al server.</div><div><br></div><div>Se invece la bilancia è collegata al client, allora è ancora più complessa la cosa.</div>
<div><br></div><div>Spiegaci un po' di più i vari passaggi.</div><div><br></div><div>Ciao.</div><span class=""><font color="#888888"><div>Marco.</div></font></span></div></div></div></blockquote><div><br></div><div style>
Ok, mi spiego meglio.</div><div style>Ho un computer diciamo A che è collegato tramite seriale ad uno strumento che può essere impostato con lettura continua oppure bidirezionale a richiesta.</div><div style>Ossia io posso mettermi in ascolto sulla seriale e uso questa semplice funzione:</div>
<div style><br></div><div style><br></div><div style><div>def leggi_seriale(nr_porta,baudrate=9600):</div><div> </div><div> ser_pesa = serial.Serial()</div><div> ser_pesa.baudrate = baudrate</div><div> ser_pesa.port = nr_porta</div>
<div> ser_pesa.timeout = 1</div><div> try:</div><div> ser_pesa.open()</div><div> #print ser_pesa</div><div> if ser_pesa.isOpen() == True:</div><div> print 'LETTURA CONTINUO'</div>
<div> rec = ser_pesa.read(9)</div><div> print rec</div><div> if rec[:2] == 'P+':</div><div> rec =rec[2:-1].replace(' ','') </div><div> ser_pesa.close()</div>
<div> #print "FINE - COMUNICAZIONE EXTRIM"</div><div> except:</div><div> print "PORTA SERIALE CHIUSA"</div><div> rec = ''</div><div> return rec</div></div><div class="gmail_extra">
<div class="gmail_quote"><br></div><div class="gmail_quote" style>Questo appunto per la lettura in continuo, ma esiste anche la possibilità di usare una lettura su richiesta inviando alla seriale un comando opportuno...</div>
<div class="gmail_quote" style>Non voglio annoiarvi, comunque funziona...</div><div class="gmail_quote" style>Se volete dettagli e script posso passarli tranquillamente ;-))</div><div class="gmail_quote" style><br></div><div class="gmail_quote" style>
Questo accade però tutto sul computer client...</div><div class="gmail_quote" style><br></div><div class="gmail_quote" style>Io vorrei sviluppare un'app in Django, quindi su un server nella stessa lan e usando un bottone in un form, lanciare lo script sul computer remoto, per pescarmi il peso, magari lo salvo in un file e poi lo pesco dal server...</div>
<div class="gmail_quote" style>Se po' fare?</div><div class="gmail_quote" style>Non ho trovato nulla che mi dia una dritta</div><div class="gmail_quote" style><br></div></div></div>