其他协议
ESP32 如何优化通信延时?
建议关闭 Wi-Fi 休眠功能,调用 API
esp_wifi_set_ps(WIFI_PS_NONE)
。建议在 menucongfig 关掉
AMPDU
功能。
ESP8285 是否⽀持 CCS (Cisco Compatible eXtensions)?
ESP8285 不支持 CCS (Cisco Compatible eXtensions)。
ESP32 是否支持 LoRa (Long Range Radio) 通信?
ESP32 自身并不支持 LoRa 通信,芯片没有集成 LoRa 协议栈与对应的射频部分。ESP32 可以外接集成 LoRa 协议的芯⽚,作为主控 MCU 连接 LoRa 芯片,可以实现 Wi-Fi 与 LoRa 设备的通信。
ESP32-S2 在调用 esp_netif_t* wifiAP = esp_netif_create_default_wifi_ap()
后通过 esp_netif_destroy(wifiAP)
注销会产生 12 字节的内存泄露,什么原因?
需要在
esp_netif_destroy(wifiAP)
前额外调用esp_wifi_clear_default_wifi_driver_and_handlers(wifiAP)
,这样才是正确的注销流程,此时可发现内存泄露的情况已消失。也可以直接调用
esp_netif_destroy_default_wifi(wifiAP)
,该接口在 ESP-IDF v4.4 版本以上支持。
如何实现证书自动下载功能 ?
- CHIP: ESP32
具体操作详情参考 aws 下面证书自动下载功能 。
ESP-IDF 里如何根据错误码来获取更多的调试信息?
ESP-IDF 3.x 版本下的错误码 (errno) 列表直接存在于 IDF 中,点击 errno.h 可以进行查询。
ESP-IDF 4.x 版本的
errno.h
位于编译器工具链下,比如,对于 esp-2020r3 而言,errno.h 的路径为/root/.espressif/tools/xtensa-esp32-elf/esp-2020r3-8.4.0/xtensa-esp32-elf/xtensa-esp32-elf/include/sys/errno.h
。
ESP8266_RTOS_SDK 是否支持 TR-069 协议?
不支持,ESP8266_RTOS_SDK 本身并不提供对 TR-069 协议的原生支持,但开发者可以根据自己的需求自行实现 TR-069 协议栈,并将其集成到 ESP8266_RTOS_SDK 中。也可以使用现有的第三方 TR-069 协议栈进行集成。总之,ESP8266_RTOS_SDK 可以支持 TR-069 协议,但需要进行自行集成实现。
ESP32 支持 SAVI 吗?
不支持,SAVI (Source Address Validation Improvements) 是通过监听控制类报文(如 ND、DHCPv6),即 CPS (Control Packet Snooping),在接入设备上(AP 或交换机)为终端建立基于 IPv6 源地址、源 MAC 地址及接入设备端口的绑定关系,进而对通过指定端口的 IP 报文进行源地址校验。只有报文源地址与绑定表项匹配时才可以转发,保证网络上数据报文源地址真实性。这种一般针对于交换机或者企业级 AP 路由器的,是策略协议。目前 ESP32 支持 IPv6 链路本地地址、全球地址通信。
以太网 和 Wi-Fi 并存时,优先使用以太网传输数据吗?
:CHIP: ESP32 :
先调用 esp_netif_get_route_prio 查看以太网和 Wi-Fi 的优先级,如果 Wi-Fi 的优先级高于以太网, 可以通过修改
esp_netif_t
结构体里的route_prio
来改变优先级。
使用 SNTP 会报 “ assert failed: sntp setoperatingmode IDF/components/lwip/lwip/src/apps/sntp/sntp.c:724 (Operating mode must not be set while SNTP client is running)?“ 错误如何解决?
在 sntp_init() 接口里面加上这段代码即可:
if(sntp_enabled()){ sntp_stop(); }
ESP 模块有过 IPv6 认证吗?
当前没有。
ESP 模块支持打印机 IPP 协议吗?
当前暂不支持。
ESP32 在连接到需要登录认证的开放热点(如 CMCC)时应该如何处理?
这类热点通常采用
Captive Portal
机制。当 ESP32 连接到这类热点后,设备会跳转到登录页面,用户需要输入手机号和验证码进行认证。目前没有现成的解决方案来自动处理这种认证。另一种解决方案是在路由器的管理页面将设备加入白名单,从而避免每次连接时都需要进行认证。
使用 NTP 功能时,NTP 服务器切换的时间间隔是多少?是否有接口可以更改 NTP 切换的时间?
第一个 NTP 服务器失败后,间隔时间从 15 秒开始递增,最终稳定在大约 2 分半。目前没有接口可以修改 NTP 服务器的切换时间。
为什么在 SNTP 中时区的正负号与实际情况相反?比如印度时区是 GMT+5:30,代码中却要写成 GMT-5:30?
这是标准 time API 的设计,正负号表示相对于 GMT 的时区偏移方向,用 GMT 偏移量来表示当地时区。