构建纯命令行开发esp32工作流

Table of Contents

esp32的开发工具我目前使用两种,一种是官方提供的esp-idf工具,还有一种是arduino生态的cli。其实这些东西都是大同小异的方式,无非就是安装工具和依赖,然后创建项目编译烧录,最后查看串口输出,我在这里把两种方式都记录一下。

arduino-cli

# 安装
curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh

# 初始化配置
arduino-cli config init --dest-dir . --additional-urls https://downloads.arduino.cc/packages/package_staging_index.json
# 如果用三方板子的化用其它urls
arduino-cli config init --dest-dir . --additional-urls https://dl.espressif.com/dl/package_esp32_index.json

# update-index
arduino-cli config update-index --config-file arduino-cli.yaml

# 安装core
arduino-cli core  install esp32:esp32

# 创建项目
arduino-cli sketch new hello
cd hello

# 列出设备
arduino-cli board list

# 编译烧录
arduino-cli compile -fqbn esp32:esp32:esp32doit-devkit-v1 -upload -p /dev/ttyUSB0 .

# 查看串口输出
arduino-cli monitor -p /dev/ttyUSB0 -c baudrate=115200

esp-idf

# 安装
git clone https://github.com/espressif/esp-idf.git ./esp-idf
cd ./esp-idf
install.ps1

# 把idf.py export到shell中 
source ./export.sh

# copy 示例项目
cp  ./example/get-started/hello_world ~
cd ~/hello_world

# 在项目内设置target和config
idf.py set-target esp32
idf.py menuconfig

# 编译烧录
idf.py build
idf.py -p /dev/ttyUSB0 flash

# 查看串口输出
idf.py -p /dev/ttyUSB0 monitor