Python 如何读取串行端口上是否有任何活动?
我有一个PIR传感器和一个连接到USB的控制器,如果有任何动作,我可以使用Python 如何读取串行端口上是否有任何活动?,python,python-3.x,serial-port,arduino-uno,Python,Python 3.x,Serial Port,Arduino Uno,我有一个PIR传感器和一个连接到USB的控制器,如果有任何动作,我可以使用serial.readline()在终端中读取控制器的输出 但我真正想做的只是检查端口上是否有任何活动(意味着检测到运动) 忧郁的 if(serial.readline() == true) //do something 或者可能: if(serial.readline() != null) //do something 有人能帮我解决这个问题吗,或者至少给我指出正确的方向吗?根据您的用例,可以选择通过
serial.readline()
在终端中读取控制器的输出
但我真正想做的只是检查端口上是否有任何活动(意味着检测到运动)
忧郁的
if(serial.readline() == true)
//do something
或者可能:
if(serial.readline() != null)
//do something
有人能帮我解决这个问题吗,或者至少给我指出正确的方向吗?根据您的用例,可以选择通过创建超时为0的连接来执行非阻塞读取(请参阅) 这样,您将拥有非阻塞
读取
这就是说,通过这样做,您可能会定期汇集串行端口以接收数据。根据应用程序的不同,这可能是可接受的,也可能是不可接受的
根据您的操作系统,使用非阻塞串行连接,您可能会使用或检查数据可用性。谢谢您的回复。我一定会留意的
my_serial = serial.Serial(..., timeout = 0)