通过串口进行Python监控
下午好,
我想请教一下,监控串口事件的最佳方法是什么。
我正在使用PySerial通过串口向一些设备发送“命令”,
我希望能收到这些设备的状态反馈。
哪种方法最好呢:1) 填充一个管道然后读取,2) 开一个新的线程专门用来读取,还是其他什么方法?
我能否请求一个简单的代码来实现这个解决方案?
2 个回答
1
选择的策略是使用Python的多进程和队列。你可以参考以下链接:
供参考。
3
关于使用pyserial的一些基本建议,可以看看S.Lott在评论中提到的搜索内容。
至于如何实现你的应用程序,最好的策略其实取决于你的设备协议是怎么定义的。设备是会立即对查询做出回应吗?还是它们会不断发送数据,需要你去监控?这个定义很重要,因为它会直接影响你处理通信的方式。
一般来说,我发现用一个单独的线程来读取串口中的所有数据,然后把这些数据放进一个Queue
里,这样做既简单又稳定。然后,主应用程序逻辑可以在需要的时候查询这个队列,读取数据。