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

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

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

2 本文实现工具用到的相关Python库
2.1 wxPython 库
wxPython是Python的一个GUI工具链。Python程序员可以通过wxPython简单、快速的创建强壮的、实用的图形用户界面程序。这个库以Python扩展模块的形式提供,提供非常受欢迎,用C++编写的跨平台的GUI库wxWidgets。
2.2 matplotlib 库
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。
它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。
2.3 serial 模块

3 工具介绍
本工具实现将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.

QQ图片20140218115226
下载地址:
链接: http://pan.baidu.com/s/1eQiPylO 密码: o1ap

分享到: 更多
版权申明:

本站保留所有原创文章的版权,本站地址:奔跑的博客[http://www.elecbench.com]

原创文章转载时请注明出处,并添加文章所在页面的链接:http://www.elecbench.com/python%e5%9c%a8%e5%b5%8c%e5%85%a5%e5%bc%8f%e5%bc%80%e5%8f%91%e4%b8%ad%e7%9a%84%e5%ba%94%e7%94%a8-%e6%95%b0%e6%8d%ae%e7%a4%ba%e6%b3%a2%e5%99%a8/

本站所有 2010年3月4日 以后发表、未标明为“转载”的文章均是本站原创。

发表评论?

2 条评论。

  1. 您好~源码可以给我参考学习一下么……最近做毕业设计跟您这个有点儿像,多谢啦!

发表评论


(设置自己的个性头像)

*

申请属于你的免费顶级域名