Ciao No i cavi sono ok perché la comunicazione l’abbiamo provata con un Sw che usiamo di solito e tutto è ok. Tra l’altro ho la possibilità di vedere i led di TX e RX e quello della trasmissione si accende mentre quello della ricezione no. Sono convinto che la bilancia non risponde per il set di caratteri inviato non è formattato come esadecimale.
On Wed, 15 Nov 2017 at 17:09, Sergio ALMERARES <[email protected]> wrote: > Ciao Gianfranco. > > Mi ricordo che I cavi seriali erano di due tipi: normali, con tutti I pin > connessi, o “NULL MODEM” . > > A volte si utilizzavano anche dei connettori in cui il pin di richiesta > ack e relativa risposta erano cortocircuitati. > > Esistono anche dei convertitori tipo “Null modem” che accoppiati a un cavo > seriale normale lo trasformano in un cavo piu’ idoneo a questo tipo di > protocollo. > > > > Magari ho detto cavolate, pero’ fossi in te qualche ragionamento sul cavo > lo farei… > > Mi viene ora un dubbio… Non e’ che stai provando a utilizzare un cavo VGA > come mia cugina? > > ;-) > > > > Ciao. > > AS > > > > > > *From:* ML [mailto:[email protected]] *On Behalf Of *Gianfranco Genna > *Sent:* Wednesday, November 15, 2017 4:56 PM > *To:* BrigX_ML <[email protected]> > *Subject:* [BrigX] Inviare caratteri esadecimali con Python3 > > > > Ciao a tutti, > > stò impazzendo con dei comandi da inviare via porta seriale ad una > bilancia. > > Giusto come esercizio triviale, devo collegarmi ad una bilancia prodotta > dall'azienda dove lavoro, con un protocollo binario proprietario in seriale. > > Questo protocollo prevede l'invio di comandi in notazione esadecimale, di > seguito un esempio di comando per richiedere il peso lordo: > 04 01 09 20 2E > > di seguito riporto il codice che stò utilizzando: > > #! /usr/bin/env python3 > import time > import serial > > # configure the serial connections (the parameters differs on the device > you are connecting to) > ser = serial.Serial( > port='/dev/ttyUSB0', > baudrate=9600, > parity=serial.PARITY_ODD, > stopbits=serial.STOPBITS_ONE, > bytesize=serial.SEVENBITS > ) > > ser.close() > ser.open() > ser.isOpen() > > print('Request gross value:04 01 09 20 2E') > while 1 : > # Python 3 users > input = bytes.fromhex('04 01 09 20 2E') > > if input == 'exit': > ser.close() > exit() > else: > # send the character to the device > ser.write(input) > out = '' > # let's wait one second before reading output (let's give device > time to answer) > time.sleep(1) > > while ser.inWaiting() > 0: > out += ser.read(1) > > if out != '': > print (out) > else: > print(input) > > > > Con questo codice a terminale vedo sempre la stringa passata alla > variabile input perchè effettivamente la bilancia non mi risponde. > > Sono convinto che i caratteri che gli mando non siano corretti nella > formattazione. > > > > Qualcuno ha qualche suggerimento??? > > > > > > Grazie > > -- > > > --- > We love BrigX > > brigx.it > > > > Gianfranco Genna > > mail: [email protected] > mobile: +39 346.6124389 > skype: soldiesis7 > _______________________________________________ > BrigX Linux Users Group > [email protected] > http://brigx.it/mailman/listinfo/ml_brigx.it > -- --- We love BrigX brigx.it Gianfranco Genna mail: [email protected] mobile: +39 346.6124389 skype: soldiesis7
_______________________________________________ BrigX Linux Users Group [email protected] http://brigx.it/mailman/listinfo/ml_brigx.it
