ESP32是一款性能非常强大的Wifi 蓝牙SOC芯片。开发的第一步是环境搭建(Linux下),乐鑫官方已经把环境搭建流程写的非常清楚了,根据官方的文档,一步一步搭建环境,作个记录。

 官方文档参考:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/get-started/index.html#get-started-get-esp-idf

第一步 :安装虚拟机

由于ESP8266官方推荐的VBOX虚拟机,所以本文也在VBOX虚拟机下搭建环境,选取的LINUX发行版本为ubuntu16.04.

1.下载Virtualbox  https://www.virtualbox.org/wiki/Downloads

2.下载ubuntu16.04镜像  比如阿里云镜像 http://mirrors.aliyun.com/ubuntu-releases/16.04/

根据百度文库的方法,安装ubuntu:  https://jingyan.baidu.com/article/7f766daff541cd4101e1d0cd.html

安装的时候发现选择安装语言为简体中文的时候,后续界面会显示不全,无法点击下一步,搜索网上的方法是 通过设备--安装增强功能来解决这个问题,但是一直是安装失败。尝试着选择语言为English后无此问题。

esp32 蓝牙从设备 esp32 蓝牙主机_ubuntu

分区

esp32 蓝牙从设备 esp32 蓝牙主机_esp32 蓝牙从设备_02

esp32 蓝牙从设备 esp32 蓝牙主机_esp32 蓝牙从设备_03

 

第二步:工具链设置 

1.输入下面指令安装预置的一些软件包和工具 :                                                                                                                 

sudo apt-get install git wget libncurses-dev flex bison gperf python python-click python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache

2.从 Espressif 的网站下载工具链     xtensa-esp32-elf (通过Firefox下载)                                                                           

64 位 Linux:https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz                              

32 位 Linux:https://dl.espressif.com/dl/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-i686.tar.gz

3.下载完成后,将它解压到 ~/esp 目录:                                                                                                                              

mkdir -p ~/esp                                                                                                                                                                          

cd ~/esp                                                                                                                                                                                   

 tar -xzf ~/Downloads/xtensa-esp32-elf-gcc8_2_0-esp32-2019r1-linux-amd64.tar.gz

4.更新环境变量 PATH                                                          

gedit ~/.profile  编辑环境变量                                                                                                                                                 

在profile文件中加入 工具链的路径                                                                                                                                            

export PATH="$HOME/esp/xtensa-esp32-elf/bin:$PATH

退出并重新登录以使 .profile 更改生效。运行以下命令来检查 PATH 设置是否正确:                                                             

printenv PATH

esp32 蓝牙从设备 esp32 蓝牙主机_环境变量_04

第3步:获取 ESP-IDF

需要到git仓库拉取代码

cd ~/esp

git clone --recursive https://github.com/espressif/esp-idf.git

第四步:设置环境变量                         

  gedit ~/.profile  编辑环境变量   ~/.profile     PATH 中添加 idf.py :       

export IDF_PATH=~/esp/esp-idf                                                                                                                                                       export PATH="$IDF_PATH/tools:$PATH"

esp32 蓝牙从设备 esp32 蓝牙主机_python_05

  请退出,并重新登录使更改生效。

第五步:安装 Python 软件包

ESP-IDF 所需的 Python 软件包位于 IDF_PATH/requirements.txt 中。您可以运行以下命令进行安装:

python -m pip install --user -r $IDF_PATH/requirements.txt

第六步:开始创建工程

cd ~/esp                                                                                                                                                                                          

cp -r $IDF_PATH/examples/get-started/hello_world .

get-started/hello_world 复制至本地的 ~/esp 目录下

第七步:连接设备

esp32 蓝牙从设备 esp32 蓝牙主机_环境变量_06

找到了CP2102驱动设备,选中。

断开设备输入      ls /dev/tty*
连上设备再次输入  ls /dev/tty*
第二次多出来的串口就是ESP32的串口

esp32 蓝牙从设备 esp32 蓝牙主机_ubuntu_07

输入dmesg | grep tty 查看

USB0已经被捕获

esp32 蓝牙从设备 esp32 蓝牙主机_python_08

 

安装putty软件,使用命令apt-get install putty

打开软件       sudo putty  (不使用管理员权限无法正常使用)

先配置

esp32 蓝牙从设备 esp32 蓝牙主机_ubuntu_09

然后选择Serial通信,点击 OPEN

esp32 蓝牙从设备 esp32 蓝牙主机_python_10

调试助手就开启了,我们测试下,复位ESP32,调试助手有信息输出。注:测试完关闭!!

esp32 蓝牙从设备 esp32 蓝牙主机_ubuntu_11

           

第八步:配置 和 编译

cd ~/esp/hello_world

make menuconfig  配置

esp32 蓝牙从设备 esp32 蓝牙主机_ubuntu_12

 

make all 编译工程

esp32 蓝牙从设备 esp32 蓝牙主机_环境变量_13

 

make flash

出现了无法找到串口的错误

esp32 蓝牙从设备 esp32 蓝牙主机_ubuntu_14

原因是权限不够,按照官方的方法,添加权限,重启

sudo usermod -a -G dialout $USER

sudo usermod -a -G uucp $USER

esp32 蓝牙从设备 esp32 蓝牙主机_python_15

重新烧录 make flash    /  make app-flash

esp32 蓝牙从设备 esp32 蓝牙主机_python_16

 

运行监视器:

make monitor     查看运行结果

esp32 蓝牙从设备 esp32 蓝牙主机_esp32 蓝牙从设备_17