首页 理论教育 ESP8266物联网SDK编译方法

ESP8266物联网SDK编译方法

时间:2023-09-25 理论教育 版权反馈
【摘要】:综上所述,SDK 是软件编程开发包,它包含了API,而IDE 是集成的编译软件,方便用户在程序编好后进行运行、调试。图1-2-13安信可官网资源解压SDK 软件包,然后重命名。图1-2-14SDK 开发包复制\examples\IoT_Demo 下的所有文件到刚才的App 目录,完成后目录结构,如图1-2-15 所示。图1-2-16makefile 文件配置接下来将配置的SDK 工程导入到编译器中。图1-2-21编译C 文件在控制台下部,看到了这样的字样,如图1-2-22 所示,表示SDK 工程编译成功。

ESP8266物联网SDK编译方法

在上一节我们描述了安信可AiThinkerIDE_V0.5 的安装及IDE 编译环境的设置,有学生对SDK、IDE、API 这三者的概念混淆不清。下面对这三者进行再次区分。

SDK(Software Development Kit,软件开发工具包)。创建应用软件的开发工具的集合。

IDE(Integrated Development Environment,集成开发环境)。一种辅助程序开发人员开发软件的应用软件,在开发工具内部就可以辅助编写源代码文本,并编译打包成为可用的程序,有些甚至可以设计图形接口。通常包括编程语言编辑器、自动构建工具以及调试器。

API(Application Programming Interface,应用程序接口),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。

以前编程是一个程序员从开始完整地编写到结束,每天都要重复写大量的代码。后面慢慢地把经常用的代码都保存起来,每次要用的时候就微调一下里面的参数,而不关心程序里面具体的代码,这样这些程序就封装起来了,而这些软件应用程序就变成了现在所说的API。再后来把硬件程序、操作系统程序也封装起来,并与之前的API 一起打包放在一起,这就成了我们所说的 SDK。再发展到后面还把编译工具也结合在一起,这个就是我们现在所说的IDE。

综上所述,SDK 是软件编程开发包,它包含了API,而IDE 是集成的编译软件,方便用户在程序编好后进行运行、调试。

所以在用于使用安信可AiThinkerIDE_V0.5 IDE 软件编程之前,要把ESP8266 的SDK 工程导入IDE 软件。

在安信可官网的资源汇总中可以找到安信可ESP 系列一体化开发环境IDE 使用手册与ESP8266 SDK 压缩包,如图1-2-13 所示。

图1-2-13 安信可官网资源

(1)解压SDK 软件包,然后重命名。接下来将 SDK 目录下的driver_lib 重命名为App,如图1-2-14 所示。App 目录的意思就是用来存放用户所编写的程序文件,这里不一定非得写成App,大家可以根据自己的喜好,定义成不同的名字。

图1-2-14 SDK 开发包

(2)复制\examples\IoT_Demo 下的所有文件到刚才的App 目录(提示覆盖则确认),完成后目录结构,如图1-2-15 所示。

图1-2-15 App 文件夹配置

(3)删除examples 文件夹,而后将\third_party\makefile 重命名为makefile.bak,以防止编译时报错,如图1-2-16 所示。这样一个SDK 工程就配置完毕了。

图1-2-16 makefile 文件配置

(4)接下来将配置的SDK 工程导入到编译器中。点击软件,选择“File”→“Import”,如图1-2-17 所示。

图1-2-17 SDK 工程导入

(5)点开C/C++分支,并选中“Existing Code as Makefile Project”,如图1-2-18 所示。

图1-2-18 C/C++文件的创建

(6)选中“Cygwin GCC”。点击“Browse…”,浏览我们刚才创建的SDK 工程文件夹,然后点击“确定”,如图1-2-19 所示。

图1-2-19 SDK 导入

(7)可以看到SDK 工程已经成功的导入,在App 文件夹中打开user_main.c 文件,显示的是程序示例代码,如图1-2-20 所示。(www.xing528.com)

图1-2-20 主程序示例代码

(8)编译SDK 工程,编译之前需要注意:编译之前必须保存编写的C 和头文件,否则编译的是未保存之前的文件,并且编译之前需要通过清除工程来清除之前的编译剩余。在工程区选中工程文件,然后点击右键“Clean Project”清除工程,再点击右键“Build Project”编译工程,如图1-2-21 所示。

图1-2-21 编译C 文件

(9)在控制台下部,看到了这样的字样,如图1-2-22 所示,表示SDK 工程编译成功。

图1-2-22 编译成功代码

(10)现在编译的仅仅只是SDK 工程的一个示例代码,它已经写有程序了,接下来将部分程序以及它添加的一些文件删除掉,作为我们的SDK 工程模板,如图1-2-23 和图1-2-24所示。注意:头文件user_devicefind.h、头文件user_webserver.h、条件编译ESP_PLATFORM 、变量priv_param_start_sec 都删除。

图1-2-23 头文件、变量申明删除

图1-2-24 变量赋值语句删除

(11)接着将user_rf_pre_init(void)、user_init(void)这两个函数保留,将user_init(void)函数清空,如图1-2-25 所示。

图1-2-25 清空初始化函数

(12)将user 文件夹下的其他C 文件都删掉,注意不要误删Makefile,如图1-2-26 所示。

图1-2-26 user 文件夹配置

(13)在App 中的driver 文件夹下存放外设相关的C 文件,而在include 中的driver 文件夹下存放外设相关的头文件。这些外设程序在SDK 工程模板当中都用不到,所以暂时把它删除。之后如果想使用的话,只需要将其C 和头文件复制到对应的文件夹当中。删除时注意driver文件夹下的Makefile 不要误删,include 文件夹下的头文件全部删掉,SSL 连文件夹一起删掉,然后只保留user_config.h 头文件,如图1-2-27 所示。

图1-2-27 SDK 文件配置

(14)user_config.h 头文件是用来定义用户的一些参数或者宏定义等,是作C 文件和头文件索引用,文件保留,内容如图1-2-28 所示。

图1-2-28 user_config.h 头文件设置

(15)接下来编译SDK 工程模板,清除工程,编译工程,可以看到编译成功。这说明SDK工程模板已经创建成功了,如图1-2-29 所示。

图1-2-29 SDK 工程模板

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