20| 3
|
[ESP8266/ESP32] ESP32-C5系列连载01- 编程环境arduino-cli搭建测试基于树莓派5 |
二、部署配置步骤 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/ardui ... _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.0 esp32 这时候通过USB线缆将ESP32-C5 模组接入树莓派的USB口,然后执行: pi@rpi16g:~ $ lsusb 可以看到类似: Bus 003 Device 002:ID 303a:1001 Espressif USB JTAG/serial debug unit 说明串口识别正常。8. 检查板级的信息: pi@rpi16g:~/blink $ arduino-cli board list Port Protocol Type Board Name FQBN Core /dev/ttyACM0 serial 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.1 Serial port /dev/ttyACM0 Connecting... Chip is ESP32-C5 (revision v0.1) Features: WiFi 6, BT 5, IEEE802.15.4 Crystal is 48MHz MAC: 60:55:f9:ff:fe:fc:8c:54 BASE MAC: 60:55:f9:fc:8c:54 MAC_EXT: ff:fe Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. 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灯会非常快速的闪烁。至此,基本环境搭建完成。 下一个帖子就开始上应用了哈! |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed