ESP32-C5系列连载01- 编程环境arduino-cli搭建测试基于树莓派5
本帖最后由 漂移菌 于 2025-9-26 12:18 编辑一、项目背景
这次参加了一次ESP32-C5 ECO1 的版本的开发板试用的活动,由于时间过久,我都忘记我当初填写的项目是想做什么了。在我去郑州参加国赛的时候,快递就到家了,你们能想象那种期待的急切心情吗?哈哈,在微信群里面看着各位大佬快速的搭建环境,做应用,心里也痒痒的,今天终于有时间来搞搞这个项目了, 我对树莓派比较熟悉,或者说linux下更熟悉一些。所以我的操作目前是在树莓派的系统下,全命令行操作。如果大家有闲置的树莓派,也可以跟着我操作哈哈。
二、部署配置步骤
1.烧录最新的树莓派OS到TF卡,然后初始化系统
2. 联网,更新软件仓库,开启ssh 等, Ctrl+alt+t 打开一个终端,输入:
sudo apt update
sudo apt upgrade -y
sudo apt -y install vim-common vim vim-command-t vim-youcompleteme
3. 下载并安装arduino-cli:
wget https://github.com/arduino/arduino-cli/releases/download/v1.3.1/arduino-cli_1.3.1_Linux_arm64.tar.gz
tar -xf arduino-cli_1.3.1_Linux_arm64.tar.gz
sudo cp arduino-cli/usr/bin/
4. 初始化arduino-cli的配置文件:
arduino-cli config init
5. 配置配置文件来获取板级文件的安装源:
vim /home/pi/.arduino15/arduino-cli.yaml
添加如下内容:
board_manager:
additional_urls: ['https://github.com/espressif/arduino-esp32/releases/download/3.3.0-alpha1/package_esp32_dev_index_cn.json']
network:
connection_timeout: 1800s
这里的network部分就是为了防止网络导致的下载超时,亲测有效。另外additional_urls里面必须试用这个链接,因为测试的这款ESP32-C5 是ECO1的版本,后期ESP32官方在正式版本中已经更迭为ECO2, 无法试用这套开发环境了。具体请看大佬的帖子: 【https://mc.dfrobot.com.cn/thread-398140-1-1.html】
继续上面的步骤开始测试
操作接着上一步:6. 更新arudino-cli索引文件:
arduino-cli core update-index
7. 安装esp32板级文件:
arduino-cli core install esp32:esp32@3.3.0-alpha1-cn
安装完效果如下:
pi@rpi16g:~ $ arduino-cli core install esp32:esp32@3.3.0-alpha1-cn
可以检查一下:
pi@rpi16g:~/blink $ arduino-cli core list
ID Installed Latest Name
esp32:esp32 3.3.0-alpha1-cn 3.3.0esp32
这时候通过USB线缆将ESP32-C5 模组接入树莓派的USB口,然后执行:
pi@rpi16g:~ $ lsusb可以看到类似:Bus 003 Device 002:ID 303a:1001 Espressif USB JTAG/serial debug unit说明串口识别正常。
8.检查板级的信息:
pi@rpi16g:~/blink $
pi@rpi16g:~/blink $ arduino-cli board list
Port Protocol Type Board Name FQBN Core
/dev/ttyACM0serial Serial Port (USB) ESP32 Family Device esp32:esp32:esp32_family esp32:esp32
/dev/ttyAMA10 serial Serial Port Unknown
这里看到的/dev/ttyACM0 就是串口上的ESP32-C5,先创建一个blink试试看能否编译和上传。
9. 创建一个sketch:pi@rpi16g:~ $arduino-cli sketch new blink然后进入目录进行编辑,和试用arduino一样一样的。。
pi@rpi16g:~/blink
内部代码非常简单:
pi@rpi16g:~/blink $vim blink.ino
代码内容:
pi@rpi16g:~/blink $ cat blink.ino
#define LED 15
void setup() {
Serial.begin(9600);
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
Serial.println("Init LED OK...");
}
void loop() {
Serial.println("LED ON");
digitalWrite(LED, HIGH);
delay(50);
Serial.println("LED OFF");
digitalWrite(LED, LOW);
delay(50);
}
10. 编译和上传:
pi@rpi16g:~/blink $arduino-cli compile -b esp32:esp32:esp32c5 -p /dev/ttyACM0 --upload
然后等待几秒就会看到:
Sketch uses 264255 bytes (20%) of program storage space. Maximum is 1310720 bytes.Global variables use 15504 bytes (4%) of dynamic memory, leaving 312176 bytes for local variables. Maximum is 327680 bytes.esptool.py v4.8.1Serial port /dev/ttyACM0Connecting...Chip is ESP32-C5 (revision v0.1)Features: WiFi 6, BT 5, IEEE802.15.4Crystal is 48MHzMAC: 60:55:f9:ff:fe:fc:8c:54BASE MAC: 60:55:f9:fc:8c:54MAC_EXT: ff:feUploading stub...Running stub...Stub running...Changing baud rate to 921600Changed.Configuring flash size...Flash will be erased from 0x00002000 to 0x00007fff...Flash will be erased from 0x00008000 to 0x00008fff...Flash will be erased from 0x0000e000 to 0x0000ffff...Flash will be erased from 0x00010000 to 0x00050fff...Compressed 20624 bytes to 12994...Writing at 0x00002000... (100 %)Wrote 20624 bytes (12994 compressed) at 0x00002000 in 0.2 seconds (effective 943.1 kbit/s)...Hash of data verified.Compressed 3072 bytes to 146...Writing at 0x00008000... (100 %)Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.0 seconds (effective 1027.4 kbit/s)...Hash of data verified.Compressed 8192 bytes to 47...Writing at 0x0000e000... (100 %)Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.0 seconds (effective 1338.2 kbit/s)...Hash of data verified.Compressed 264368 bytes to 147273...Writing at 0x00010000... (11 %)Writing at 0x0001c414... (22 %)Writing at 0x00023cbb... (33 %)Writing at 0x0002a1af... (44 %)Writing at 0x00030e84... (55 %)Writing at 0x00037372... (66 %)Writing at 0x0003d4ac... (77 %)Writing at 0x00043b08... (88 %)Writing at 0x00049daf... (100 %)Wrote 264368 bytes (147273 compressed) at 0x00010000 in 1.0 seconds (effective 2021.8 kbit/s)...Hash of data verified.
Leaving...Hard resetting via RTS pin...
这时候看到LED灯会非常快速的闪烁。至此,基本环境搭建完成。
下一个帖子就开始上应用了哈!
j记得往下看。。。 {:6_215:}向大佬学习!!! 豆爸 发表于 2025-9-27 11:48
向大佬学习!!!
哈哈,太客气了,我强烈推荐这个是因为它编译和烧录还挺快的。
页:
[1]