ArduPy:当Arduino遇见Python

电子说

1.3w人已加入

描述

Python 最近的成功在很大程度上取决于简单性和不断发展以应对新挑战的能力。Python 不断开拓新领域,从桌面和 Web 应用程序到机器学习和数据科学应用程序。最近,针对嵌入式系统开发发布了一种奇怪的编程语言组合。这个新工具套件被称为 ArduPy(Arduino 和 Python 的组合),旨在通过提供一种将流行的 Arduino 库转换为 MicroPython 库的方法来利用 Arduino 嵌入式生态系统的流行。

ArduPy 由两个主要组件组成。首先是 ArduPy Core,它充当支持兼容开发板上基本硬件操作的接口。因为 ArduPy 利用了 MicroPython,它利用了通用的 Arduino API,所以可以毫不费力地完成对新板的支持。第二个组件是 Arduino 库 Python 包装器。这需要一个用于外部传感器或执行器的 Arduino 库,并将其转换为与 MicroPython 兼容的代码。无需从头开始,这绝对可以帮助您使用新传感器快速启动原型设计。鉴于可用的 Arduino 库过多,此功能对于 MicroPython 社区来说是一个难得的机会,可以进一步“滑行”到新的嵌入式系统项目中。

入门

要开始使用 ArduPy,首先要做的是下载并安装最新版本的 Python。Python 适用于 Windows、Mac 和 Linux。最新版本可以在这里下载在您的环境中安装 Python 后,就可以下载 ArduPy 集成平台 (AIP)。AIP 是一个命令行实用程序,允许开发人员快速轻松地与任何 ArduPy 兼容板进行交互。要下载并安装 AIP,请打开命令行界面并发出以下命令:

#pip3 install ardupy-aip

最后,是时候下载并安装 Visual Studio Code 和 Seeed ArduPy IDE 扩展了。可在此处下载适用于 Windows、Mac 和 Linux 的 Visual Studio Code。安装后,在扩展市场中搜索Seeed ArduPy IDE。在搜索结果中选择后,单击“安装”,插件将添加到 Visual Studio。现在您已准备好利用 ArduPy 工具集的所有功能。

为什么选择 ArduPy?

那么,与 Arduino 或直接 MicroPython 相比,ArduPy 工具集到底有什么优势呢?根据 ArduPy 的开发人员 Seeed 的说法,有几个优势应该会吸引制造商和专业人士,包括:

  • 在资源有限的嵌入式设备上体验功能丰富的 Python3 编程环境。
  • 由于使用了无处不在的 Visual Studio Code IDE,入门变得快速而简单。ArduPy 的安装和配置既快速又简单。
  • 支持简单文件系统,非常适合使用 HTML、CSS 和 JavaScript 文件提供简单 Web 服务的 IoT 设备。
  • 支持单板复位时自动运行boot.py。
  • 支持串行终端交互 (REPL),使原型制作变得快速和简单。无需上传新固件即可测试想法。
  • 访问丰富的第三方库,由于 Arduino 库 Python 包装器,这些库可以与 MicroPython 兼容。
  • 通过 AIP 自定义您自己的 ArduPy 固件,而无需了解底层 ArduPy 工具集的任何细节。

第一个 ArduPy 项目

首先,使用 USB 数据线将兼容的开发板插入您的计算机。推荐之一是 Seeed Wio Terminal 开发板,可从 Mouser 购买;点击这里Wio 终端是一个方便但价格低廉的微控制器开发平台,具有丰富的实用功能,包括 LCD 显示屏、2.4GHz/5GHz Wi-Fi (802.11 a/b/g/n)、蓝牙 LE 5.0、IMU、麦克风、蜂鸣器、microSD卡、可配置按钮、光传感器、五向开关、红外发射器(IR 940 nm),并且已准备好加密身份验证。它由 Microchip ATSAMD51P19 Arm ® Cortex ® -M4F 内核提供动力,运行频率为 120MHz(升压至 200MHz)以及 4MB 外部闪存和 19 KB RAM。

将 Wio(或任何 ArduPy 兼容板)插入计算机后,打开命令行界面,并发出以下命令:

#aip board

这将列出当前连接到您的计算机的所有 ArduPy 兼容板。如果您忘记了此命令或要了解如何使用 AIP,请发出帮助命令:

#aip help

help 命令是通过 ArduPy 命令行工具了解一切可能的首选命令。通过 AIP 可用的一些附加命令包括:

  • build:构建 ArduPy 固件包含使用已安装的库
  • list:列出已安装的 ArduPy 库
  • install : 安装 Arduino 库与 ArduPy 绑定
  • uninstall : 卸载 ArduPy 库
  • flash:将固件闪存到 ArduPy 板
  • shell:集成 mpfshell,用于与 ArduPy 板进行实时交互

现在工具已在开发计算机上设置好,是时候将 ArduPy 固件安装到开发板上了。每块板都有一个必须下载和安装的唯一 UF2 ArduPy 固件文件。对于 Wio 终端,可以在此处下载该文件。接下来,必须将 Wio 终端插入开发计算机并进入引导加载程序模式。这可以通过快速滑动电源开关两次来完成。如果成功,一个蓝色的 LED 将开始闪烁,一个名为ARDUPY的 USB 闪存驱动器将出现在桌面上。

双击ARDUPY文件夹将显示一个名为main.py的文件,其中包含每次更新文件时自动运行的默认 Python 脚本文件。但是,如果您希望该脚本在每次电路板启动时运行,请在您的桌面上创建一个名为boot.py的文件。让我们添加示例代码来使板载 LED 闪烁。使用Visual Studio Code编辑boot.py文件,添加如下代码:

 

import time

import board

from digitalio import DigitalInOut, Direction

 

led = DigitalInOut(board.D13)

led.direction = Direction.OUTPUT

 

while True:

    led.value = True

    print("LED ON")

    time.sleep(1)

    led.value = False

    print("LED OFF")

    time.sleep(1)

 

保存boot.py文件。接下来,从命令行界面发出以下命令:

# aip shell -n -c "put //boot.py"

拔下 Wio 终端并重新插入,代码应该会自动开始运行。你的第一个 ArduPy 项目已经完成!

试一试 ArduPy

ArduPy 仍然相对较新,并且正在迅速扩展以包括新的开发板和 Python 库。为了保持 ArduPy 固件的轻量级,它只包含 MicroPython 库的一个子集,包括时间、引脚、DAC、ADC、PWM 和 LCD。但它很容易扩展以满足任何特定应用程序的特定需求。此外,如果您对预先构建的库不满意,ArduPy 提供了编写您自己的 ArduPy 库并将它们实施到 ArduoPy 项目中的方法。

对于那些希望在学习嵌入式开发的同时利用他们的 Python 编程经验的人来说,ArduPy 是一种巧妙的方式。对于那些一直在 Arduino 生态系统中崭露头角的人来说,ArduPy 是学习 Python 编程语言的好方法,它可以在嵌入式环境之外发挥作用。

你试过 ArduPy 了吗?在评论中让我们知道您使用 ArduPy 工具构建了哪些项目。

  审核编辑:汤梓红
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分