[Python] Django e comunicazione porta seriale

Alberto Abate alberto.abate a gmail.com
Mer 12 Giu 2013 17:15:49 CEST


>
>
> Dunque, prima di tutto devi spiegarci chi inizia la comunicazione.
>
> 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.
>
> 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.
>
> Tra l'altro tutto quanto ho detto sinora presuppone che la bilancia sia
> collegata al server.
>
> Se invece la bilancia è collegata al client, allora è ancora più complessa
> la cosa.
>
> Spiegaci un po' di più i vari passaggi.
>
> Ciao.
> Marco.
>

Ok, mi spiego meglio.
Ho un computer diciamo A che è collegato tramite seriale ad uno strumento
che può essere impostato con lettura continua oppure bidirezionale a
richiesta.
Ossia io posso mettermi in ascolto sulla seriale e uso questa semplice
funzione:


def leggi_seriale(nr_porta,baudrate=9600):

    ser_pesa = serial.Serial()
    ser_pesa.baudrate = baudrate
    ser_pesa.port = nr_porta
    ser_pesa.timeout = 1
    try:
        ser_pesa.open()
        #print ser_pesa
        if ser_pesa.isOpen() == True:
            print 'LETTURA CONTINUO'
            rec = ser_pesa.read(9)
            print rec
            if rec[:2] == 'P+':
                rec =rec[2:-1].replace(' ','')
            ser_pesa.close()
            #print "FINE - COMUNICAZIONE EXTRIM"
    except:
        print "PORTA SERIALE CHIUSA"
        rec = ''
    return rec

Questo appunto per la lettura in continuo, ma esiste anche la possibilità
di usare una lettura su richiesta inviando alla seriale un comando
opportuno...
Non voglio annoiarvi, comunque funziona...
Se volete dettagli e script posso passarli tranquillamente ;-))

Questo accade però tutto sul computer client...

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...
Se po' fare?
Non ho trovato nulla che mi dia una dritta
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130612/09f21249/attachment.html>


Maggiori informazioni sulla lista Python