历史上的今天
返回首页

历史上的今天

今天是:2025年06月21日(星期六)

2019年06月21日 | 奇思妙想,工程师尝试将Pythons塞进MCU

2019-06-21 来源:悦智网

image.png?imageView2/2/w/550

 

这名开发人员正在将Python塞入微控制器


目前,Python是最流行的编程语言之一。它以大量的实用程序库而闻名,而且作为一种动态编程语言,Python程序的调试速度比那些必须在执行前进行编译的程序更快。Instagram、谷歌、声田(Spotify)和YouTube等公司都在使用Python。

 

在Python继续统治桌面和云领域的同时,微型Python(MicroPython)和电路Python(CircuitPython)两个阵营正在为以硬件为中心的嵌入式项目开发解释语言版本,如基于微控制器的小产品。从传统上来说,嵌入式硬件严格的计算约束条件有利于编译语言,但更强大的微控制器正在改变这种局面。

 

开源硬件公司阿德弗里特工业公司的斯科特•肖克罗夫特(Scott Shawcroft)领导了电路Python的开发。阿德弗里特工业公司的首席执行官利莫•弗里德(Limor Fried)是本刊编辑顾问委员会的成员,但她没有参与本文的编写。

 

肖克罗夫特说:“(阿德弗里特工业公司的)目标用户是那些从未编写过程序的人。”他还解释道,电路Python能够让简单项目的运行更容易。“我喜欢人们直接参与。”

 

肖克罗夫特说,他十几岁时就对编程产生了兴趣,他是“第一代通过Web进入涉足编程的人”。在攻读计算机工程学位期间,肖克罗夫特曾在知识共享组织(Creative Commons)和谷歌实习。2009年,他加入了谷歌地图团队,之后在那里工作了6年。2015年他从谷歌离职,成立了一家无人机飞行控制器公司。“2016年我们进行了一次小规模生产,大概有10人购买了我们的产品。”肖克罗夫特笑着说。

 

在每周的视频直播系列节目《表演与讲述》(Show and Tell,一档分享个人项目的真人秀节目)中,肖克罗夫特引起了阿德弗里特工业公司创意总监菲利普•托罗内(Phillip Torrone)的注意。“我在节目的最后说道:‘我需要一份工作!’” 肖克罗夫特说。

 

托罗内与肖克罗夫特取得了联系,希望将当时已有两年历史的微型Python——物理学家达明•乔治(Damien George)开发的一个精简版Python——移植到一种特殊的微控制器上。

 

“我没有听说过微型Python,但把Python放在硬件上的想法立刻吸引了我。”肖克罗夫特说,“利莫说完成这项工作大约需要3周,但我只花了一半的时间,因为开始以后我就停不下来了。”

 

阿德弗里特工业公司同意为肖克罗夫特安排全职工作,他的工作是对微型Python进行开发。因此,微型Python的创建者乔治开始收到阿德弗里特工业公司提交的大量代码,乔治“对我们的介入和改变有些担忧”,肖克罗夫特说。

 

在与乔治讨论技术方面的问题时,阿德弗里特工业公司意识到他们对该语言未来的看法与乔治不同。他们不赞成在微型Python的性能和易用性之间进行取舍,肖克罗夫特想把重点放在Python库上,希望微型Python能够成为以Arduino微控制器系列为核心的编译软件生态系统的替代选择。

 

“乔治主张为C核心用户服务,而且他坚信Python的速度能够很快。”肖克罗夫特解释道,“但他们根本不是阿德弗里特工业公司的目标用户群。”因此,阿德弗里特工业公司决定另起炉灶,于2017年年中正式推出电路Python。

 

电路Python社区自诞生以来一直发展稳定。肖克罗夫特工作中最大的挑战就是管理这个蓬勃发展的社区。“作为一个开源维护者,如果有人要求你实现这个功能、完成那个效果,而且态度和方式很不客气,很自以为是,你该怎么办?”肖克罗夫特说。

 

一套正式的规范会有帮助。肖克罗夫特说:“这是现代所有民用开源项目的一条重要底线,你必须捍卫这条底线。我们的这条底线就曾发挥过作用。”

 

肖克罗夫特说,对于那些有兴趣为电路Python语言做贡献的人来说,关键在于实践。“编写大量代码,并尽可能多地参与阿德弗里特工业公司所创建的这类社区。”他说,“我过去会说你必须热爱它,其实这样说并不公平,因为如果你喜欢这种语言,你就会自然而然地想要去实践。”

 

 

 

 


推荐阅读

史海拾趣

德国ACAM公司的发展小趣事

ACAM公司在超声波计量领域也取得了革命性的突破。2012年,ACAM公司与世强电讯合作,在第二届供热计量技术与管理国际研讨会上推出了业内领先的超声波热量表解决方案。这一解决方案利用ACAM公司的先进测量技术,为热量表厂商和流量计量专家提供了全新的解决方案,受到了广泛关注。

