物联网WIFI芯片乐鑫ESP8266发布SDK v1.4.0版本

物联网WIFI芯片厂商乐鑫科于2015年09月18日技针对ESP8266正式发布无OS版本SDK v1.4.0。新的SDK修复了一些已知的BUG,对新能进行了优化并新增加了一些好用的功能。详情请看下边的更新细节列表。
[SDK Release] esp_iot_sdk_v1.4.0_15_09_18 百度网盘下载地址:
http://pan.baidu.com/s/1ntpI7iT
修正问题(符合乐鑫 Bug 赏金计划):
- OTA 下载文件可能失败。
- TCP 传输时可能出现无效数据。
- 在 scan 完成的回调函数中切换模式,可能导致系统崩溃。
- 特殊网卡的兼容性问题。
- deep sleep 在某些情况下可能出现电流较高的问题。
优化:
- 新增查证内存泄露问题的方法(system_show_malloc)。
- 增加 exception 发生时的打印信息。
- 修正关闭软件定时器有时出现异常的问题。
- 优化 DHCP server,增加设置 DHCP server 租约时间的软件接口,详见新增 API 说明。
- 增加 DHCP 超时处理机制,增加事件 EVENT_STAMODE_DHCP_TIMEOUT。
- 优化数据接收处理和 ZWP 报文处理。
- 新增接口支持 SSL 双向认证,详见新增 API 说明。
- 新增接口设置 SSL 证书和密钥,ESP8266 作为 SSL server 时,必须调用 espconn_secure_set_default_certificate 和
espconn_secure_set_default_private_key 设置证书及密钥,详见新增 API 说明。 - 优化 OTA 升级流程。
- 优化 mDNS,修复在 sta+AP 模式下,softAP 接口工作异常的问题。
- mesh 作为 esp_iot_sdk 中的一个库文件发布,不再单独提供 mesh 版本的 SDK。
- 优化 mesh 对 UDP 包的处理。
- 优化 mesh API 的参数合法性检验。
- 增加设置 mesh 最大 hop 的 API,详见 mesh 说明文档。
- 优化上电启动流程,缩短上电启动耗时 20 ms。
- 优化自动频偏校准功能。
- 优化 sniffer 功能。
- 增强 beacon timeout 检测的可靠性。
- 优化 Wi-Fi event 机制,新增事件 EVENT_SOFTAPMODE_PROBEREQRECVED,以及连接失败原因。
- 优化 Wi-Fi 回调函数,增强软件的可靠性。
- 新增支持 soft-AP 模式下,station 之间的数据转发。
- 更新 SmartConfig 至版本 2.5.1。
- 更新了 esp_init_data_default.bin,烧录时,请使用新版本的 esp_init_data_default.bin。
- 修改 UDP 收包回调中的 espconn 指针,其中的 remote_ip 和 remote_port 参数为最初调用 espconn_create 创建的远端 IP 和端口,如需获取当前收到包的发包方 IP 和端口,请调用 espconn_get_connection_info 查询。
新增 APIs:
- System API
system_show_malloc : 用于查证内存泄露问题。 - DHCP server 租约时间 APIs
wifi_softap_set_dhcps_lease_time:设置 ESP8266 softAP DHCP server 租约时间。
wifi_softap_get_dhcps_lease_time:查询 ESP8266 softAP DHCP server 租约时间。
wifi_softap_reset_dhcps_lease_time:复位 ESP8266 softAP DHCP server 租约时间,恢复为默认值 120 分钟。 - wifi_station_dhcpc_set_maxtry:设置 DHCP client 最大重连次数。
- 强制休眠 APIs
wifi_fpm_open:开启强制休眠功能。
wifi_fpm_close:关闭强制休眠功能。
wifi_fpm_do_sleep:进入强制休眠。
wifi_fpm_do_wakeup:从强制休眠中唤醒。
wifi_fpm_set_sleep_type:设置强制休眠的休眠类型。
wifi_fpm_get_sleep_type:查询强制休眠的休眠类型。 - freedom 发包 APIs,用于发送用户自定义 802.11 的包
wifi_register_send_pkt_freedom_cb:注册 freedom 发包的回调函数。
wifi_unregister_send_pkt_freedom_cb:注销 freedom 发包的回调函数。
wifi_send_pkt_freedom:freedom 发包函数。 - RFID LOCP APIs,用于 WDS 收包。
wifi_rfid_locp_recv_open:开启 RFID LOCP 功能,用于接收 WDS 包。
wifi_rfid_locp_recv_close:关闭 RFID LOCP 功能。
wifi_register_rfid_locp_recv_cb:注册 RFID LOCP 收包回调函数。
wifi_unregister_rfid_locp_recv_cb:注销 RFID LOCP 收包回调函数。 - Rate Control APIs
wifi_set_user_fixed_rate:设置发包固定速率。
wifi_get_user_fixed_rate:查询发包固定速率。
wifi_set_user_sup_rate:设置 ESP8266 支持速率的范围,用于限制通信对方的发包速率。
wifi_set_user_rate_limit:设置限制 ESP8266 发包速率范围。
wifi_set_user_limit_rate_mask:设置发包速率受限制的 ESP8266 接口。
wifi_get_user_limit_rate_mask:查询发包速率受限制的 ESP8266 接口。 - Espconn APIs
espconn_sendto:UDP 发包函数。
espconn_secure_cert_req_enable:使能 ESP8266 作为 SSL client 时的证书认证功能。
espconn_secure_cert_req_disable:关闭 ESP8266 作为 SSL client 时的证书认证功能。
espconn_secure_set_default_certificate:设置 ESP8266 作为 SSL server 时的证书。
espconn_secure_set_default_private_key:设置 ESP8266 作为 SSL server 时的密钥。 - SmartConfig API
smartconfig_set_type: 设置 SmartConfig 的协议类型。