今天我拼命想在我的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""
来接收存储在那里的信息。
如果有人可以帮助我,我会很高兴。
我自己解决了:对于“获取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