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文件

相关推荐
anddddoooo1 小时前
Kerberoasting 离线爆破攻击
网络·数据库·安全·microsoft·网络安全
T.O.P111 小时前
TCP 传输可靠性保障
网络·tcp/ip·php
缘友一世1 小时前
java实现网络IO高并发编程java AIO
java·网络·python
dog2502 小时前
TCP off-path exploits(又一个弄巧成拙的例子)
网络·网络协议·tcp/ip
hgdlip2 小时前
ip归属地是什么意思?ip归属地是实时定位吗
网络·tcp/ip·web安全
tjjingpan2 小时前
HCIA-Access V2.5_6_3_GPON组网保护
网络
云计算DevOps-韩老师2 小时前
【网络云计算】2024第52周-每日【2024/12/26】小测-理论&实操-备份MySQL数据库并发送邮件-解析
linux·开发语言·网络·数据库·mysql·云计算·perl
IT 古月方源3 小时前
ensp ppp 协议的讲解配置
运维·网络·网络协议·tcp/ip·智能路由器
zr5268554474 小时前
IEC103 转 ModbusTCP 网关(三格电子)
运维·服务器·网络
大丈夫立于天地间5 小时前
IPv6的地址类型
网络·网络协议·学习·华为·信息与通信