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:
这里面包含了乐鑫提供的不同版本的SDK源码,以供下载。同时,还提供了相关的SDK文档供用户使用:
SDK 编程环境的搭建
8266 SDK常用的编程环境有两种:
1 乐鑫提供的编译环境,需要使用Linux系统,要安装虚拟机,比较麻烦;
2 安信可提供Windows操作系统下的一体化编译环境;
如下图所示为安信可的文档:
这里提供了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;
3 拷贝 \examples\IoT_Demo 下的所有文件到刚才的 app 目录(提示覆盖则确认),完成后目录结构如下:
然后,删除examples文件夹。
4 将ESP8266_NONOS_SDK/third_party/makefile 重命名为 makefile.bak ,以防止编译时报错:
这样,SDK工程配置完毕。
SDK导入IDE
1 选择File→Import
2 点开C/C++分支,并选中Existing Code as Makefile Project
3 选中 Cygwin GCC,点击Browser,选中 SDK_Template 所在的目录:
此时,SDK工程已经成功导入,整个工程结构如下:
4 编译工程
注意,编译前需要保存,否则变异的是未保存之前的文件;
编译前需要清除工程(Clean Project),然后再编译(Build Project);
当在控制台出现如下图示时,表示SDK工程编译成功;
5 由于这个SDK工程是官网提供的,已经写好程序的例程,接下来,我们需要将写的程序和添加到文件删除掉,以作为SDK工程模板;
Ⅰapp→User→user_main.c
a) 删除不必要的头文件
b) 删除FLASH扇区设置函数中的赋值语句
c) 清空user_init函数
2 删除user文件夹下的其他 c 文件(user_main.c和Makefile保留):
3 删掉driver文件夹下的c文件(Makefile保留):
4 删掉include→driver下的所有 h文件:
5 删掉include→ssl 文件夹:
6 删除不使用的头文件(只保留user_config.h):
7 清空user_config.h头文件:
8 配置完成。整个工程模板如下所示:
重新编译整一个工程文件,成功ok。