物联网开发平台PlatformIO手册(中)Home & 帐户 & ESP32实例

发布时间 2023-09-07 10:33:19作者: 磁石空杯

4 PlatformIO Home

PlatformIO Home 是 PlatformIO协作平台的一个强大、现代和交互式用户界面 (UI)。它由 PlatformIO Labs 的现代用户界面工具包提供支持,包含以下关键工具:

  • PlatformIO 账户

  • 项目管理

  • 库管理

  • 开发平台、框架和板管理

  • 设备管理(串行、逻辑和多播 DNS 服务)

  • 静态代码分析

  • 固件文件资源管理器

  • 固件内存检查

  • 固件章节和符号查看器。

4.1 安装

您无需单独安装 PlatformIO Home,它已内置于 PlatformIO IDE 和 PlatformIO Core (CLI)。

4.2 快速入门

  • PlatformIO IDE

请使用 PlatformIO 工具栏上的 (HOME) 按钮打开 PlatformIO Home:

VSCode: PlatformIO 工具栏

  • PlatformIO 核心

请使用 pio home 命令启动 PlatformIO Home Web 服务器,并在浏览器 http://127.0.0.1:8008 中打开。

4.3 Demo

  • 欢迎与项目管理

  • 静态分析

统计数据

仅代码分析(静态代码分析)

  • 固件文件资源管理器

  • 文件符号

  • 固件符号

  • 固件区

  • 静态代码分析

  • 库管理器

  • 开发板资源管理器

5 PlatformIO 帐户

以下功能需要PlatformIO帐户才能使用:

  • 社区论坛
  • 远程开发
  • 管理组织
  • 管理团队
  • 管理软件包
  • 管理资源(软件包)访问。

PlatformIO IDE在PlatformIO Home中内置用户界面,用于管理PlatformIO帐户。您可以创建新账户、重置密码、更新配置文件或获取验证令牌。必须使用此用户界面才能使用OAuth登录。

参考资料

6 ESP32 PlatformIO开发实例

PlatformIO支持多种不同的平台、架构和框架,具有现代化的开发能力。它是VSCode的扩展,因此只需点击几下即可轻松安装和配置。启动 VSCode 后,进入扩展(Ctrl+Shift+X),在市场中搜索 platformio。它将出现在匹配列表的首位。点击 "安装 "按钮,即可完成安装。几分钟后,安装完成,我们就在 VSCode IDE中安装了PlatformIO。

关于 PlatformIO,我们会讲很多,但作为最终参考,你可以在这里找到相关文档:https://docs.platformio.org/en/latest/what-is-platformio.html。

PlatformIO 有一些独特的功能。最显著的可能就是声明式开发环境。有了PlatformIO,我们只需指定我们要在项目中使用的内容,包括芯片类型(不限于Espressif产品)、哪个框架和框架的哪个版本、有版本限制的其他库,以及它们的任意组合。我们很快就会了解这些内容的含义以及如何配置项目。除此之外,PlatformIO还拥有开发嵌入式项目时需要的所有实用工具,如调试、单元测试、静态代码分析和固件内存检查。8年前我第一次使用PlatformIO时(大概是这样,我不善于回忆过去的事情),免费版本还不提供调试功能。这让我非常失望。现在PlatformIO是一个免费的开源项目,所有功能我们都可以使用。谢谢你们!废话少说,让我们用 PlatformIO 开发相同的应用程序。

6.1 使用PlatformIO的Hello world

  • 访问PlatformIO主页。

单击屏幕右侧的新建项目按钮。设置项目名称,选择电路板为 Espressif ESP32-S3-Box,框架为Espressif IoT Development Framework。您可以为项目选择一个目录,也可以将其保留为 PlatformIO 的默认目录。单击 "Finish(完成)",让 PlatformIO 完成工作。

项目创建完成后,我们将看到以下目录结构。

将src/main.c 重命名为src/main.cpp,然后复制粘贴我们已经使用ESP-IDF扩展开发的相同代码。

#include <iostream>

extern "C" void app_main()
{
std::cout << "Hello World!\n";
}

编辑 platformio.ini 文件,进行以下配置设置。

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = espidf
monitor_speed=115200
monitor_rts = 0
monitor_dtr = 0

正如你可能已经注意到的,除了PlatformIO之外,我们没有下载或安装任何东西。它为我们处理了所有这些底层配置和安装。PlatformIO为此使用了platformio.ini文件。让我们研究一下它的内容。

[env:esp32dev]这一行定义了环境。

platform = espressif32设置平台为espressif32。截至编写本章时,PlatformIO支持48种不同的平台。如果需要,我们可以指定平台版本,PlatformIO会为我们找到并下载它。如果没有指定,它将假定是最新版本的平台。

board = esp32dev 这将设置板卡 - esp32dev。PlatformIO支持1420种不同的板卡,其中162种属于 espressif32平台。

framework = espidf该类别包含PlatformIO注册表中的另外24个框架。

这三个设置来自项目定义阶段。PlatformIO在项目定义阶段将它们作为用户输入收集起来,并用这些值设置platformio.ini的初始内容。

然后,我们手动添加了后面三行,以定义串行监视器行为。我们将串行波特率设为115200bps,将RTS和DTR设为0,以便在串行监视器连接时重置芯片,从而看到应用程序的整个串行输出。

您可以通过以下链接浏览 PlatformIO 注册表,查看所有平台、板卡、框架、库和工具https://registry.platformio.org/search。

PlatformIO 文档提供了可在 platformio.ini 中配置的完整信息,并附有示例:https://docs.platformio.org/en/latest/projectconf/index.html。

6.2 PlatformIO终端

除了GUI功能外,PlatformIO还提供了命令行工具pio,可通过PlatformIO终端访问。它在某些情况下非常有用,尤其是当你喜欢使用命令行工具时。要启动PlatformIO终端,可以单击底部工具栏上的 PlatformIO:新建终端按钮。

该工具栏还有其他常用功能的快速访问按钮,如编译、上传、监控等。单击终端按钮(将鼠标指针悬停在按钮上时将显示标签)后,将重定向到命令行终端,在那里可以输入pio命令。写入pio并按回车键,即可显示pio选项。

我们可以使用 pio 来闪存 ESP32-C3-DevKitM-1,如下所示:

$ pio run -t upload -e esp32c3kit
Processing esp32c3kit (platform: espressif32; board: esp32-c3-devkitm-1; framework: espidf)
----------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-c3-devkitm-1.html
PLATFORM: Espressif 32 (5.1.1) > Espressif ESP32-C3-DevKitM-1
HARDWARE: ESP32C3 160MHz, 320KB RAM, 4MB Flash
…
Leaving...
Hard resetting via RTS pin...
============ [SUCCESS] Took 24.90 seconds =================
Environment    Status    Duration
-------------  --------  ------------
esp32c3kit     SUCCESS   00:00:24.902
=======================================

我们可以使用以下命令监控串行输出:

$ pio device monitor -e esp32c3kit
--- forcing DTR inactive
--- forcing RTS inactive
--- Terminal on /dev/ttyUSB0 | 115200 8-N-1
<removed>
[0;32mI (324) cpu_start: Starting scheduler.[0m
Hello World!

pio工具拥有所有可以通过图形用户界面实现的功能。要查看其他命令的使用方法,只需在命令名称后添加 -h 选项即可。

在线文档更好。您可以通过以下链接查看: https://docs.platformio.org/en/latest/core/userguide/index.html#commands