能用python给arduino编程吗?

如题所述

过去,“Arduino”的标签意味着使用的开发板上有一个Atmel处理器,并且使用Arduino软件库。现在不再如此。几乎每家微处理器制造商都基于Arduino板设计了一套开发工具,用到了它们自己的处理器和软件。在《原型到产品:专业化的Arduino》一文中,我提到Arduino给开发者提供的最重要特性就是硬件兼容,并且能用它们自己的软件。正在试图融合Python和Arduino优点的开发者需要寻找一款开发工具或是平台,符合硬件标准,能运行Python,但又不局限于使用Atmel处理器或是Arduino代码包。

在Arduino上运行Python的小技巧就是寻找一个兼容Arduino的开发工具,在上面运行Python。这个问题本质上就是寻找哪种型号的Arduino板子有Python端口。没有开发者会为了在单片机上运行Python而自己做迁移,尽管迁移Python很有趣,但是也非常耗费精力。当然还有其它的开发者,和开源的或者迁移的Python代码。

强大的谷歌搜索告诉我们几乎没有合适的选择。仅有的几个之一的选择是一款五年前的开源产品,名为Pymite。它使用的Python版本是2.5(不是最新的2.7版本),在过去两年里几乎没有更新。没有活跃社区的支持,Pymite也免不了落入开源项目的陷阱中。Pymite可以作为一个方案,但是在出现问题的时候会很无助。

**第二种选择是Micro Python。**Micro Python是一个Python 3的开源项目,针对单片机做了性能优化。(你可以阅读《Micro Python入门教程》来了解它)。Micro Python近期汇集了一些资源,目前支持许多硬件平台,包括CC3200、ESP8266、PIC16和STM32。粗略浏览Micro Python代码库(如图1)可以发现它对STM32家族的产品支持度要好于其它产品。


但是,这些单片机开发工具包在盒子之外还支持Micro Python吗?对目前支持Micro Python的板子调研后发现,只有NETDUINO_PLUS_2和OLIMEX_E407有Arduino兼容的输出。OLIMEX_E407使用的处理器与PyBoard原产的405RG略有不同,但是Netduino Plus 2使用完全相同的处理器。不幸的是,Netduino Plus 2刚刚被淘汰。取而代之的是Netduino Plus 3,它的处理器性能远远好于405RG。这款新处理器目前还没有Micro Python的端口。因此,开发者只能使用Olimex板,或者能找到一块可用的Netduino Plus 2.

如果上述两种方案对开发者来说都无法实现,用Arduino板子运行Python的第三种方案就是在PyBoard板子和标准Arduino引脚板子之间连一块适配板。适配板也许是确保与原生Micro Python板以及将来更新相兼容的最佳方案。第四种方案就是基于405RG制作我们自己的Arduino兼容板子,不过这样我们的原型制作速度将大打折扣。

一个开发团队是有可能整合Arduino、硬件设备、Python编程的便捷性以及软件开发的优势。然而,目前并没有一种唾手可得的经验。开发者若想在Arduino上运行Python,可以先写好Python脚本,然后在Olimex 407或是Netduino Plus 2上轻易地跑起来。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-02
目前不可以。Arduino语言是在C语言C++的基础上添加了自己风格的函数库,属于C语言系,而Python是一种全新风格的语言,属于单独一种语系。两者并不兼容。
而且Arduino上的单片机也只能用C语言来写。
第2个回答  2014-10-20
想习arduino单片机编程 用C语言 知道难难我现基本说晓些工作原理 基本函数想要真简单编程性习难难概要久啊本回答被网友采纳
第3个回答  2018-02-01

完全可以

可以参考下这个文章Python 玩转 Arduino

第4个回答  2018-02-01

arduino 本身的ide 默认是用 c 的,直接用python 的话,看到有些文章说可以,不过没试过。

如果用  arduino 和 树莓派 链接起来,用树莓派控制arduino 的话,在 树莓派 上用 python 就简单多了。

arduino :网页链接

你可以参考下这篇文章:网页链接

或者参考下搜索结果:网页链接