提示:ESP32-C3是乐鑫5月刚量产的芯片,大家都传是取代ESP8266的,目前也确实有很多客户升级应用时,选择了ESP32-C3,特别是电工照明类客户,因为ESP32-C3功耗低,又自带蓝牙,价格方面又对标ESP8266;
**
今天就让小明为你盘点一下Esp8266与Esp32-C3 从硬件到应用开发有哪些不同,同时分享出环境搭建教程及相关DEMO
ESP8266 & ESP32-C3硬件区别
ESP32-C3 & ESP8266
从上表可以看出ESP32-C3和ESP8266在硬件上的区别:
-
ESP32-C3 搭载 RISC-V 32 位单核处理器,而ESP8266EX 集成的是 32 位 Tensilica 处理器;
工作电压方面,ESP32-C3也略低于ESP8266; -
GPIO口,ESP32-C3 具有 22 个可编程 GPIO 管脚、内置 400 KB SRAM,支持通过 SPI、Dual SPI、Quad SPI 和 QPI 接口外接多个 flash; 而ESP8266只有17个GPIO 管脚、内置160KB SRAM;只有两个SPI接口;
-
ESP32-C3集成 2.4 GHz Wi-Fi和长距离的 Bluetooth 5 (LE);而ESP8266只集成了集成 2.4 GHz Wi-Fi
附:ESP32-C3和ESP8266都是支持应用乐鑫成熟的物联网开发框架 ESP-IDF;支持在从机模式下工作,可通过 ESP-AT 和 ESP-Hosted SDK 为外部主机 MCU 提供 Wi-Fi 或 Bluetooth LE 连接功能。
ESP8266 & ESP32-C3环境搭建的区别
工具链设置
- ESP8266 与ESP32-c3 环境变量设置 区别
ESP8266 准备工具
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial
ESP32-c3 准备工具
ESP8266 准备sdk :
git clone --recursive
https://github.com.cnpmjs.org/espressif/ESP8266_RTOS_SDK.git
输入 git submodule update --init --recursive更新 需要多次尝试直到完全克隆
ESP32-c3 :
mkdir esp
cd ./esp
git clone --recursive https://github.com/espressif/esp-idf.git
克隆文件到当面路径下,也就是刚刚创建的文件夹esp
输入 git submodule update --init --recursive更新 需要多次尝试直到完全克隆
设置工具链及环境变量:
ESP8266:
cd ~/Desktop/esp8266/ESP8266_RTOS_SDK
python -m pip install --user -r ./requirements.txt
ESP8266 Linux 工具链可从乐鑫网站下载:
对于 64 位 Linux:
https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
对于 32 位 Linux:
https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz
cd ~/Desktop/esp8266;
tar -xzf ~/Downloads/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz;
gedit ~/.bashrc
将工具链写入环境
alias get_lx106=‘export PATH="$PATH:/home/yonghu/Desktop/esp8266/xtensa-lx106-elf/bin"’
alias get_sdk=‘export IDF_PATH="~/Desktop/esp8266/ESP8266_RTOS_SDK"’
设置python环境 :
python2.7 -m pip install --user -r ./ESP8266_RTOS_SDK/requirements.txt
运行在环境中配置的指令
get_lx106
get_sdk
ESP32-c3 :
. $HOME/esp/esp-idf/export.sh
此外,如果您希望在当下命令提示符窗口使用 ESP-IDF,请使用下方代码:
复制并粘贴以下命令到 shell 配置文件中(.profile, .bashrc, .zprofile 等)
alias get_idf=’. $HOME/esp/esp-idf/export.sh’
通过重启终端窗口或运行 source [path to profile],如 source ~/.bashrc 来刷新配置文件。
设置 idf.py 工具链
这里的 ~ 表示 家目录 /home/yonghu
然后 : ./install.sh esp32c3
接着 :. ./export.sh esp32c3 ( esp32c3打不打无所谓)
ESP8266 & ESP32-C3 Demo测试示例
ESP8266
拷贝目录
cd …/
cp ESP8266_RTOS_SDK/examples/get-started/hello_world/ ./hello_world -r
ESP32-c3:
cp ./esp-idf/examples/get-started/hello_world/ ./ -r
编译和烧入
ESP8266 :
配置 串口波特率为115200
make menuconfig
Y保存
插入开发板ESP8266
将设备连接到虚拟机
sudo ls /dev 显示 /dev下的usb设备
改变该端口权限
烧录:
ESP32-C3
cd hello_world 跑到hello_world 目录下
idf.py build 编译该工程
ls /dev/ttyUSB* 显示当前串口连接
得到 端口号为 /dev/ttyUSB0
每次烧入前必须输入sudo chmod 777 改变该USB的权限
idf.py -p PORT [-b BAUD] flash 烧入即可看见
- 观察串口打印信息
打开串口
ESP8266:
make ESPBAUD=115200 monitor
a) ESP32-c3 :
idf.py -p (PORT) monitor
这个PORT即端口号, 如上则是 /dev/ttyUSB0 命令 : idf.py -p /dev/ttyUSB0 monitor
就可以看见所有打印信息
启明云端
作为Espressif(乐鑫科技)大中华区合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫新产品、新方案的主要特点、区别及应用!希望你能第一时间了解并快速用上好的方案和产品!