ESP8266的使用方式有两种:

1 AT指令:

使用额外的单片机,通过串口发送AT指令(串口数据)到ESP8266,ESP8266则会执行相应的功能,如连接WiFi,发送网络数据等;

优点:简单方便(ESP8266只需(UART)既可作为WiFi适配器,应用到任何基于微控制器的设计中);

缺点:需额外单片机,增加成本,效率低(串口通信速度慢);

2 SDK编程:

ESP8266集成了32-bit内核处理器,带片上SRAM,可以通过GPIO等外设连接传感器和其他设备;

可以将ESP8266独立应用,程序存储在外部FLASH中,ESP8266读取外部FLASH中的程序,执行相应功能;

即:8266本身就是集成你微控制器的WiFi芯片,可以使用SDK对它进行编程;

优点:无需额外单片机,节省成本,效率高(CPU主频最高可达160MHz);

缺点:SDK编程有点麻烦,增加了研发成本;

 

什么是SDK?

SDK = Software Development Kit    软件开发包

就是一个文件夹,存放SDK编程的所需文件:外设驱动库、WiFi配置库、链接文件等...

SDK编程:在特定编译环境下,使用SDK软件开发包,进行ESP8266编程开发。

 

乐鑫官网提供的 ESP8266 开发SDK:

esp8266发送数据到树莓派 esp8266如何发送数据_单片机

这里面包含了乐鑫提供的不同版本的SDK源码,以供下载。同时,还提供了相关的SDK文档供用户使用:

esp8266发送数据到树莓派 esp8266如何发送数据_esp8266发送数据到树莓派_02

 

SDK 编程环境的搭建

8266 SDK常用的编程环境有两种:

1 乐鑫提供的编译环境,需要使用Linux系统,要安装虚拟机,比较麻烦;

2 安信可提供Windows操作系统下的一体化编译环境;

 

如下图所示为安信可的文档:

esp8266发送数据到树莓派 esp8266如何发送数据_单片机_03

这里提供了IDE安装包,以及详细的安装过程:

安装链接:https://wiki.ai-thinker.com/ai_ide_install

安装完成后,还要对SDK进行配置,过程如下:

配置链接:https://wiki.ai-thinker.com/ai_ide_use

 

创建SDK模板(参考安信可文档)

1 复制一份从官网下载的SDK,重命名为SDK_Template;

2 将 sdk 目录下的 driver_lib 重命名为 app;

esp8266发送数据到树莓派 esp8266如何发送数据_编译环境_04

3 拷贝 \examples\IoT_Demo 下的所有文件到刚才的 app 目录(提示覆盖则确认),完成后目录结构如下:

esp8266发送数据到树莓派 esp8266如何发送数据_官网_05

然后,删除examples文件夹。

esp8266发送数据到树莓派 esp8266如何发送数据_官网_06

4 将ESP8266_NONOS_SDK/third_party/makefile 重命名为 makefile.bak ,以防止编译时报错:

esp8266发送数据到树莓派 esp8266如何发送数据_编译环境_07

这样,SDK工程配置完毕。

 

SDK导入IDE

1 选择File→Import

esp8266发送数据到树莓派 esp8266如何发送数据_单片机_08

2 点开C/C++分支,并选中Existing Code as Makefile Project

esp8266发送数据到树莓派 esp8266如何发送数据_单片机_09

3 选中 Cygwin GCC,点击Browser,选中 SDK_Template 所在的目录:

esp8266发送数据到树莓派 esp8266如何发送数据_esp8266发送数据到树莓派_10

此时,SDK工程已经成功导入,整个工程结构如下:

esp8266发送数据到树莓派 esp8266如何发送数据_esp8266发送数据到树莓派_11

4 编译工程

注意,编译前需要保存,否则变异的是未保存之前的文件;

编译前需要清除工程(Clean Project),然后再编译(Build Project);

当在控制台出现如下图示时,表示SDK工程编译成功;

esp8266发送数据到树莓派 esp8266如何发送数据_编译环境_12

5 由于这个SDK工程是官网提供的,已经写好程序的例程,接下来,我们需要将写的程序和添加到文件删除掉,以作为SDK工程模板;

Ⅰapp→User→user_main.c

a) 删除不必要的头文件

esp8266发送数据到树莓派 esp8266如何发送数据_esp8266发送数据到树莓派_13

b) 删除FLASH扇区设置函数中的赋值语句

esp8266发送数据到树莓派 esp8266如何发送数据_esp8266发送数据到树莓派_14

c) 清空user_init函数

esp8266发送数据到树莓派 esp8266如何发送数据_编译环境_15

2 删除user文件夹下的其他 c 文件(user_main.c和Makefile保留):

esp8266发送数据到树莓派 esp8266如何发送数据_esp8266发送数据到树莓派_16

3 删掉driver文件夹下的c文件(Makefile保留):

esp8266发送数据到树莓派 esp8266如何发送数据_单片机_17

4 删掉include→driver下的所有 h文件:

esp8266发送数据到树莓派 esp8266如何发送数据_编译环境_18

5 删掉include→ssl 文件夹:

esp8266发送数据到树莓派 esp8266如何发送数据_esp8266发送数据到树莓派_19

6 删除不使用的头文件(只保留user_config.h):

esp8266发送数据到树莓派 esp8266如何发送数据_单片机_20

7 清空user_config.h头文件:

esp8266发送数据到树莓派 esp8266如何发送数据_编译环境_21

8 配置完成。整个工程模板如下所示:

esp8266发送数据到树莓派 esp8266如何发送数据_esp8266发送数据到树莓派_22

重新编译整一个工程文件,成功ok。