in/platformio
如果需要 PlatformIO Core 安装状态的完整信息,请使用 --dump-state 选项运行,并指定一个文件夹或完整路径,以 JSON 格式保存数据:
python get-platformio.py check core --dump-state pioinstaller-state.json
Found compatible PlatformIO Core 6.1.10 -> /home/andrew/.platformio/penv/bin/platformio
$ cat pioinstaller-state.json
{"core_version": "6.1.10", "python_version": "3.10.12", "core_dir": "/home/andrew/.platformio", "cache_dir": "/home/andrew/.platformio/.cache", "penv_dir": "/home/andrew/.platformio/penv", "penv_bin_dir": "/home/andrew/.platformio/penv/bin", "platformio_exe": "/home/andrew/.platformio/penv/bin/platformio", "installer_version": "1.2.1", "python_exe": "/home/andrew/.platformio/penv/bin/python", "system": "linux_x86_64", "is_develop_core": false}
现在,读取JSON文件并使用platformio_exe 二进制文件通过 CLI 调用 PlatforIO Core(参见 CLI 指南)。也可以在系统环境PATH变量中导出 penv_bin_dir,这样 platformio 命令就无需完整路径即可使用了。
要以自动模式将PlatformIO Core安装到虚拟环境中,请调用安装程序脚本,无需任何参数:
3.1.1.1.3 实例
参见https://github.com/platformio/platformio-node-helpers
3.2 快速入门
本节将向您介绍 PlatformIO Core (CLI) 命令行界面 (CLI)工作流程的基础知识,并向您展示一个简单的跨平台 "Blink "项目的创建过程。学完之后,您将对如何使用多种开发平台和嵌入式板有一个大致的了解。
3.2.1 设置项目(工程)
PlatformIO Core (CLI)为配置项目提供了特殊的 pio project init 命令。它允许初始化新的空项目或使用新数据更新现有项目。
此外pio project init 可用于云和桌面 IDE。这意味着您可以使用最喜欢的集成开发环境导入预生成的PlatformIO 项目,并使用物联网开发的专业工具对其进行扩展。
本教程基于ESP8266。
3.2.2 板识别
$ pio boards teensy
Platform: teensy
=================================================================================================================================================================
ID MCU Frequency Flash RAM Name
--------- ----------- ----------- ------- -------- ------------------------
teensymm IMXRT1062 600MHz 7.75MB 512KB SparkFun MicroMod Teensy
teensy2 ATMEGA32U4 16MHz 31.50KB 2.50KB Teensy 2.0
teensy30 MK20DX128 48MHz 128KB 16KB Teensy 3.0
teensy31 MK20DX256 72MHz 256KB 64KB Teensy 3.1 / 3.2
teensy35 MK64FX512 120MHz 512KB 255.99KB Teensy 3.5
teensy36 MK66FX1M0 180MHz 1MB 256KB Teensy 3.6
teensy40 IMXRT1062 600MHz 1.94MB 512KB Teensy 4.0
teensy41 IMXRT1062 600MHz 7.75MB 512KB Teensy 4.1
teensylc MKL26Z64 48MHz 62KB 8KB Teensy LC
teensy2pp AT90USB1286 16MHz 127KB 8KB Teensy++ 2.0
根据上表,Teensy3.1/3.2的ID是teensy31。此外,Arduino Uno的ID是 uno,NodeMCU 1.0(ESP-12E 模块)的 ID 是 nodemcuv2。
3.2.3 初始化项目
PlatformIO生态系统包含一个大型数据库,其中有最常用嵌入式板的预配置设置。它可以帮助您省去安装工具链、编写构建脚本或配置上传过程的麻烦。只需告诉PlatformIO板ID,您就会收到包含预装工具的完整工作项目,用于专业开发。
$ mkdir tmp_8266
$ cd tmp_8266
$ pio project init --board uno --board nodemcuv2 --board teensy31
The following files/directories have been created in /home/andrew/tmp_8266
include - Put project header files here
lib - Put project specific (private) libraries here
src - Put project source files here
platformio.ini - Project Configuration File
Resolving uno dependencies...
Platform Manager: Installing atmelavr
Downloading [####################################] 100%
Unpacking [####################################] 100%
Platform Manager: atmelavr@4.2.0 has been installed!
Tool Manager: Installing platformio/toolc