启明云端分享|ESP8266的升级MCU ESP32-C3这两颗MCU都有哪些区别呢?

ESP32-C3今年5月乐鑫量产,有不少品牌客户特别是电工照明类客户,因为价格相差不大,ESP32-C3又支持蓝牙配网,所以用ESP32-C3替代了原有应用的ESP8266,今天小明就为大家盘点一下这两颗MCU都有哪些不同之处?
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环境搭建的区别
工具链设置
1. ESP8266 与ESP32-c3 环境变量设置 区别
a) ESP8266 准备工具
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial

ESP32-c3 准备工具


8266 准备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 与ESP32-c3 环境变量设置 区别
设置工具链及环境变量:
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(乐鑫科技)大中华区合作伙伴,我们不仅用心整理了你在开发过程中可能会遇到的问题以及快速上手的简明教程供开发小伙伴参考。同时也用心整理了乐鑫新产品、新方案的主要特点、区别及应用!希望你能第一时间了解并快速用上好的方案和产品!