如何使用 Python 读取高速串行数据?
Posted
技术标签:
【中文标题】如何使用 Python 读取高速串行数据?【英文标题】:How to read highspeed Serial-data using Python? 【发布时间】:2020-02-05 14:15:43 【问题描述】:我正在开发一个在 Python GUI 上显示传感器数据的项目。传感器数据在使用 Arduino 的串行端口上以2kHz
的速率出现。我正在使用 pyserial(使用 readline())读取笔记本电脑上的传感器数据。经过数小时的调试,我发现 python 能够读取大约 400 个样本/秒,即读取频率约为 400Hz
。
有没有办法借助python以更高的速率读取串行数据?
提前致谢。
【问题讨论】:
您是否配置了正确的波特率? pythonhosted.org/pyserial/shortintro.html#opening-serial-ports 【参考方案1】:假设传感器设计用于传输 2kHz 数据并且做得正确,我的猜测是您的 Python 代码读取数据样本、处理数据、更新绘图等所花费的时间是限制因素。您是否一次阅读和处理一个样本?有没有一种聪明的方法来读取大块中的所有可用数据,从而减少单个读取/处理步骤的数量?
您是否在“实时”绘制数据?如果是这样,情节更新很慢。
【讨论】:
以上是关于如何使用 Python 读取高速串行数据?的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 中使用 Qt Designer 接口实时读取串行数据