迈翔科技(COILMX)公司的发展小趣事

随着技术的不断进步和产品线的不断丰富,迈翔科技开始积极拓展国内外市场。公司不仅在国内市场取得了良好的销售业绩,还成功打入了欧美、东南亚等国际市场。同时,公司也与众多知名企业建立了长期稳定的合作关系,进一步提升了品牌影响力和市场竞争力。

DECON公司的发展小趣事

品质是企业的生命线,DECON公司深知这一点。因此,公司建立了完善的品质管理体系,从原材料采购到生产过程的每一个环节都进行严格的质量监控。公司引进了先进的生产设备和技术,优化了生产流程,提高了生产效率和产品质量。同时,公司还建立了完善的售后服务体系,为客户提供及时、高效的技术支持和解决方案。

AZM [Arizona Microtek, Inc]公司的发展小趣事

在技术创新的基础上,AZM公司开始积极拓展市场。公司制定了详细的市场拓展计划,通过参加国际电子展会、建立销售网络、开展合作伙伴关系等多种方式,逐步打开了国内外市场。同时,AZM公司注重品牌建设,通过提升产品质量、优化客户服务、加强品牌宣传等手段,逐渐树立了良好的品牌形象。

依必安派特(ebmpapst)公司的发展小趣事

在快速发展的过程中,依必安派特也面临着一些挑战。其中之一就是仿冒产品的泛滥。为了维护品牌形象和客户利益,依必安派特积极打击仿冒产品。例如,在2023年,依必安派特和地方政府联手突击了一家位于广东的仿冒产品工厂,揭示了其造假行为。这一行动不仅保护了依必安派特的品牌声誉和客户信任,也为中国市场的公平竞争环境做出了贡献。

AMI [American Megatrends Inc]公司的发展小趣事

1996年,依必安派特在上海外高桥保税区设立了其在中国的首个据点——依必安派特风机(上海)有限公司。最初,它仅作为销售为主的贸易公司,为中国市场提供德国制造的风机和电机产品。然而,随着中国市场的快速增长和需求的不断变化,依必安派特意识到仅仅作为贸易公司已无法满足市场需求。于是,在2000年,依必安派特电气(上海)有限公司正式成立,开始在上海本地生产风机和电机,标志着依必安派特从贸易到制造的转变。

问答坊 | AI 解惑

十年(二)

十年的日子里,身边发生事情的很多,有些已渐渐淡忘;身边的同事来来回回换了好多,有些已经离开了这个行业,有些甚至离开了人间。十年太长,人生太短。本来想过电影似的回忆一下10年的变迁,无奈值得记忆的事情太多,没有很多的精力去总结,只好拣 ...…

查看全部问答>

AT91SAM9261多用途Boot源程序分享

AT91SAM9261多用途Boot源程序分享 英贝德科技在开发SBC9261时设计了一款多用途的BOOT程序代码,这里与大家一起分享。这款BOOT程序的优势在于支持 ADS、EBOOT(WinCE引导)、UBOOT(Linux引导)、zImage(Linux直接运行)。同时支持240*320、640*48 ...…

查看全部问答>

谁有Xilinx的FPGA时序约束教程

中文版的,共享下,多谢!…

查看全部问答>

嵌入式大赛即将来临,你准备好了吗?

本帖最后由 paulhyde 于 2014-9-15 09:00 编辑 虽然中国传统的春节还没有过完,大赛的脚步已经逐渐临近,你准备好了吗? 准备要参加大赛的同学们,如果需要什么资料,或者是需要有高手给指点一下迷经,欢迎提出要求和问题,管理员和斑竹们,以及E ...…

查看全部问答>

一个很好用的低通滤波器设计小软件,方便、快捷设计电路

一个很好用的低通滤波器设计小软件,不用多说了吧,下载后安装直接使用即可,方便、快捷设计电路…

查看全部问答>

关于au1200 GPIO_5的问题

gs:    小弟在au1200的板子上调试,遇到一个问题:想把GPIO_5设置为输入    我的操作是这样的     HANDLE hGPIO     hGPIO = GPIO_Init();     if(hGPIO==INVALID_HANDLE_VALUE) {   ...…

查看全部问答>

关于2812中16进制转换工具的使用问题

根据TI提供的文档hex-convension utility description 说明,按照上面的描述,我在ccs中打开command window,在command line中,输入hex2000这个调用指令时,为什么总是提示“command hex2000 not found“,输入一个完整的转换指令hex2000 -t dsp_ ...…

查看全部问答>

TPS2350

使用TPS2350做电源的热插拔控制,问题:在做热插拔验证中经常会出现导致工作着的电源板关闭所控制的电源输入,经测试在TPS2350的8#;9#和11#脚上会出现比较大的足以关闭MOSFET管的干扰脉冲信号。问:应该怎样解决?谢谢!…

查看全部问答>

有人在c2000中用过Q格式吗?

用Q格式,要加特别的库吗?  …

查看全部问答>