[ WiFi 智能家居项目 ] [ 2 ] ESP8266 SDK 介绍

引入

ESP8266 有多种开发方式:

  •  AT 指令版
  •  SDK 版
  •  Arduino 版
  •  NodeMCU 固件 和 Lua
  •  MicroPython
  •  JS 开发 ESP8266

本项目采用 SDK 进行开发,SDK 开发的自由度更高,基于底层驱动。用 C 语言定制 ESP8266 的功能、指令或者输入输出,对开发者要求也更高,更适合有 C 语言和硬件系统编程背景的专业开发人员。


RTOS 版本 SDK 使用 freeRTOS 系统,引入 OS 多任务处理的机制,用户可以使用 freeRTOS 的标准接口实现资源管理、循环操作、任务内延时、任务间消息传递和同步等面向任务流程的设计方式。


RTOS 版本 SDK 的网络操作接口是标准 IwIP API,同时提供了 BSD Socket、API Socket 接口的封装实现,用户可以直接直接按照 socket API 的使用方式来开发软件应用。


RTOS 版本 SDK 引入了 cJSON 库,使用该库函数可以更加方便的实现对 JSON 数据包的解析。


RTOS 版本兼容 non-OS SDK 中的 Wi-Fi 接口、smart config 接口、Sniffer 相关接口、系统接口、定时器接口、FOTA 接口和外围驱动接口,不支持 AT 实现。

目录结构

1、documents:存放 SDK 各功能模块 API 接口文档。

2、driver_lib:外设驱动代码,主要包括 gpio,i2c,spi,uart 和 timer。

3、example:示例代码。

mqtt:一种运行在 TCP 协议栈上的应用层协议,和消息队列有相似之处。Publisher --> Broker --> Subscriber

openssl:安全套接层协议,能够提供互联网上的秘密性传输。

smart_config:The SmartConfigTM is a provisioning technology developed by TI to connect a new Wi-Fi device to a Wi-Fi network. It uses a mobile application to broadcast the network credentials from a smartphone, or a tablet, to an un-provisioned Wi-Fi device.

spiffs:a file system intended for SPI NOR flash devices on embedded targets. It supports wear levelling, file system consistency checks, and more.

websocket:网络套接字

wps:(Wi-Fi Protected Setup)是Wi-Fi Simple Configuration的简称,旨在简化家庭和小型办公室无线网络的配置。通过PIN码或物理按钮,用户能快速安全地连接到无线网络。

4、extra_include:ESP8266-xtensa 内核接口。

5、include:SDK 自带头文件,包含用户可以使用的相关 API 函数及其它宏定义,用户无需修改。

6、ld:链接时所需的脚本文件,如无特殊需求,用户无需修改。

7、lib:静态库文件,include 中定义的 API 函数具体实现。

8、third_party:乐鑫开放源代码的三方库

9、tools:编译 bin 文件所需的工具,用户无需

API 接口

group__AirKiss__APIs.html
group__Driver__APIs.html
group__Espconn__APIs.html
group__ESPNow__APIs.html
group__GPIO__Driver__APIs.html
group__HW__Timer__APIs.html
group__Mesh__APIs.html
group__Misc__APIs.html
group__PWM__Driver__APIs.html
group__Smartconfig__APIs.html
group__SoftAP__APIs.html
group__SPI__Driver__APIs.html
group__Spiffs__APIs.html
group__SSC__APIs.html
group__Station__APIs.html
group__System__APIs.html
group__System__boot__APIs.html
group__Timer__APIs.html
group__UART__Driver__APIs.html
group__Upgrade__APIs.html
group__WiFi__APIs.html
group__WiFi__Common__APIs.html
group__WiFi__Force__Sleep__APIs.html
group__WiFi__Rate__Control__APIs.html
group__WiFi__Sniffer__APIs.html
group__WiFi__User__IE__APIs.html
group__WPS__APIs.html