目录

  • 前言
  • 准备工作
  • 搭建仿真环境和工具链
  • 导入例程
  • 配置项目
  • 添加编译指令
  • 编译测试
  • 下载程序


前言

前段时间自己做了个微信小程序,几乎把微信开放出来的通信能力全部集成在它的身上,包括蓝牙(BLE)、手机网络(MQTT和UDP),支持自定义界面,幸运的是微信小程序天生的跨平台特性,使得无论是安卓用户还是苹果用户都可以使用它。至此,算是完成了自己多年来的一个小小的心愿 —— 让每个人都拥有属于自己的远程控制APP。当我注意到ESP32同时支持WiFi和蓝牙时,我意识到,没有比它更合适物联网设备的开发了(懂王狗头),从本篇开始,开启我的ESP32开发之旅。

小程序 mqtt 绑定esp32_工具链


准备工作

  1. 工具链和仿真环境资源包;
  2. eclipse c/c++版本;
  3. java安装包;

以上资源我已经放在了“我的硬件-技术交流群”文件中(QQ群:635404055)


搭建仿真环境和工具链

  1. 解压esp32_win32_msys2_environment_and_toolchain-20170111.zip到 F 盘目录(随意哪个盘都可以),将会出现一个 msys32 的文件夹;
  2. 解压esp32-dir.zip到上个步骤产生的msys32文件夹下;
  3. 打开F:\msys32\etc\profile.d\esp32_toolchain.sh,添加

export IDF_PATH=“F:\msys32\esp32-dir\esp-idf”

保存并退出。

小程序 mqtt 绑定esp32_eclipse_02

  1. 安装 jre,完成后解压 eclipse 到 任意盘,并运行 eclipse。

导入例程

  1. 打开eclipse,鼠标右击“资源管理器”,选择“导入”,找到C/C++项里面的“Existing Code as Makefile Project”,然后点击下一步。
  2. 按下图步骤进行,hello_world例程的路径在 F:\msys32\esp32-dir\esp-idf\examples\get-started\hello_world

完成上述步骤后,就已经完成了代码的导入操作,但此时你的编辑器会有很多错误或警告,接下来我们给该项目加上源文件路径即可。

小程序 mqtt 绑定esp32_工具链_03


配置项目

  1. 选中左边的项目资源管理器里面的项目名称,并右击进入“属性”界面

小程序 mqtt 绑定esp32_工具链_04


2. 选择C/C++ Build下的Environment选项,配置环境变量。

//IDF_PATH
F:\msys32\esp32-dir\esp-idf
//PATH  
F:\msys32\usr\bin;F:\msys32\opt\xtensa-esp32-elf\bin;F:\msys32\mingw32\bin;

小程序 mqtt 绑定esp32_eclipse_05

  1. 设置Paths and Symbols项,将下表路径添加到CNU C项里面
${IDF_PATH}/components/esp32/include
${IDF_PATH}/components/newlib/include
${IDF_PATH}/components/freertos/include
${IDF_PATH}/components/nvs_flash/include
${IDF_PATH}/components/driver/include
${IDF_PATH}/components/log/include
${IDF_PATH}/components/spi_flash/include

小程序 mqtt 绑定esp32_eclipse_06

一般来说,选择路径如果显示如下图所示即表示路径正确,否则需要再仔细检查一下是否哪里有问题。

小程序 mqtt 绑定esp32_嵌入式_07


完成上述步骤后,点击“应用并关闭”。


添加编译指令

选中项目,右击鼠标选择Build Targets -> Create …

  1. 添加 make all 指令,主要用于编译代码。

小程序 mqtt 绑定esp32_工具链_08

  1. 添加 make flash 指令,主要用于烧录代码到目标板子上。

小程序 mqtt 绑定esp32_工具链_09


编译测试

双击项目下的 Build Targets -> make all

小程序 mqtt 绑定esp32_物联网_10


如上图所示,编译成功。


下载程序

  1. 配置烧录串口,打开msys2_shell.cmd,进入到hello_world项目下,输入

make menuconfig

小程序 mqtt 绑定esp32_小程序 mqtt 绑定esp32_11


小程序 mqtt 绑定esp32_工具链_12


将上图的/COM6 修改为正确的串口,然后保存。

  1. 双击项目下的 Build Targets -> make flash 烧录代码,等待一会就烧录完成了。

小程序 mqtt 绑定esp32_物联网_13