Читайте из nextion touchdisplay через Python в Win10 через USB / TTL конвертер - PullRequest
0 голосов
/ 30 ноября 2018

сегодня я отчаянно пытался прочитать значения из отображения nextion в моем коде на python.Запись в него работает, но я просто не могу заставить Python читать с него.Мой код выглядит так:

def ser_escape():
    escape='\xff'.encode('iso-8859-1')
    ser.write(escape)
    ser.write(escape)
    ser.write(escape)    

import serial
import pynextion 

EndCom= "\xff\xff\xff"
ser = serial.Serial(port='COM4',baudrate=9600)
test=b't0.txt="MyText"'
ser.write(test)
ser_escape()
ser.flush
ser_escape()

ser.flush
ser.write(b'get t0.txt')
print (ser.read())
ser_escape()
ser.close()

Вывод просто: b'\x1a' Что не похоже на ожидаемое поведение - по крайней мере, не от меня.Относительно этого документа: https://www.itead.cc/wiki/Nextion_Instruction_Set#get:_Get_variable.2Fconstant_value_with_format Я мог бы использовать "get "variable"" для получения хранящейся там информации.

Я был бы рад, если бы кто-нибудь1 помог мне здесь.

1 Ответ

0 голосов
/ 04 декабря 2018

Решил это сам: для "get Start.currentPage.txt" вы можете вставить любой вызов для переменной, которую вы хотите, после этого я просто вырезал интересующую часть из строки, чтобы сохранить, мне не нужно начинать исимволы конца сообщения.

import time
from pynextion import PySerialNex

nexSerial=PySerialNex("COM4")

def getActPageName(nexSerial):

    nexSerial.write("get Start.currentPage.txt")
    time.sleep(0.1)
    Var=str(nexSerial.read_all())
    Var=Var[Var.find('p')+1:Var.find('\\')]
    return Var
...