请勿使用本旧版本 SDK,建议使用 最新发布 SDK。
ESP8266_NONOS_SDK_V1.4.0_15_09_18 Release
Important Links
Here are the links for this SDK release (version ESP8266_NONOS_SDK_V1.4.0_15_09_18):
Release Notes
Resolved Issues(Bugs below are eligible for Bug Bounty Program):Optimization:
- Espconn may fail to download big chunk of data(FOTA).
- Invalid TCP data sent issue.
- Fatal exceptions occur when change WiFi mode in WiFi scan callback.
- WiFi compatibility problem of special network card.
- Deep sleep may appear high current under certain circumstances.
Added APIs:
- Add a new method to check memory leaks (API : system_show_malloc).
- Add print information when exception happens.
- Resolve the problem of os_timer_disarm.
- Optimize DHCP server, add API to set up the lease time of DHCP server. More details are in the “Added APIs”.
- Add event “EVENT_STAMODE_DHCP_TIMEOUT” for the DHCP timeout handling mechanism.
- Optimize handling of the reception of data and ZWP message.
- Add new APIs to support SSL bidirectional authentication. More details are in the “Added APIs”.
- Add new APIs to set up SSL certificates and encryption keys. espconn_secure_set_default_certificate & espconn_secure_set_default_private_key should be called to set SSL certificate and secure key, if ESP8266 runs as SSL server. More details are in the “Added APIs”.
- Optimize the process of FOTA (firmware upgrade through Wi-Fi). Please update the \esp_iot_sdk\makefile and \esp_iot_sdk\app\gen_misc.
- Optimize mDNS, and resolve the problem that in certain case the ESP8266 softAP can not work in the sta+AP mode.
- Release mesh as a lib in the esp_iot_sdk, and do not provide SDK of the mesh version any more.
- Optimize mesh’s handling of UDP packets.
- Optimize checking of the validity of the mesh API’s parameters.
- Add an API to set up the largest hop of mesh. For detailed information, go to mesh instructions.
- Optimize the process of powering up and booting to shorten booting time by 20 ms.
- Optimize the function of automatic frequency offset calibration.
- Optimize the function of sniffer.
- Strengthen reliability of the checking of beacon timeout.
- Optimize Wi-Fi event mechanism, and add event “ EVENT_SOFTAPMODE_PROBEREQRECVED”, and reason for a failed connection.
- Optimize Wi-Fi callback function and strengthen reliability of the software.
- Add the function of data transferring between stations in the soft-AP mode.
- Update SmartConfig to the version of 2.5.1.
- Update esp_init_data_default.bin. Please use the newest esp_init_data_default.bin when burning.
- Modify the espconn pointer in the receive callback of UDP. Parameters remote_ip and remote_port in it are the remote IP and port set by espconn_create. If users want to obtain IP and ports of the current sender, please call espconn_get_connection_info to get relevant information.
- System API
system_show_malloc : for checking memory leak, to print the memory usage.- DHCP server lease time related APIs
wifi_softap_set_dhcps_lease_time:set ESP8266 softAP DHCP server lease time.
wifi_softap_get_dhcps_lease_time:check ESP8266 softAP DHCP server lease time.
wifi_softap_reset_dhcps_lease_time:reset ESP8266 softAP DHCP server lease time which is 120 minutes by default.- wifi_station_dhcpc_set_maxtry:set the maximum number that ESP8266 station DHCP client will try to reconnect to the AP.
- Force sleep APIs
wifi_fpm_open:enable force sleep function.
wifi_fpm_close:disable force sleep function.
wifi_fpm_do_sleep:force ESP8266 enter sleep mode.
wifi_fpm_do_wakeup:wake ESP8266 up from force sleep.
wifi_fpm_set_sleep_type:set sleep type of force sleep function.
wifi_fpm_get_sleep_type:get sleep type of force sleep function.- Send packet freedom APIs (to send user-define 802.11 packets)
wifi_register_send_pkt_freedom_cb:register a callback for sending user-define 802.11 packets.
wifi_unregister_send_pkt_freedom_cb:unregister the callback for sending user-define 802.11 packets.
wifi_send_pkt_freedom:send user-define 802.11 packet.- RFID LOCP APIs
wifi_rfid_locp_recv_open:enable RFID LOCP to receive WDS packets.
wifi_rfid_locp_recv_close:disable RFID LOCP.
wifi_register_rfid_locp_recv_cb:register a callback of receiving WDS packets.
wifi_unregister_rfid_locp_recv_cb:unregister the callback of receiving WDS packets.- Rate Control APIs
wifi_set_user_fixed_rate:set the fixed rate and mask of sending data from ESP8266
wifi_get_user_fixed_rate:check the fixed rate and mask of ESP8266
wifi_set_user_sup_rate:set the rate range supported by ESP8266 to limit the rate of sending packets from other devices.
wifi_set_user_rate_limit:limit the rate of sending data from ESP8266.
wifi_set_user_limit_rate_mask:set the interfaces of ESP8266 whose rate of sending packets is limited by wifi_set_user_rate_limit.
wifi_get_user_limit_rate_mask:get the interfaces of ESP8266 whose rate of sending packets is limited by wifi_set_user_rate_limit.- Espconn APIs
espconn_sendto:send UDP data.
espconn_secure_cert_req_enable:enable certificates verification function when ESP8266 runs as SSL client.
espconn_secure_cert_req_disable:disable certificates verification function when ESP8266 runs as SSL client.
espconn_secure_set_default_certificate:set the certificate when ESP8266 runs as SSL server.
espconn_secure_set_default_private_key:set the encryption key when ESP8266 runs as SSL server.- SmartConfig API
smartconfig_set_type: set the protocol type of SmartConfig.
Have fun!
_______________________________________________________
ESP8266_NONOS_SDK_V1.4.0_15_09_18发布
发布说明
修正问题(符合乐鑫 Bug 赏金计划):优化:
- OTA 下载文件可能失败。
- TCP 传输时可能出现无效数据。
- 在 scan 完成的回调函数中切换模式,可能导致系统崩溃。
- 特殊网卡的兼容性问题。
- deep sleep 在某些情况下可能出现电流较高的问题。
新增 APIs:
- 新增查证内存泄露问题的方法(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 升级流程。请注意更新 \esp_iot_sdk\makefile 和 \esp_iot_sdk\app\gen_misc。
- 优化 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 查询。
- 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 的协议类型。
感谢您对 ESP8266 的关注!