我对C语言不是很熟练,我想知道是否有一种方法可以使用python对Arduino进行编程。为了能够自己调试脚本,这很可能需要使用其他IDE。
我对C语言不是很熟练,我想知道是否有一种方法可以使用python对Arduino进行编程。为了能够自己调试脚本,这很可能需要使用其他IDE。
Answers:
要在Arduino上直接运行任何类型的Python脚本将非常困难。原因是这是一种解释语言,因此除了纯文本脚本之外,您还需要板载解释器。可能没有足够的内存来满足所有这些需求。
最好的选择可能是找到一种将Python脚本编译为本机代码的方法(这是C / C ++的工作方式)。我相信周围有一些项目可以在其他平台上做类似的事情,但是据我所知,没有一个项目可以成功地在Arduino上完成。
您可能会在Stack Overflow上找到有关此问题的更多有用信息:有没有一种方法可以将Python代码“编译”到Arduino(Uno)上。
是的,可以(使用Python)对Arduino进行编程。Github上的此类项目之一是Python Arduino Prototyping API v2。它提供了非常基本的功能,例如数字I / O和模拟I / O。
这可以用于非常简单的项目。
*使用串行连接对板进行“编程”时,该项目有些技巧。它通过串行连接将命令传递到板上运行的草图,然后“执行” Python命令。
有一个项目将Python虚拟机带到微控制器,包括Arduino Mega。
这是来自Ardunio Mega README的引言,它使人对这可能是什么样的感觉(尽管我尚未测试!):
以下是使用ipm的示例会话::
ipm> import avr, sys ipm> avr.ddrA(0xff) ipm> avr.portA(0) # Pins 22-29 all at 0 V ipm> avr.portA(0xa5) ipm> sys.heap() (2622, 7424)
可以考虑的另一个选择是Arduino Yun。除了大多数Arduino拥有的AVR芯片外,它还包括运行Linux的MIPS芯片。由于它是Linux,因此您可以轻松地运行python代码,并且可以轻松安装任何纯python软件包。
但是,所有有趣的输入/输出功能都在AVR芯片上,而不在MIPS芯片上。诸如Autobahn和LininoIO之类的项目通过在AVR芯片上运行一个特殊程序来解决此问题,该程序根据MIPS芯片的指令执行I / O操作。
我们知道这是Arduino编程以及一般嵌入式世界中的一个开放问题。市场上有各种解决方案,例如MicroPython,但大多数解决方案专用于特定的主板,并且不允许保持系统实时。我们正在寻找解决方案!VIPER是适用于Arduino DUE和所有ARM 32位架构的Python虚拟机,可在实时操作系统上运行。这意味着您可以开发可由Arduino DUE,UDOO,Spark(所有开发板)以及新的ST核开发板上执行的Python脚本。此外,如果您需要高性能并精通C语言,则可以为VIPER开发实时模块,这些模块可以由Python脚本调用和管理。
您可以在这里http://bit.ly/kickviper上看到VIPER的运行情况
我很担心Arduino IDE不使用C / C ++语言。它是从Processing IDE 派生的,具有相当简化的类似于C / Java的语法。