esp_iot_sdk固件学习

ESP8266 物联网平台的所有网络功能均在库中实现,对用户不透明

用户应用的初始化功能可以在 user_main.c 中实现。

void user_init(void)是上层程序的入口函数,给用户提供一个初始化接口,

用户可在该函数内增加硬件初始化、网络参数设置、定时器初始化等功能。

 

一、代码结构

以固件中的examples文件夹下的IoT Demo为例

1. "usr"目录

user_main.c              — 程序主入口;
user_webserver.c    — 创建 TCP 服务器的示例,提供 REST 的轻量 webserver 功能;
user_devicefind.c     — UDP 传输功能的示例,提供 ESP8266 设备查找功能;
user_esp_platform.c — 与 Espressif 云端服务器通信的示例;
user_json.c                — json 包的处理示例;
user_plug.c               — 智能插座的功能示例代码;
user_light.c               — PWM 实现智能灯的功能示例代码;
user_humiture.c       — 温湿度传感器的功能示例代码;

 2. "driver"文件夹

目前外围驱动⽀支持 I2C Master,SPI,外部按键, PWM,双 UART。

3. "include"目录

include目录下为应用程序相关头文件,需要注意的是"user_config.h" 文件,

在该头文件中可选择具体的应用示例,仅支持每次打开一个宏定义,使能一个设备。

具体支持如下例子:PLUG_DEVICE(智能插座),LIGHT_DEVICE(灯)SENSOR_DEVICE(传感器)

其中 SENSOR_DEVICE (传感器)又分为 HUMITURE_SUB_DEVICE(温湿度传感器)FLAMMABLE_GAS_SUB_DEVICE(可燃气体检测)

 

另需注意,以下头文件中的宏定义指示用户参数区,用户需根据编译时选择的 flash map 自行调整,flash map 详见文档 “2A-ESP8266__IOT_SDK_User_Manual”

user_esp_platform.h 中的 #define ESP_PARAM_START_SEC 0x3D // or 0x7D, or 0xFD

user_light.h 中的 #define PRIV_PARAM_START_SEC 0x3C // or 0x7C, or 0xFC

user_plug.h 中的 #define PRIV_PARAM_START_SEC 0x3C // or 0x7C, or 0xFC

 

二、简单实例

使用 与 Espressif 云端服务器通信的示例(user_esp_platform.c )分析

IoT Demo 在 user_esp_platform_init 中设置初始工作模式为 sotfAP+station 共存的模式,用
户连入 ESP8266 softAP 接口的局域网,发指令让 ESP8266 station 接口连接可入外网的路由(AP),
用户可通过向 ESP8266 softAP 接口发指令查询 ESP8266 station 连接 WiFi 的状况。ESP8266 station 接
口连入路由后,自动连接 Espressif 云端服务器,对应代码 user_esp_platform_check_ip 。连接服务
器完成后,切换进入station模式。
ESP8266 softAP 的 SSID 默认为 ESP_XXXXXX,其中 XXXXXX 为设备 MAC 地址的后三个字节,
默认加密模式为 WPA/WPA2。
在 station 模式下,长按复位按键5秒,设备即复位并重启恢复初始 softAP+station 共存模式,可
重新进行配置。

 

三、Espressif Cloud服务

Espressif Cloud云服务需要使用master-device-key.bin认证。

转载于:https://www.cnblogs.com/L-liwen/p/5075205.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值