物联网中的 Raspberry Pi Pico 编程入门
然而,它的功耗比 Raspberry Pi Pico 高得多,而且价格也贵得多:15 美元,而 Pico 的成本仅为 4 美元。虽然该系列中 MCU 的具体规格有所不同,但与 Pico 相比,它们通常具有两个额外的 I/O 引脚和两倍的闪存。此外,ESP32 是一个商业项目,而 Pico 则得到了 Raspberry Pi 基金会的支持,该基金会是一家旨在教育的注册慈善机构。Pico 和 Pico
该系列微控制器是物联网领域的热门选择。让我们深入研究 Raspberry Pi Pico 编程的功能、替代方案、项目和资源。
Raspberry Pi Pico 是爱好者和物联网专业人士喜爱的微控制器 (MCU) 选择。它在物联网世界中占有特殊的地位,因为它具有较小的物理尺寸以及相对较高的处理能力和较低的能耗。
除此之外,其较大的同级产品(Raspberry Pi 1 至 4)得到了广泛的主流采用,使得 Raspberry Pi 硬件在物联网世界中广为人知。Pico 的价格也非常便宜,尤其是与其他兄弟产品相比,而且您只需几分钟即可开始使用。您不需要广泛的编程知识,并且网上有足够的文档可以让您连续几周忙于实验。
继续阅读以了解有关 Raspberry Pi Pico 编程的功能、替代方案、项目和资源。
Raspberry Pi Pico 系列和功能
Raspberry Pi Pico 不仅仅是一款微控制器。它是一个高性能 MCU 板系列。其中包括 Raspberry Pi Pico、Pico H、Pico W 和 Pico WH。Pico 和 Pico H 几乎相同,唯一的主要区别是 Pico H 带有预焊接接头(意味着连接电线的地方),而 Pico 则没有。因此,如果您想将电线连接到普通 Pico,则必须自己焊接接头。
Pico W 和 Pico WH 添加了板载 Wi-Fi 模块,可让设备连接到互联网。Pico W 和 Pico WH 之间的唯一区别是 WH 具有预焊接接头。
所有四个选项均具有以下功能:
-
RP2040单片机
-
双核 Arm Cortex M0+ 处理器
-
时钟速度高达 133 MHz
-
264 KB SRAM 和 2 MB 闪存
-
1 个 USB 1.1 端口
-
低功耗或休眠模式
-
26 个通用输入/输出 (GPIO) 引脚
-
温度感应器
-
2 个 SPI、2 个 I2C、2 个 UART、3 个 ADC
-
八个可编程 I/O 状态机
所有四种 Pico 类型还具有板载 LED,这对于您的第一个项目非常重要。如果您已经有一些IoT 和 MCU经验,请随时跳到下一部分。除此之外,这里简要介绍了其中一些功能的含义以及它们的重要性。
让我们从 MCU 开始。大多数 Raspberry Pi 设计都是单板计算机 (SBC)。它们的尺寸具有较高的处理能力,并且可以执行与台式计算机相同的基本操作。他们通常使用基于 Linux 操作系统的 RaspberryOS。相比之下,微控制器板不具备运行完整操作系统的能力。因此,在台式机或笔记本电脑上,您可以打开多个应用程序,而 MCU 一次只能运行一个应用程序。
考虑一个标准的智能安全摄像头。它唯一的功能是传输视频,因此不需要完整的操作系统。相反,Raspberry Pi Pico 操作系统将是一个实时操作系统(RTOS),一次仅执行一个操作。
就处理器而言,ARM 处理器在物联网领域非常受欢迎,并且在最常见的处理器类型中具有最高的能效水平。Raspberry Pi Pico 使用的 M0+ 处理器甚至比典型的 ARM 处理器更高效。133 MHz 时钟速度(意味着处理器执行指令的速度)并不是特别快。尽管如此,这个速度对于典型的物联网应用来说已经足够了。作为参考,具有多个传感器和功能的智能健身设备的绝对最大时钟速度可能约为 300 MHz。
当规格显示 264 KB SRAM 和 2 MB 闪存时,这意味着该设备拥有 264 KB 内存,并且只有在通电时才会保留在设备上。当设备被拔掉、关闭或电池耗尽时,该内存就会被破坏。相比之下,闪存是即使在电源关闭后仍保留在设备上的存储器。换句话说,它是设备的数据存储库。
Raspberry Pi Pico 还具有 26 个 GPIO 引脚。引脚基本上是一个小孔,可让您连接外部设备。例如,如果需要,您可以使用一个引脚将额外的 LED 灯连接到板上。
SPI、I2C、UART 和 ADC 各自是不同类型的输入协议/格式。凭借丰富的多样性,您可以将 Pico 用于许多不同的项目和应用程序。最后,可编程 I/O 状态机是一个输入/输出组件,您可以针对所有不同的功能和协议进行编程。拥有八个使得 Raspberry Pi Pico 特别灵活。
Raspberry Pi Pico 的替代品
虽然 Raspberry Pi Pico 本身就是您项目的绝佳选择,但还有很多其他选择。以下是他们如何对抗 Pico。
Raspberry Pi Pico 与 Arduino Uno
与具有相似物理尺寸的 Arduino Uno 板相比,Raspberry Pi Pico 具有更多的处理能力和输入选项。例如,虽然 Pico 的最大时钟速度为 133 MHz,但 Arduino Uno 的最高时钟速度仅为 16 MHz。它只有 32 KB RAM 和 16 KB 闪存。Uno 还比 Pico 具有更少的 I/O 引脚、更高的功耗和更高的价格。Arduino Uno 仍然是一个受欢迎的选择,很大程度上是因为它与 Arduino 的大型开源工具、库和 Arduino 集成开发环境 (IDE) 兼容。
Raspberry Pi Pico 与 零
Raspberry Pi Zero 本身就是一台成熟的计算机,具有板载微处理器 (MPU) 而不是 MCU。它可以同时运行多个应用程序,并且具有高时钟速度、512 MB RAM 和 8 GB 闪存,以及 40 个 I/O 引脚(Pico 的 28 个)。它也是现有的最小的 Raspberry Pi MPU。然而,它的功耗比 Raspberry Pi Pico 高得多,而且价格也贵得多:15 美元,而 Pico 的成本仅为 4 美元。
Raspberry Pi Pico 与 ESP32
乐鑫的 ESP32 MCU 系列体积很小,处理能力和速度大约是 Pico 的两倍。虽然该系列中 MCU 的具体规格有所不同,但与 Pico 相比,它们通常具有两个额外的 I/O 引脚和两倍的闪存。然而,它们消耗的能源也是原来的两倍,而且价格也几乎是原来的两倍。因此,Pico 可能更适合第一个项目。此外,ESP32 是一个商业项目,而 Pico 则得到了 Raspberry Pi 基金会的支持,该基金会是一家旨在教育的注册慈善机构。
对 Raspberry Pi Pico 进行编程
让我们考虑一个简单的入门项目。正如软件程序员传统上首先编写一个简单的程序来打印“Hello World”一样,硬件程序员传统上首先编写一个简单的程序来让灯闪烁。在本例中,您将设置 Raspberry Pi Pico 以按设定的时间间隔打开和关闭灯闪烁。
为此,您需要编写一些代码。Raspberry Pi Pico 可响应多种编码语言,包括 C、C++ 和 MicroPython。MicroPython 是传统 Python 的更轻量级、更简单的版本,是 Raspberry Pi Pico 爱好者最常用的语言。因此,如果您已经了解 Python,那么您应该可以轻松地在 Raspberry Pi Pico 上开始使用 MicroPython,并且在这个入门项目中您应该不会遇到任何问题。
您需要什么:硬件
对于这个项目,除了开发板和 USB 线之外,您不需要任何东西。您将使用计算机来提供电源并对设备进行编程。但是,如果您想继续将 Pico 用于其他项目,则需要将其连接到外部电源,以便在未插入计算机时它仍然可以工作。
或者,您可以在 Amazon 或其他网站上获取 Raspberry Pi Pico 入门套件。该套件通常会提供 Raspberry Pi Pico MCU 板、USB 电缆、面包板、一些 LED 和电阻器以及某种教程资源。面包板只是一块带孔的塑料板。您可以将 Pico 插入其中,然后将其他电气组件也连接到板上,包括电源。
您需要什么:软件
您还需要在计算机上安装某些软件才能进行 Raspberry Pi Pico 编程。大多数项目都使用Thonny 集成开发环境,您需要下载并安装它。接下来,将 MicroPython 文件下载到您的计算机上,就可以开始编程了。
第 1 步:连接到您的计算机
将 USB 线连接到设备上的 USB 端口。然后按下 Raspberry Pi Pico 板上的白色小按钮(称为启动选择按钮),并将 USB 的另一端插入计算机,同时按住该按钮。设备连接到计算机后,您可以松开按钮。在文件资源管理器中,您应该会看到一个名为“RP1-RP2”的新连接设备。
步骤 2:在 Pico 上安装 MicroPython
复制您下载的 MicroPython 文件。在文件资源管理器中打开 RP1-RP2 设备并将 MicroPython 文件粘贴到此处。
第 3 步:为 Thonny 设置口译员
打开Thonny软件。在“运行”工具栏下,单击“选择解释器”。将出现一个包含许多选项的下拉菜单,其中之一是“MicroPython (Raspberry Pico)”。选择它并单击“确定”。
第四步:编写程序
将以下代码键入或粘贴到 Thonny 软件的主窗口中:
Python:
import machine
import utime
led = machine.Pin(25, machine.Pin.OUT)
while True:
led.value(1)
utime.sleep(1)
led.value(0)
utime.sleep(1)
此代码将使 LED 灯亮起一秒钟,然后熄灭一秒钟,无限循环,或者直到设备被拔掉。
第5步:运行程序
接下来点击运行按钮,上面有一个播放符号。弹出窗口会询问您要将文件保存在哪里。单击“Raspberry Pi Pico”。命名文件时,请确保在末尾添加 .py,以便 MCU 将该语言识别为 MicroPython。例如,您可以将其命名为 LED.py。但是,如果您希望该文件在每次插入设备时自动运行,请将其命名为 main.py。这将告诉 Pico 这是唯一需要注意的程序,并且应该在启动时立即运行该程序。接下来单击“确定”。
现在你的灯应该定期闪烁。恭喜您在 Raspberry Pi Pico 上成功完成第一个编程项目。
最后的想法
Raspberry Pi Pico 是一个便宜且简单的选择,适用于从学习编程到原型设计再到从头开始创建物联网设备的任何事情。其灵活的设计为项目提供了无限的可能性,让您在未来一段时间内保持忙碌。
更多推荐
所有评论(0)