通过USB / TTL转换器在Win10中通过python从nextion touchdisplay读取

时间:2018-11-30 19:01:19

标签: python windows-10 pyserial nextion

今天,我拼命尝试从python代码中的nextiondisplay读取值。 写它的作品,但我根本无法设法从它读取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 个答案:

答案 0 :(得分:0)

自行解决: 对于“获取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