目录
http://wiki.ai-thinker.com/ai_ide_install
从官网下载的SDK死活不能编译通过,原来是自己根本在错误的道路上越走越远了。之后找到编译环境搭建后,原来是如此,浪费好久时间。下一步,添加移植cjson到sdk中。移植后按照接口文档进行sdk的开发。
a、自动连接固定的的WiFi;
b、网络接收到的数据稍作更改通过串口发送出来;
c、串口接收到的数据,处理后通过网络发送出去;
d、怎么进行网络调试呢
如何安装安信可一体化开发环境
ESP8266 NONOS 使用
准备
我们以esp8266_nonos_sdk-2.2.0.zip为例 (使用乐鑫原厂固件,需要将 driver_lib 和 examples/IoT_Demo 下的文件拷贝到 app目录下 ,后续步骤与下面一致。)
下载后解压到合适的目录下,我们以ESP8266_NONOS_SDK-2.0.0为例:
ESP8266的ESP8266_NONOS_SDK,采用了SDK和工程文件夹分离的方式,所以我们需要手动创建一个 app 目录。
1. 将 sdk 目录下的 driver_lib 重命名为 app
2. 拷贝 \examples\IoT_Demo 下的所有文件到刚才的 app 目录(提示覆盖则确认),完成后目录结构如下:
3. 将ESP8266_NONOS_SDK/third_party/makefile 重命名为 makefile.bak ,以防止编译时报错,虽然不影响编译但是强迫症患者不能忍啊。。。
接下来,我们启动 ESP_IDE,将项目导入 Eclipse
导入项目
1. 选择 File→Import
2. 点开C/C++分支,并选中Existing Code as Makefile Project
3. 去除C++支持,选中 Cygwin GCC
点击Browser,选中ESP8266_NONOS_SDK-2.2.0所在的目录
4. 点击 Finish 完成ESP8266_NONOS_SDK-2.2.0的导入
如下图:
编译项目
鼠标选中项目名称,点击右键出现菜单:
Build Project :编译项目
Clean Project:清理项目
选中编译项目,控制台输出如下图即编译成功
注意:Build Project 前最好先 Clean Project,以防止出错
结束
至此已经完成了ESP8266的编译
接下来的烧写下载部分请跳至如何为 ESP 系列模组烧录固件
若您需要更多示例,请跳转至ESP8266开发SDK示例
示例2:ESP8266_RTOS_SDK 使用
以下内容适用于乐鑫默认方式,您可以直接下载esp8266_rtos_sdk-2.0.0.zip ,该示例工程合并了用户工程和SDK工程,可以直接按照 NONOS 版本步骤导入。
准备
下载后解压到合适的目录下,我们以ESP8266_RTOS_SDK-2.0.0为例:
ESP8266的FreeRTOS SDK,采用了SDK和工程文件夹分离的方式,所以我们需要手动创建一个 app 目录。
1. 将 sdk 目录下的 driver_lib 重命名为 app
2. 拷贝 /examples/project_template 下的所有文件到刚才的 app 目录(提示覆盖则确认),完成后目录结构如下:
3. 将 ESP8266_RTOS_SDK-2.0.0/third_party/makefile 重命名为 makefile.bak ,以防止编译时报错,虽然不影响编译但是强迫症患者不能忍啊。。。
接下来,我们启动 ESP_IDE,将项目导入 Eclipse
导入项目
1. 选择 File→Import
2. 点开C/C++分支,并选中Existing Code as Makefile Project
3. 去除C++支持,选中 Cygwin GCC
点击Browser,选中ESP8266_RTOS_SDK-2.0.0
4. 点击 Finish 完成ESP8266_RTOS_SDK-2.0.0的导入
完成后如下图:
配置项目
因为分离了sdk和project目录
所以编译之前必须先指定一个 SDK_PATH 和 BIN_PATH
修改 ESP8266_RTOS_SDK/app 目录下的 makefile,添加以下内容
parent_dir:=$(abspath $(shell pwd)/$(lastword $(MAKEFILE_LIST)))
parent_dir:=$(shell dirname $(parent_dir))
parent_dir:=$(shell dirname $(parent_dir))
SDK_PATH= $(parent_dir)
BIN_PATH=$(SDK_PATH)/bin
编译默认项目
鼠标选中 ESP8266_RTOS_SDK-2.0.0,点击右键出现菜单:
Build Project :编译项目
Clean Project:清理项目
选中编译项目,控制台输出如下图即编译成功
注意:Build Project 前最好先 Clean Project,以防止出错
编译 Hello World
1. 删除 sample_lib 文件夹
2. 修改 ESP8266_RTOS_SDK-2.0.0/app/makefile,将 makefile 中的 sample_lib 替换为 driver ,将 libsample_lib.a 替换为 libdriver.a
3. 因为 driver/i2c_master.c 编译时会报错,因此需要在该文件内添加一些头文件支持
4. ESP8266 默认打印端口为串口 1,需要进行一些初始化方可使用,我们在 user_main.c 的 user_init() 函数中调用 uart_init_new() 函数
5. 修改 ESP8266_RTOS_SDK-2.0.0/Makefile,使其支持boot模式
6. 再次编译项目,至此可以参考 如何为 ESP 系列模组烧录固件 进行固件的下载
7. 运行结果如下:
示例3:ESP31B_RTOS_SDK 使用
示例4:ESP32_IDF 使用
准备
首先,打开 cygwin.bat
执行下列指令以使用 git 下载esp-idf 和 esp-idf-template
cd /cygdrive/d/ESP32 (进入你的工程目录)
git clone --recursive https://github.com/espressif/esp-idf.git (必须添加--recursive 属性,否则无法全部拉取所有模块)
cd esp-idf
git clone https://github.com/espressif/esp-idf-template app (将 esp-idf-template clone到 esp-idf/app 下)
git submodule update --init (强制拉取所有子模块,防止上一步骤遗漏)
若 git 下载较慢或失败,可下载http://pan.baidu.com/s/1jIRotBg(已打包 esp-idf 和 esp-idf-template,下载后请执行 git pull 以进行更新),可省略上面 git 步骤。
打开 ESP_IDE.exe,配置正确的 esp-idf 路径,并点击【OK】打开 eclipse
导入项目
1. 选择 File→Import
2. 点开C/C++分支,并选中Existing Code as Makefile Project
3. 去除C++支持,选中 Cygwin GCC
点击Browser,选中 esp-idf 所在的目录
4. 点击 Finish 完成 esp-idf 的导入
如下图:
配置项目
因为 make 只能从 app 目录启动,故我们需要修改整个项目 build 的位置
右键项目→Properties ,单击 C/C++ Build,修改如下图
此时,已经具备了编译的基础,下面我们配置 make menuconfig 和 make flash 两条指令
首先新建target,右键项目名称→Make targets ,选择 Creat
给该 Target 新建一个名称
在弹出的页面中取消勾选 Use builder setting ,
取消勾选 Same as the target name 并清空 Make target 的内容
在下面command 中输入 mintty.exe -e make menuconfig
点击 OK 保存
重复上一步骤,新建一个 DownLoad 的 Target ,
在弹出的页面中取消勾选 Use builder setting ,
取消勾选 Same as the target name 并清空 Make target 的内容
在下面command 中输入 make flash
点击 OK 保存
选中项目,按下快捷键 Shift + F9,弹出刚才新建的两个 Target
鼠标选中需要编译的 Target, 点击 Build 即可实现在 Eclipse 中下载和配置 idf
编译项目
首次使用请先执行 make menuconfig
鼠标选中项目名称,点击右键出现菜单:
Build Project :编译项目
Clean Project:清理项目
选中编译项目,控制台输出如下图即编译成功
注意:Build Project 前最好先 Clean Project,以防止出错
结束
至此已经完成了ESP32的编译
接下来的烧写下载部分请跳至如何为 ESP 系列模组烧录固件
若您需要更多示例,请跳转至ESP32 示例