0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ArduPy:当Arduino遇见Python

陈存楼 来源:bluepink 作者:bluepink 2022-12-30 09:40 次阅读
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 库的一个子集,包括时间、引脚、DACADC、PWM 和 LCD。但它很容易扩展以满足任何特定应用程序的特定需求。此外,如果您对预先构建的库不满意,ArduPy 提供了编写您自己的 ArduPy 库并将它们实施到 ArduoPy 项目中的方法。

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

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

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

    关注

    56

    文章

    4781

    浏览量

    84441
  • Arduino
    +关注

    关注

    187

    文章

    6463

    浏览量

    186621
收藏 人收藏

    评论

    相关推荐

    如何帮助孩子高效学习Python:开源硬件实践是最优选择

    显著提升孩子的学习兴趣和对Python原理的理解。本文将探讨为何使用Raspberry Pi(树莓派)或Unihiker(行空板)等开源硬件是孩子们掌握Python的最佳途径。 让孩子们在Python学习中更加互动
    的头像 发表于 09-06 09:49 265次阅读

    pytorch和python的关系是什么

    在当今的人工智能领域,Python已经成为了最受欢迎的编程语言之一。Python的易学易用、丰富的库和框架以及强大的社区支持,使其成为了数据科学、机器学习和深度学习等领域的首选语言。而在深度学习领域
    的头像 发表于 08-01 15:27 1664次阅读

    idf-arduino component组件怎么设置 ?

    menuconfig 根据 文档里面的 教程 ,设置 就是这个报错 。 idf.py add-dependency \"espressif/arduino-esp32^2.0.7\" 或者是在vscode 里面 用 python 脚本然后编译工程也是 一样的报错。
    发表于 06-12 07:27

    如何使用Arduino制作智能垃圾箱

    在这个项目中,我将向您展示如何使用Arduino制作智能垃圾箱,您带着垃圾接近时,垃圾箱的盖子会自动打开。
    的头像 发表于 02-11 12:22 2841次阅读
    如何使用<b class='flag-5'>Arduino</b>制作智能垃圾箱

    python运行环境的安装和配置

    Python是一种非常流行的编程语言,广泛应用于科学计算、Web开发、人工智能等领域。为了能够正常运行Python程序,我们需要先安装和配置Python运行环境。本文将为您详尽介绍Python
    的头像 发表于 11-29 16:17 1100次阅读

    Python运行环境有哪些

    Python是一种广泛使用的高级编程语言,它有许多种运行环境,可以适应不同的开发需求。下面将详细介绍Python的几种常见的运行环境。 CPython: CPython是Python的默认解释器
    的头像 发表于 11-29 16:14 1905次阅读

    python软件对电脑配置要求

    Python是一种流行的编程语言,它在许多不同的领域中被广泛使用,例如网站开发、数据科学和机器学习等。对于使用Python的开发者来说,了解Python软件的电脑配置要求是非常重要的。本文将详细介绍
    的头像 发表于 11-29 14:58 9756次阅读

    查看python安装路径的方法

    Python是一种高级编程语言,常用于开发Web应用、数据分析、人工智能等领域。在使用Python进行开发之前,我们需要先安装Python解释器,并了解Python解释器的安装路径。本
    的头像 发表于 11-29 14:54 1.1w次阅读

    python安装后idle在哪儿

    Python Shell,可以让您直接在其中编写和运行 Python 代码。您首次安装 Python 后,IDLE 将会
    的头像 发表于 11-29 14:52 1147次阅读

    python自带的idle怎么进入

    Python自带的IDLE是一个集成开发环境(Integrated Development Environment),它通过提供编辑器和交互式解释器,使得Python的开发变得更加简单和便捷。本文将
    的头像 发表于 11-29 14:51 2175次阅读

    python shell怎么用

    Python Shell是一种交互式解释器,可以通过命令行直接运行Python代码。在Shell中,可以输入一行代码并立即得到结果,非常适合于测试、尝试新代码或进行简单的任务。本文将详细介绍
    的头像 发表于 11-29 14:36 1098次阅读

    python语言特点有哪些

    Python是一种高级编程语言,由Guido van Rossum于1991年首次发布。它具有许多独特的特点,这些特点使得Python在软件开发领域变得非常流行。以下是关于Python语言的详尽
    的头像 发表于 11-29 14:29 1035次阅读

    python软件怎么运行代码

    Python是一种高级编程语言,它被广泛用于开发各种类型的应用程序,从简单的脚本到复杂的网络应用和机器学习模型。要运行Python代码,您需要一个Python解释器,它可以将您的代码翻译成计算机可以
    的头像 发表于 11-28 16:02 856次阅读

    如何运行Python程序

    运行Python程序非常简单。Python是一种解释型语言,这意味着可以直接通过解释器来执行代码。下面我将详细介绍如何运行Python程序。 一、安装Python 在运行
    的头像 发表于 11-24 09:31 1156次阅读

    python怎么运行程序

    Python是一种广泛使用的编程语言,它的简易和可读性使得它成为初学者和专业开发人员的首选。在运行Python程序之前,您需要安装Python解释器,然后按照以下步骤进行操作。 步骤1:安装
    的头像 发表于 11-24 09:25 2488次阅读