ESP32-C3是乐鑫开发的一款安全稳定、低功耗、低成本的物联网芯片,搭载 RISC-V 32 位单核处理器,支持 2.4 GHz Wi-Fi 和 Bluetooth LE 5.0。为物联网产品提供行业领先的射频性能、完善的安全机制和丰富的内存资源。ESP32-C3 对 Wi-Fi 和 Bluetooth LE 5.0 的双重支持降低了设备配网难度,适用于广泛的物联网应用场景。ESP32-C3与之前的ESP32系列一样可以基于乐鑫IDF进行二次开发。
1、ESP32-C3开发板
2、USB数据线
3、PC机(Windows、Linux、Mac OS)
注:最好是使用Linux,因为要是电脑配置不高使用其它的编译时会很慢
1、环境搭建
2、创建工程
3、配置menuconfig
4、编译
5、连接开发板烧录
6、监控
安装编译IDF过程中所需要的工具。
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
注:
Ubuntu(v18.04 及之前的版本)的默认解释器为 Python 2.7,这里需要使用 Python 3。您可以运行下方命令安装 Python 3:
sudo apt-get install python3 python3-pip python3-setuptools
设置 Python 3 为默认 Python 版本:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && alias pip=pip3
当前支持C3的IDF版本有release-v4.3 和 v4.3-beta1.这里使用的是release-v4.3。
mkdir -p ~/esp
cd ~/esp
git clone -b release/v4.3 --recursive https://github.com/espressif/esp-idf.git
除了 ESP-IDF 本身,还需要安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等。
cd ~/esp/esp-idf
./install.sh
cd ~/esp/esp-idf
. ./export.sh
注:每次重新打开一个终端都需要运行当前该条命令,否则会出现下面情况
上述情况解决办法:
1、每次打开终端进入esp-idf里运行. ./export.sh
2、复制并粘贴以下命令到 ~/.bashrc
文件中
alias get_idf='. $HOME/esp/esp-idf/export.sh'
更改之后需要重启或运行source ~/.bashrc
以后每次只需要运行get_idf
,在任何文件夹都行。
3、将上述命令添加到.profile
文件中,不过不建议如此,因为这样会使打开每个终端都会激活IDF虚拟环境,也包括不需要使用IDF虚拟环境的时候。
至此环境搭建成功,下面开始创建工程、进行编译烧录。
环境搭建成功,可以开始准备开发 ESP32-C3 应用程序了。可以从 ESP-IDF 中 examples 目录下的 get-started/hello_world 工程开始。
可以直接进入该目录进行操作,也可以将该hello_world拷贝到自己的文件夹下操作。
打开一个新项目后,应首先设置“目标”芯片 idf.py set-target esp32c3
,如果未执行此操作编译的则是esp32,无法烧录到esp32-c3的开发板。对工程进行配置可以使用idf.py menuconfig
命令进入UI界面进行配置。新手一般不需要对工程配置,直接使用默认配置进行编译。
在设置了目标的条件下使用命令idf.py build
编译工程。
出现如上即表示编译成功。
将ESP32-C3开发板用USB线连接PC机,并查看开发板使用的串口。
通常在Linux操作系统上显示的串口名称是: /dev/ttyUSB0
使用以下命令将编译生成的二进制文件(bootloader.bin, partition-table.bin 和 hello-world.bin)烧录到开发板。
idf.py -p /dev/ttyUSB0 flash
命令中的/dev/ttyUSB0换成ESP32-C3开发板的串口名称。
烧录成功后,可以使用 idf.py -p /dev/ttyUSB0 monitor
命令,监视 “hello_world” 工程的运行情况。注意,不要忘记将 /dev/ttyUSB0 替换为您的串口名称。
运行该命令后,IDF 监视器 应用程序将启动。
退出IDF监视器使用快捷键Ctrl+]
。
注:
在已经连接了开发板的情况下,可以使用命令:
idf.py -p /dev/ttyUSB0 flash monitor
一次性进行编译、烧录、监控。
到这里,ESP32-C3的入门学习就完成了。
可以去尝试更多的example或者直接开发自己的程序。
注意:
一些示例程序不支持 ESP32-C3,因为 ESP32-C3 中不包含所需的硬件。在编译示例程序前请查看 README 文件中 Supported Targets 表格。如果表格中包含 ESP32-C3, 或者不存在这个表格,那么即表示 ESP32-C3 支持这个示例程序。