Ciao Sergio
Si l’ho letto ma mi ha confuso ancora di più le idee.
Penso di aver trovato una soluzione con il comando .encode() attaccato alla
stringa.
Lo proverò appena riuscirò a passare dall’ufficio.

Grazie

Gianfranco

On Fri, 17 Nov 2017 at 15:11, Sergio ALMERARES <[email protected]>
wrote:

> Ciao Gianfranco.
>
> Hai gia’ letto questa pagina ?
>
>
>
>
> https://stackoverflow.com/questions/5649407/hexadecimal-string-to-byte-array-in-python
>
>
>
> AS
>
>
>
>
>
>
>
>
>
> *From:* ML [mailto:[email protected]] *On Behalf Of *Gianfranco Genna
>
>
> *Sent:* Thursday, November 16, 2017 2:35 PM
> *To:* BrigX Linux Users Group - lista pubblica <[email protected]>
>
> *Subject:* Re: [BrigX] Inviare caratteri esadecimali con Python3
>
>
>
> Ciao Gianluca,
>
> Intendi che devo mettere titti i caratteri vicini senza spazio?
>
>
>
> Posso provare!
>
>
>
> Gianfranco
>
>
>
> On Wed, 15 Nov 2017 at 22:54, Gianluca Santoro <[email protected]>
> wrote:
>
> La funzione che usi sembra quella giusta, io proverei a togliere i blank
> dalla stringa che passi a bytes.fromhex, blank non è uno dei 16 caratteri
> validi
>
>
>
>
>
> --
>
> Gianluca
>
>
>
> On Nov 15, 2017 10:24 PM, "Gianfranco Genna" <[email protected]>
> wrote:
>
> Da codice, se nn ricevo niente stampo la stringa inviata.
>
> Il comando bites.fromhex che ho trovato su internet credo mi trasformi la
> stringa in caratteri ASCII mentre a me serve una stringa esadecimale.
>
>
>
> On Wed, 15 Nov 2017 at 22:19, Gianfranco Genna <
> [email protected]> wrote:
>
> 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 <346%20612%204389>
> 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 <346%20612%204389>
> skype:      soldiesis7
>
> --
>
>
> ---
> We love BrigX
>
> brigx.it
>
>
>
> Gianfranco Genna
>
> mail:        [email protected]
> mobile:    +39 346.6124389 <346%20612%204389>
> skype:      soldiesis7
>
>
> _______________________________________________
> BrigX Linux Users Group
> [email protected]
> http://brigx.it/mailman/listinfo/ml_brigx.it
>
>
>
> _______________________________________________
> 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
>
-- 

---
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

Rispondere a