当您与开发团队合作时,尤其是在支持能力中,您经常会发现自己必须发明相当复杂的工具和支持系统,但不会添加系统的功能。不过,如果没有它们,它就只是死鸭子。 [Aidan Chandra] 显然处于类似的情况,他与斯坦福大学的一群研究生一起从事外骨骼项目,并且需要一个精确的数据绘图仪来实时观察测量结果。
这个特殊的问题已经被解决了很多次,但 [Aidan] 感叹许多可用的解决方案似乎太复杂,难以扩展,或者只是有破坏的依赖关系。这种情况经常发生,它只会导致另一个项目开始运行,然后您才能完成它支持的实际工作。基于Python和PyQT5的serial-plotter是一个新的开始,强调正确的数据采集和实时数据可视化,并进行一些处理。思考、获取数据、显示原始值和平均值,和 RMS 噪声都在同一个窗口上并排显示,所有这些都可以通过使用 Numpy 和 Mathplotlib 进行一些编程来轻松调整。
需要强调的特别重要的一点是时间戳的处理。 [Aidan] 需要确保样本与本地 MCU 时间戳一起记录,以便在显示和稍后可能进行后处理时,可以准确确定特定值或事件发生的时间。由于缓冲量、数据丢失和多线程恶作剧,人们很容易忘记数据可能以不确定的方式到达应用程序,并且仅依赖本地 CPU 时间并不是那么有用。
如果您需要可视化通过串行端口传输的数据,我们已经看到许多项目可以提供帮助。例如,高度可配置的 Serial Studio 。如果您的需求稍微复杂一些,尤其是多种数据传输方法,那么[Alex Whittemore] 的 Supercon 2022 演讲可能是一个很好的起点。
原文: https://hackaday.com/2024/01/29/need-a-serial-data-plotter-better-write-your-own/