一、ESP32环境与介绍
1 资源
1.github源码:链接
2.乐鑫esp-idf指导手册:链接
3.esp-wroom-32硬件手册:链接
4.esp32软件开发手册:链接
2 硬件
先贴出来,我收到货后的产品图片:
esp32开发板正面图 esp32开发板反面图
所以,我使用的是ESP-WROOM-32这款芯片。
嗯,再来看看非常亮眼的双核处理器架构:
处理器架构
好吧,比较厉害,还支持MMU。
3 软件
3.1 开发环境
1.windows上的开发环境
在windows上,借助于ardunio,我们下载windows版本即可。官网地址:下载链接
接着需要建立层次目录:
F:\Program Files (x86)\Arduino\hardware\espressif\esp32。
如下图所示:
建立目录层次
然后,在pc上安装gcc。
在上图中,执行tools/get.exe来下载xtensa-esp32-elf文件等,如图所示:
下载工具链
注意:
如果下载不下来,可以换一个时间段下载。我在白天没下载下来,到晚上的时候,就能成功下载了。
好了,完成上面的步骤,我们就可以重新启动arduino IDE,设置好环境:
第一步:
在IDE中,选择“工具--->开发板:ESP32 Dev Module---->ESP32 Dev Module。
第二步:
编写程序,程序内容如下所示:
void setup() {
pinMode(2,OUTPUT);
}
void loop() {
digitalWrite(2,HIGH);
delay(1000);
digitalWrite(2,LOW);
delay(1000);
}
板子上有一个灯是GPIO2,所以程序用到了2号端口。
第三步:
在IDE中,选择"项目---->上传",就可以看到ESP32开发板上灯隔1s闪一次。
最后,在arduino的IDE中,"文件--->示例---->Examples for ESP32 Dev Module”有esp32的一系列例子。不过,我跑过,基本上都有问题, ^_^,哈哈。
2.linux上的开发环境
在linux上操作,我们可以参考:链接
我使用的是ubuntu,所以:
$ sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
然后,我们需要下载交叉编译工具链,我们不能使用迅雷,下载不下来的,所以在linux下,我们使用如下方式:
$ wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-73-ge28a011-5.2.0.tar.gz
之后,我们做如下操作:
$ cd /home/wityuan/Downloads
$ mkdir esp
$ tar -xzf xtensa-esp32-elf-linux64-1.22.0-73-ge28a011-5.2.0.tar.gz
然后,就是添加环境变量,可以按照如下方式操作:
1.vi ~/.profile,添加内容:export PATH="$PATH:/home/wityuan/Downloads/esp/xtensa-esp32-elf/bin"
2.source ~/.profile
3.printenv PATH
结果如下所示:
添加环境变量
表示已经添加成功了。
然后,下载软件开发包:
$ cd /home/wityuan/Downloads/esp
$ git clone --recursive https://github.com/espressif/esp-idf.git
如果在第一次克隆的时候,忘记加--recursive,则可以输入如下命令:
$ git submodule update --init
以上处理完成后,效果如下图所示:
esp32工具链与开发包
到这一步,就是需要进行代码编译了。
首先添加IDF_PATH环境变量到profile文件中:
$ vi ~/.profile
export IDF_PATH=/home/wityuan/Downloads/esp/esp-idf
下面,我们先做一个简单的例子。
$ cd /home/wityuan/Downloads/esp
$ cp -r examples/get-started/hello_world .
$ cd hello_world
$ make menuconfig
$ make flash
如果能看到如下界面:
make menuconfig界面
表明前面的操作都ok了。
注意,我们在使用make flash的时候,如果提示could not open port /dev/ttyUSB0,Permission denied,只需要:
$ sudo chmod 777 /dev/ttyUSB0
即可。
对于串口工具,我们选择在ubuntu上安装cutecom:
$ sudo apt-get install cutecom
如果出现如下内容:
esp32程序启动
表明整个esp32在linux上的环境搭建成功。
当然,按照官方文档,可以使用:
$ make monitor
查看串口是否有数据。不过由于其使用的是python,报错了,我也就不去追究到底是什么导致的了。