<div dir="ltr"><div>Si leggo il file e il frame contiene la pagina generata dal programma, comunque vi posto il codice, può essere che sia sufficente pulire lo schermo, nemmeno sapevo si potesse fare! Se si può risolvere così sai mica dirmi come si pulisce? Come dicevo programmo in Python solo da una decina di giorni!</div>
<div> </div><div>Qui c'è il codice, molte parti sono a commento perché stavo facendo delle prove, di fatto è a commento solo la routine che volevo creare per la GUI vera e propria (al momento è molto scarna e ad essere sincero non credo mi convenga fare due routine, ma inglobare tutto nella routine, che fatta così se non sbaglio si comporta come una task più o meno, chiamata Live, dalle prove effettuate mi risparmio parecchi casini</div>
<div>____________________________________</div><div> </div><div><pre>#!/usr/bin/env python

#Importo le librerie di sistema

import threading
import sys
import time

#creo la mia routine per il live

class Live(threading.Thread):
        def __init__(self):
                threading.Thread.__init__(self)
                self.cont = 1
        def run(self):
                while 1 == self.cont:
                        livedata = open('dataLogger_digitalInput.txt', 'r')
                        dato = livedata.readline()
                        
                        print ("<html>")
                        print ("<body>")
                        print ("<h3>Prova</h3>")
                        print str("<h5>Stato uscita --> " + dato + "!!</h5>")
                        print ("</body>")
                        print ("</html>")                       

                        livedata.close()
#                       gui.start()
#                       time.sleep(1)
        def termina(self):
                self.cont = 0

#class Gui(threading.Thread):

#       def __init__(self):
#               threading.Thread.__init__(self)
#               self.di = 1
#
#       def run(self):
#               print ("<html>")
#               print ("<body>")
#               print ("<h3>Prova</h3>")
#               print str("<h5>Stato led --> " + self.di + " !!</h5>")
#               print ("<h5>Quakcisa</h5>")
#               print ("</body>")
#               print ("</html>")
#
#       def changedi(self, value):
#               self.di = value
#
#Creo  la mia routine

try:
#       gui = Gui()
        live = Live()
except:
        print "Qualcosa e' andato storto."

try:
#       gui.start()
        live.start()
except:
        print "La routine non e' partita."

#print "Routine partita."

time.sleep(10)

try:
        live.termina()
except:
        print "Riavviare tutto."
        exit (1)
print "\nsono uscito"

exit(0)
</pre><pre> </pre></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Il giorno 21 febbraio 2013 19:10, Diego Barrera <span dir="ltr"><<a href="mailto:diegonebarrera@yahoo.it" target="_blank">diegonebarrera@yahoo.it</a>></span> ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div>Il 21/02/2013 18:59, Emilio Peruzzi ha
      scritto:<br>
    </div><div><div class="h5">
    <blockquote type="cite">
      <div dir="ltr">
        <div>Ciao a tutti sono Emilio,</div>
        <div> </div>
        <div>Premetto che sono nuovo qui nel forum e programmo in Python
          solo da una decina di giorni, spero quindi </div>
        <div>di aver fatto tutto correttamente, in caso contrario mi
          scuso!</div>
        <div> </div>
        <div>Praticamente ho un microcontrollore con otto ingressi
          digitali, otto ingressi analogici e otto uscite digitali.</div>
        <div>Devo fare un programmino che mi legga gli input e gli
          output e infine creare una pagina HTML in modo tale da poter</div>
        <div>vedere tutti i dati ed eventualmente modificare le mie
          uscite. In più devo creare un data logger così da avere uno
          storico</div>
        <div>di tutti i cambiamenti avvenuti.</div>
        <div>Ora io ho fatto così, ho creato un programma che mi apre ed
          attacca il microcontrollore, scrive in un file .txt ogni
          modifica</div>
        <div>avvenuta negli stati digitali e ogni tot secondi mi scrive
          il valore degli ingressi analogici. </div>
        <div>Il tutto usando delle routine che si comportano un po' come
          delle task, quindi di fatto il mio data logger c'è e mi
          basterà richiamare</div>
        <div>il file .txt con uno script in python per poterlo vedere
          dal web, quindi fin qui tutto bene.</div>
        <div>Il problema nasce dal fatto che dovrei avere la possibilità
          di vedere lo stato delle mie uscite e degli ingressi in tempo
          reale</div>
        <div>in modo tale che da internet all'interno della mia pagina
          web nella sezione live vedo una tabellina con il valore</div>
        <div>dei miei stati e nel caso questi cambino devo vedere che
          cambiano, e in effetti anche questo problema</div>
        <div>l'ho risolto, anzi no, l'ho risolto in parte. In sostanza
          il mio programma principale, quello che controlla direttamente</div>
        <div>il microcontrollore per intenderci, mi butta su un file
          .txt il valore, ad esempio, dell'ingresso digitale.</div>
        <div>La pagina html in realtà è gestita, o dovrebbe essere
          gestita da un programmino. In sostanza ho una pagina html
          divisa </div>
        <div>in due frames, un frame mi richiama una pagina html che
          gestisce il menu, l'altro frame, la "sostanza" della pagina</div>
        <div>richiama appunto un programmino Python, il programma in
          Python ora non ha una vera e propria interfaccia tipo la
          tabella ecc,</div>
        <div>perché quello è html allo stato puro quindi in fin dei
          conti è l'ultima cosa che mi preoccupa, al momento mi limito a
          stampare</div>
        <div>a video ogni qual volta cambia il mio ingresso digitale.</div>
        <div>Il problema vero è che il programmino mi stampa i valori in
          maniera sequenziale, cioè ogni volta che il mio valore cambia</div>
        <div>mi scrive di nuovo tutta la pappardella e ottengo una cosa
          di questo genere "Valore ingresso digitale: 0Valore ingresso
          digitale1"</div>
        <div>e così via fin quando non mi termina l'esecuzione del
          programma, ora io avrei bisogno di trovare il modo</div>
        <div>di poter far cambiare solo ed esclusivamente il valore,
          cioè dovrebbe sovrascrivere la stampa precedente.<br>
        </div>
      </div>
    </blockquote>
    <br></div></div>
    Cioe' praticamente leggi il file e scrivi il contenuto nel frame?<br>
    <br>
    <div style="max-height:474px;max-width:400px">
      <div>
        <div>
          <div>
            <ul>
              <li>Italiano
                - rilevata</li>
              <li>Inglese</li>
              <li>Italiano</li>
            </ul>
            <div></div>
          </div>
          <div></div>
          <div>
            <ul>
              <li>Inglese</li>
              <li>Italiano</li>
            </ul>
            <div></div>
          </div>
        </div>
        <div></div>
        <a title="Copia il testo tradotto negli appunti"></a></div>
      <div style="max-height:424px"></div>
      <div></div>
      <textarea></textarea></div>
    <div title="Traduzione in corso…"></div>
  </div>

<br>_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
<br></blockquote></div><br></div>