Re: [Python] Variabile non letta (RISOLTO)

2020-04-16 Per discussione Marco De Paoli
Il giorno gio 16 apr 2020 alle ore 18:33 Mr.Dob  ha
scritto:

> RISOLTO
>
> In primis un GRAZIE a Marco De Paoli, mi ha aiutato a ragionare e darmi il
> giusto input
>

prego
bene! mi fa piacere che hai combinato

giusto qualche nota, se vuoi tenerne conto...


> ecco il listato funzionante
>
>  #!/usr/bin/env python
>
> import time
> import serial
> import os
> import subprocess
>
> ser = serial.Serial(
>
>  port='/dev/ttyUSB0',
>  baudrate = 9600,
>  parity=serial.PARITY_NONE,
>  stopbits=serial.STOPBITS_ONE,
>  bytesize=serial.EIGHTBITS,
>  timeout=1)
> counter=0
> hmi=b'\xFF\xFF\xFF'
> cpufreq=subprocess.check_output("cat
> /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq", shell=True)
>

rimango dell'idea che puoi evitarti il subprocess.check_output (che lancia
addirittura un altro processo per fare il cat)
e leggere direttamente il file con una open e poi una read di python
https://docs.python.org/3/library/functions.html#open

cpu=""
> cpu += cpufreq.decode()
> cpu='''"'''+cpu+'''"'''
> buffer=("t55.txt={}".format(cpu)).encode()
>

le 4 istruzioni precedenti puoi semplificarle se vuoi giocarci un po'...


> ser.write(buffer)
> ser.write(hmi)
>

comunque bene!
complimenti!

ciao,
Marco
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Variabile non letta (RISOLTO)

2020-04-16 Per discussione Mr.Dob

RISOLTO

In primis un GRAZIE a Marco De Paoli, mi ha aiutato a ragionare e darmi 
il giusto input


ecco il listato funzionante

 #!/usr/bin/env python

import time
import serial
import os
import subprocess

ser = serial.Serial(

 port='/dev/ttyUSB0',
 baudrate = 9600,
 parity=serial.PARITY_NONE,
 stopbits=serial.STOPBITS_ONE,
 bytesize=serial.EIGHTBITS,
 timeout=1)
counter=0
hmi=b'\xFF\xFF\xFF'
cpufreq=subprocess.check_output("cat 
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq", shell=True)

cpu=""
cpu += cpufreq.decode()
cpu='''"'''+cpu+'''"'''
buffer=("t55.txt={}".format(cpu)).encode()
ser.write(buffer)
ser.write(hmi)

Il 16/04/2020 17:50, Mr.Dob ha scritto:

Ho capito l'inghippo

se scrivo
buffer=("t55.txt={}".format(cpufreq)).encode()
ho come risultato
b't55.txt=CIAO'

Invece devo ottenere come risultato
b't55.txt="CIAO"'

Il 16/04/2020 17:45, Mr.Dob ha scritto:

Provato ma nulla.

Il costrutto che realizzo sul buffer, b't55.txt= in pratica sto 
dichiarando al Display che l'oggetto t55.txt dovrà avere il valore 
="ciao", in questo modo funziona.




Il 16/04/2020 17:30, Marco De Paoli ha scritto:



Il giorno gio 16 apr 2020 alle ore 17:23 Mr.Dob > ha scritto:


Raspberry con linux installato.
Ho un display seriale, collegato con un convertitore usb/seriale
collegato tramite porta usb del raspberry.
Nel display ho realizzato un firmware tramite il tool Nextion
editor ad oggetti.
Ho inserito un oggetto text nominato t55.txt dove, via seriale
gli passo ser.write(b't55.txt="CIAO"')
Sul display mi visualizzerà la scritta CIAO.
Se voglio utilizzare una variabile al posto del CIAO questa non
viene passata.
Spero di essere stato esaustivo.


ok, hai fatto qualche prova con quello che ti ho scritto?

M.

___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python




___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python




___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python



___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python