这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 嵌入式开发中Python的应用——数据示波器

共2条 1/1 1 跳转至

嵌入式开发中Python的应用——数据示波器

助工
2019-04-11 10:49:04     打赏

在嵌入式开发中我们常常要进行数据分析、算法设计、原型验证、自动化测试、辅助工具设计,每个环节的工作效率对整体的开发都非常重要。选用一个好的辅助开发工具是非常必要的。Python作为一门解释型语言,容易上手,应用广泛,拥有众多功能强大的第三方库,开发平台轻量化,相比VS,非常适合嵌入式开发中的辅助开发。

本文主要介绍使用Python实现一个类似于示波器,能实时观察传感器数据的辅助工具。这个需求源于项目的需要,使用这个工具能实时观察sensor数据的变化,并对实时数据做简单分析,对算法设计有很大的帮助。通过后续更新可以加入算法,实时验证算法,进行原型验证。本文首先介绍需要使用的Python相关库,然后介绍工具的使用情况。

 本文实现工具用到的相关Python库

 wxPython 库
wxPython是Python的一个GUI工具链。Python程序员可以通过wxPython简单、快速的创建强壮的、实用的图形用户界面程序。这个库以Python扩展模块的形式提供,提供非常受欢迎,用C++编写的跨平台的GUI库wxWidgets。

matplotlib 库
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。

它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。

Serial 模块
工具介绍

本工具实现将sensor x,y,z 三个轴的数据实时绘制到窗口中。

嵌入式设备将采集到的sensor数据通过串口发送给PC,Python在获取到串口数据后经过简单处理然后使用matplotlib库进行绘图。

CH1,CH2,CH3分别代表x,y,z。通过“Set the Y axes scale”文本框来调整Y轴的范围(每格代表的值)。Receive to file 复选框可以设置将接收的数据保存到文件。Avg文本框显示三个轴各自的平均值,Average按钮按下时,将使用2s内的数据重新计算平均值。最下面三个文本框统计三个轴最大的变化范围。窗口中显示的波形是三个轴数据相对于各自平均值的变化情况。

使用本工具需要遵循的数据格式:

ID 07 -0363,-0085, 0223,

ID 07 -0384,-0082, 0046,

ID 07 -0361,-0085, 0228,

ID 07 -0387,-0077, 0040,

包头+空格+编号+3个空格+数据x,数据y,数据z,

其中包头为:ID

编号可以为任意两位数据,与sensor数据之间有三个空格

sensor:使用5位表示,最高位表示符号,正号不显示(但仍然占一位),高位为0则补0.

Python在嵌入式开发中的应用——数据示波器



菜鸟
2019-04-11 15:50:43     打赏
2楼

有机会试一试


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]