作为一个硬件工程师,你该学学Python了

哈哈哈,原谅我也成了标题党。不过还是希望您能将这篇文章转发给做电子工程师的朋友看看,或许真的对他是有帮助的。

前一段时间有一篇很火的文章叫《Python正向硬件圈杀来!》,文章中谈论到了很多python在硬件中的应用,但是讲的非常泛泛。今天我就以我的实际经验来讲一下python在我的日常工作中到底有了哪些应用,我到底是怎么做的。最后还会简单讲一下作为一个硬件工程师要怎么去学python。

这里借用一下Digilent的一张图.png

前一段时间我在部门内部会议室上就向大家展示了python在我的工作中有哪些应用。今天我就在这个基础上添加一些最近的研究。

1.单片机开发

Python也可以用来做单片机开发了,Micropyhon可以应用在stm32上,我自己是在ESP32上使用的。

case1:

使用ESP32 和阿里云搭建了一个简单的物联网平台,系统框图如下。这套框架全部使用python实现,比我了解到的绝大多数物联网方案要简单很多。

image.png

这个我已经写成文章了,链接如下https://www.jianshu.com/p/f6b1936d6052具体细节烦请移步阅读。

case2:

使用MicroPyhon来完成硬件模块的开发。下面这是两个实例:
《使用ESP32驱动电子墨水屏》 https://www.jianshu.com/p/776693227423
《语音识别模块LD3320的MicroPython驱动 https://www.jianshu.com/p/3f20433fd310

case3:

也有使用Micropython来做一些小应用的:
《在墨水屏上显示任意汉字》 https://www.jianshu.com/p/994c8da32d3a
《如何吹灭LED》 https://www.jianshu.com/p/fc583c733674

2.FPGA开发

关于FPGA开发就是大家可能都知道的PYNQ了,最近的一些探索都已经写成文章发布出来了。还在继续搞,应该会有更多的东西发出来。

《使用PYNQ进行FPGA开发》https://www.jianshu.com/p/3e2558582dfa
《给我儿子做个自动读故事的机器》https://www.jianshu.com/p/56df82bd4dbb
《使用CFFI为PYNQ嵌入C语言》https://www.jianshu.com/p/3fd5721f89e5

3.测试自动化

case1:

前段时间做一款气路模块的开发,需要监测不同温度下传感器的输出值变化,以确定其温度特性。实验的设计是让chamber每个一小时自动升温5度,在每个温度值下需要控制气源输出10个不同的流量值并让sensor读回,计算平均值。整套测试大概需要8个小时,记录并计算上万个数据,不可能由人去完成。于是我大概花了一天时间完成测试脚本,完成数据处理采集、存储、计算,所有的数据和结果都记录在excel表格里面。最终只需要进行简单的数据处理就绘制除了各个流量点随温度变化的曲线。

case2:

我们曾经发现一款sensor 存在输出值随着时间漂移的现象,为了获取数据,设计了一个长期监测实验,每天测量一次各个输出点位的实际值,连续监测两周。这个工作可以由人来完成,但是太过耗费时间,每天大约需要花费两个小时的时间,而且需要工程师自己去做。在编写好测试脚本后,只需要每天运行一下就可以了。脚本还有一个额外的好处就是可以连续读取多个数据,计算平均值,所以结果更准确,消除了短期漂移和噪声因素。

使用python来做测试自动化构建速度非常快,能够极大地提升测试效率,并构建好的测试模块可以很方便的重新使用,比如上面连个案例中几乎共用了所有的数据采集和存储模块。

4.数据处理

曾经针对气路模块进行PID参数调整,会记录不同PID参数在不同工作点位的表现,我使用Python建立脚本,自动向测试模块写入PID参数,读取各个点位的输出值存储到Excel。在获取数据后,我建立了一个新的脚本,对各个PID参数加各个点位数据进行计算,得到峰峰值、噪音均方值。然后根据这些数据来选择所需的PID参数。

Python非常适合用来做数据处理,但是我的工作中用的并不多,如果你的工作中有大量的测试数据需处理的话,Python将是一个非常有力的帮手,有效降低你工作出错概率和工作强度。

5.定制常用工具

case1:

我参与设计的模块经常需要修改一个参数,一般是通过命里行工具,使用telnet连接到机器后,使用机器内部的指令来修改参数,有一个非常恶心的地方是输入这个命令的过程中不允许输错。
这个修改非常频繁,而且每次修改的参数都需要去找一个表格来查找。python的message box库就可以用来开发简单的界面程序,所以我就写了下面的小工具。



用它可以用来快速连接机器,完成配置,并通过查表的方式来设置和查询参数。避免到人工操作容易出错的问题。这个小工具很简单其实一共也就100多行代码。就是界面丑了些,但是都是内部使用的工具,不好看也得给我忍着,就是这么强势,哈哈哈。

case2:

我们的机器在质量部进行测试的时候,需要操作人员使用ssh登录连续输入一串指令,指令其实并不复杂,但是这个实验需要经常做。于是我就花了不到半个小时,将这ssh登录和指令操作放到脚本里面,然后打包成一个exe文件,每次只需要运行这个exe然后输入一些机器的IP地址就可以完成一些列操作,总体来说简化不少操作。其实代码真的很简单就像下面这样,有效代码不到20行。


image.png

python做界面不是很美观,据说用pyqt会好一些,我也看过一个micropython的开发工具就是用pyqt写的,感觉比自己以前用vc 做的好好看。

其实Python在工作还有其他的应用,只是太细碎,不方便整理出来。也还有很多方面可以去探索,比如用Python来控制我们常用的仪器,比如示波器信号源什么的,能让我们进行一些高级的测试,比如语音控制你的示波器万用表的什么的,相信每个EE都应该体会过测试的时候两只手根本不够用的情况。我想相信在将来,Python甚至能帮助我们完成电路设计。Python在人工智能领域有很广泛的应用,我也学过一些例子,但是目前还没有和我的工作发生关联,所以没有放到这篇文章中。

Pyhon不光对电子工程师很有帮助,只要你的工作中存在大量重复的工作也许都有机会用python来帮助你,只不过很多人没有变成基础,学习和应用起来比较困难。工作之外我还用python写过脚本来获取黄金和股票的报价信息,然后进过简单处理,给我发出买入和卖出信息,当然我并没有真的去买哈。

关于pyhon的学习

我可以非常肯定地说,对于一个硬件工程师来说,python语言没有门槛。硬件工程师哪有不会两门编程语言的,C语言是最起码的吧,只要你会C,我觉得你学python 都不用先看教程,也别去买什么书,浪费钱。
不过我还是可以推荐大家看一个教程,是廖雪峰的。把链接放在这里
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
你可以先扫一遍教程,不需要仔细去学,只需要简单地知道python是怎么回事就行了。
然后,你需要到网上下个python安装包。Python原则上不需要IDE,如果要用的话我推荐PyCharm。环境搭建完成后,就可以去实践一下廖雪峰教程中的小例子了。

学习一个新的技术,最重要的是应用,找到你工作中的需求,做起来就有动力了。遇到问题就去谷歌一顿搜,网上用python的屌丝一大把。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容