2.wifi开发,SDK目录结构的研究,SDK的API,实验

ESP8266 SDK介绍

FreeRTOS工作原理

第一个任务hello word

第二个任务点灯

WiFi-STATION&AP连接

一。ESP8266的SDK介绍

1.SDK目录结构研究

我们需要了解一下的内容来达到我们对SDK目录熟悉的目的

2.对上述目录的解释

(1)Bin目录

1.编译生成的目录,直接下载到wifi中

2.特点:

根目录下为官方提供的bin文件,可以有一个upgrade文件夹,这个文件夹用来远程升级代码,具体升级可以类比打个比方(经常有人走的车道,如何修路)

(2)documents目录

这是参考文档的存放地,我们通过他来了解API的使用方式。

(3)driver_lib目录

驱动目录,例如GPIO,I2C,UART

(4)example目录

这是实例代码存放地,例如mqtt协议使用代码,OpenSSL功能代码,wps的wifi保护设置实例代码等等,需要自己摸索。我使用的是智能联网实例代码(Smart_config)

(5)extra_include目录/include目录

内核接口/freeRtos,LWIP等

使用方法:声明头文件就可以使用

(6)ld目录

编译时链接所需要的脚本,这个makefile时会自动处理他(makefile就是可以连续执行一系列指令,这样人就不需要一步一步编译代码,即代码生成bin一步到位)

(7)lib目录

我们经常见到.a的文件后缀,这是不开源的源码库,我们可以使用,但是却无法看到里面的代码

(8)third_party目录

第三方开源源码

(8)tool目录

编译BIN文件所需目录

2.SDK提供的API接口

经常有人说ESP8266简单,那就是因为我们只需要根据参考文件使用API就可以实现项目。

Documents文件夹中查找参考文件,使用即可

3.实验:

(0)前提准备

1.选择一个SDK到共享文件夹下

2.打开第一节下载的虚拟机

(1)实验步骤

创建--》注意这里会使用快捷键,补全的快捷键Tab(类似于java后端IDEA的Alt+insert)

1.创建APP目录(建立自己的工程文件)

(0)进入上一节创建的共享文件夹下

(发现刚刚复制的文件)

(1)SDK目录下新建app目录

cd进入工程,创建app文件夹

(2)cd到examples目录下

(3)拷贝smart_config下所以文件到app目录下

使用Tab补全键会方便很多

(4)cd到app目录下查看文件是否拷贝成功

进入刚刚创建的app文件夹下查看是否有数据

2.修改gen_misc.sh(修改shell文件)

继续在app文件下运行

补充:为什么修改shell文件?

工程文件与SDK文件是分离的,需要配置路径,下面makefile配置也一样。

(1)vim打开gen_misc.sh进行边编辑

(2)修改SDK_PATH为当前的SDK路径(绝对路径)

(3)修改BIN_PATH为当前BIN路径(绝对路径)

(4)wq保存退出

3.修改makefile(vim Makefile)

(1)编译前指定路径(sdk与工程文件连接)

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

补充:我们也可以直接在文件下修改,不用指令

编译

./gen_misc.sh运行脚本进行编译

最后一个使用4096K

运行结果:

生成bin文件

相关推荐
黑客K-ing几秒前
人工智能大模型即服务时代:在网络安全中的应用
网络·安全·web安全·网络安全·php
快乐的小山泽39 分钟前
光纤HDMI线与铜芯HDMI线:山泽品牌推荐
网络·物联网
安全狗新闻1 小时前
等保二级需要哪些安全设备?
网络·安全·web安全
RememberLey1 小时前
【eNSP】路由基础与路由来源——静态路由实验
网络·tcp/ip·华为·智能路由器·ensp·静态路由·huawei
dreamer2921 小时前
yakit远程连接(引擎部署在vps上)
网络·安全·web安全·网络安全
进击的程序汪1 小时前
Linux 系统管理和监控命令---- auditctl命令
linux·服务器·网络
腾科张老师2 小时前
什么是SSL VPN?其中的协议结构是怎样的?
网络·ssl vpn·协议结构
qyhua2 小时前
免费申请 Let‘s Encrypt SSL 证书
网络·网络协议·ssl
码农不惑3 小时前
如何在Debian系统里使用Redhat(CentOS)的方式配置网络
网络·centos·debian·shell·redhat
前端李易安3 小时前
HTTP常见的状态码有哪些,都代表什么意思
网络·网络协议·http