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.
Il 16/04/2020 17:07, Marco De Paoli ha scritto:
ciao,
fammi capire...
Il giorno gio 16 apr 2020 alle ore 16:41 Mr.Dob <li...@is0gup.com
<mailto:li...@is0gup.com>> ha scritto:
Saluto a tutti,
ho un Raspberry dove ho collegato via seriale un display Nextion.
ho realizzato questo script in Python
************************
#!/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'
il tuo problema è questa riga qui?
#cpufreq=subprocess.check_output("cat
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq", shell=True)
ossia non riesci a leggere la frequenza della CPU?
cpufreq="CIAO"
oppure questa parte?
#buffer=(b't55.txt= + str(cpufreq).encode()')
buffer=(b't55.txt=cpufreq')
che però ad occhio non mi pare vada bene
visto che nel buffer non viene messo il *valore* della variabile,
bensì il suo nome
ser.write(buffer)
ser.write(hmi)
*************************
Il problema che la variabile "cpufreq" non viene letta.
buffer=(b't55.txt=cpufreq') t55.txt è un oggetto che risiede nel
display
Nextion a cui devo passare il valore della variabile "cpufreq"
Altresì se passo buffer=(b't55.txt="CIAO"') funziona!!!!
Ho letto tante di quelle info senza trovare la soluzione.
ad occhio mi pare che tu abbia due problemi:
a. la lettura della frequenza della cpu
b. la scrittura nel buffer della seriale
Ti do due spunti:
a. fai in modo di leggere il
file /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq con il
comando open di python (non con "cat")
b. crea il buffer a partire dal valore della variabile, esempio:
>>> cpufreq = 10
>>> ("t55.txt={}".format(cpufreq)).encode()
b't55.txt=10'
bye,
Marco
_______________________________________________
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