当前位置: 代码迷 >> 综合 >> Ubuntu18.04 ESP32-S2 二次开发(1) - 开发环境搭建
  详细解决方案

Ubuntu18.04 ESP32-S2 二次开发(1) - 开发环境搭建

热度:61   发布时间:2023-11-21 21:27:46.0

Ubuntu18.04 ESP32-S2 二次开发(1) - 开发环境搭建
Ubuntu18.04 ESP32-S2 二次开发(2)- 点亮LED
Ubuntu18.04 ESP32-S2 二次开发(3)- 按键输入
Ubuntu18.04 ESP32-S2 二次开发(4)- 建立WIFI AP模式
Ubuntu18.04 ESP32-S2 二次开发(5)- 建立WIFI STA模式
Ubuntu18.04 ESP32-S2 二次开发(6)- 创建TCP客户端

···

Ubuntu18.04 ESP32-S2 二次开发(1) - 开发环境搭建

    • ···
  • ESP32-S2 介绍
    • 介绍
    • ESP芯片对比
  • 搭建环境
    • 安装准备
    • 下载代码
    • 设置工具
    • 设置环境变量
    • 开始创建工程
    • 连接设备
    • 配置
    • 编译工程
    • 烧录到设备
    • 串口监视
    • 参考文档

ESP32-S2 介绍

介绍

由于项目需要一款WIFI模组,以前也没接触过WiFi模块,也算是从头学习WiFi模块的开发,在网上筛选很久之后最终选择了安信可的ESP-12K模块,这个模块的WiFi芯片采用的是乐鑫的ESP32-S2。这款WiFi模块有42个引脚可以用,完全可以省掉额外的MCU,一个WiFi模块就可以完成MCU所有工作。
在这里插入图片描述

ESP芯片对比

ESP32-S2是在ESP32的基础上进行了一些裁剪和添加。最重要的部分是移除了蓝牙,增加了USB OTG。看一下ESP32-S2、ESP32、ESP8266之间的差别:
在这里插入图片描述

可以发现ESP32-S2主频240Mhz,比一般的单片机主频还高,SRAM和ROM空间都比较大,还能扩展RAM,一般的项目都足够我们用了,这个容量代码也足够写了。同时官网也给出了相关的硬件手册和技术开发手册。(https://www.espressif.com/products/socs/esp32-s2)

搭建环境

ESP32-S2可以在Ubuntu和Windows下搭建开发环境,但是我更加习惯在Ubuntu下开发,再者Ubuntu的编译速度比Windows更快也更方便。作为开发者,掌握Ubuntu开发也应该是基本技能吧。

安装准备

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

下载代码

首先需要在GitHub上下载ESP的官方代码。打开终端后,运行以下指令:

mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git

设置工具

cd ~/esp/esp-idf
./install.sh esp32s2

出现下面的提示则表明安装成功
在这里插入图片描述

设置环境变量

在需要运行 ESP-IDF 的终端窗口运行以下命令:

. $HOME/esp/esp-idf/export.sh

注意,命令开始的 “.” 与路径之间应有一个空格!

在这里插入图片描述

开始创建工程

找到ESP-IDF中examples目录下的get-started/hello_world工程。将 get-started/hello_world 工程复制至 ~/esp 目录下:

cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .

ESP-IDF 的 examples 目录下有一系列示例工程,都可以按照上面的方法进行创建。可以按照上述方法复制并运行其中的任何示例,也可以直接编译示例,无需进行复制。

连接设备

将 ESP32-S2 开发板连接到 PC,并查看开发板使用的串口。通常,串口在不同操作系统下显示的名称有所不同:

  • Windows 操作系统: COM1 等
  • Linux 操作系统: 以 /dev/tty 开始
  • macOS 操作系统: 以 /dev/cu. 开始

配置

创建工程之后,进入hello_world 目录,并运行工程配置工具 menuconfig

cd ~/esp/hello_world
idf.py set-target esp32s2
idf.py menuconfig

打开一个新项目后,应首先设置“目标”芯片 idf.py set-target esp32s2。注意,此操作将清除并初始化项目之前的编译和配置。
可以通过此菜单设置项目的具体变量,包括 Wi-Fi 网络名称、密码和处理器速度等。 hello_world 示例项目会以默认配置运行,因此可以跳过使用 menuconfig 进行项目配置这一步骤。
在这里插入图片描述

编译工程

idf.py build

运行以上命令可以编译应用程序和所有 ESP-IDF 组件,接着生成 bootloader、分区表和应用程序二进制文件。如果一切正常,编译完成后将生成 .bin 文件。
在这里插入图片描述

烧录到设备

将刚刚生成的二进制文件 (bootloader.bin, partition-table.bin 和 hello-world.bin) 烧录至 ESP32-S2 开发板:

idf.py -p PORT [-b BAUD] flash

将 PORT 替换为 ESP32-S2 开发板的串口名称,不知道可以使用ls /dev/tty*查询是哪个端口。
我这里是/dev/ttyUSB0,所以命令就是:(如果没有成功,重新插拔USB口再重复试一下)

idf.py -p /dev/ttyUSB0 flash

在这里插入图片描述
如果一切顺利,烧录完成后,开发板将会复位,应用程序 “hello_world” 开始运行。

串口监视

使用下面命令可以查看串口输出

idf.py -p PORT monitor

端口和上面烧录一样,我这里命令是:

idf.py -p /dev/ttyUSB0 monitor

在这里插入图片描述
用串口工具查看也是一样的效果

在这里插入图片描述

参考文档

https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32s2/get-started/index.html#get-started-connect