这是到目前为止我的代码。它用于读取投影仪电源状态的输出
我的问题是,除了“>;”,它没有输出
已尝试使用以下内容修改响应变量:
有趣的是,当我在完成Python脚本之后运行cat /dev/ttyS5
时。它给我输出和退出。通常,当我使用cat /dev/ttyS5
时,它会一直运行,需要终止
#!/usr/bin/python
import serial
import sys
import os
import time
pin_export = 'echo 2 > /sys/class/gpio/export'
pin_out = 'sleep 0.1 && echo out > /sys/class/gpio/gpio2/direction'
pin_high = 'sleep 0.1 && echo 1 > /sys/class/gpio/gpio2/value'
pin_low = 'sleep 0.1 && echo 0 > /sys/class/gpio/gpio2/value'
pin_unexport = 'echo 2 > /sys/class/gpio/unexport'
response = ''
os.system(pin_export)
os.system(pin_out)
os.system(pin_high)
ser = serial.Serial()
ser.port = '/dev/ttyS5'
ser.baudrate = 9600
ser.bytesize = serial.EIGHTBITS
ser.parity = serial.PARITY_NONE
ser.stopbits = serial.STOPBITS_ONE
ser.xonxoff = False
ser.open()
ser.write(b'\r*pow=?#\r')
y = "1"
ser.timeout=0.5
while ser.inWaiting() > 0:
response = ser.readline()
print(">>" + response)
time.sleep(1)
os.system(pin_low)
os.system(pin_unexport)
另一方面,如果你们中的任何人对如何从/dev/ttyS5
中读取输入有更好的想法,我以后可以将其保存到文本文件中,我愿意听取建议
好的,所以我自己通过测试找到了答案。如果有人带着同样的问题或相关的问题来到这里,我的答案如下
问题是rs响应的第一行包含一些非索引的值,它阻止了端口获得其他答案
相关问题 更多 >
编程相关推荐