协议
JSON
移除内置 JSON 组件
ESP-IDF 已移除内置的 json
组件。用户应迁移至使用 IDF 组件管理器 中的 espressif/cjson
组件。
迁移步骤
从 CMakeLists.txt 中移除 json
在组件的
CMakeLists.txt
文件中,从REQUIRES
或PRIV_REQUIRES
列表中移除json
:# 迁移前 idf_component_register(SRCS "main.c" PRIV_REQUIRES json esp_http_server) # 迁移后 idf_component_register(SRCS "main.c" PRIV_REQUIRES esp_http_server)
将 espressif/cjson 添加到 idf_component.yml
将
espressif/cjson
依赖项添加到组件的idf_component.yml
文件中。如果该文件不存在,请在组件目录中创建它(例如main/idf_component.yml
):dependencies: espressif/cjson: "^1.7.19"
无需更改代码
API 保持不变。现有的使用 cJSON 函数的代码无需修改即可继续工作:
#include "cJSON.h" // 现有代码无需更改 cJSON *root = cJSON_Parse(json_string); cJSON *item = cJSON_GetObjectItem(root, "key"); cJSON_Delete(root);
更多信息:
ESP-TLS
已移除的废弃 API
已移除废弃函数 esp_tls_conn_http_new()
。请使用以下替代函数:
esp_tls_conn_http_new_sync()
用于阻塞连接esp_tls_conn_http_new_async()
用于非阻塞连接
新 API 需要您使用 esp_tls_init()
创建 esp_tls_t
结构,并提供对连接过程的更好控制。
ESP-Modbus
乐鑫ESP-Modbus 库 (esp-modbus) 支持基于 RS485、Wi-Fi 和以太网接口网络的 Modbus 通信。
esp-modbus v2 (v2.x.x)
组件是当前支持的组件版本:
文档
应用示例
自 ESP-IDF v6.0 版本起,已从 ESP-IDF 中移除已废弃的 esp-modbus v1
组件示例。
以下示例分别演示了串行和 TCP 端口的 ESP-Modbus 库在从站和主站实现中的应用。
mb_serial_slave - 演示如何将 ESP32 用作 Modbus 串行从站设备,通过 esp-modbus 协议栈,使外部 Modbus 主机能够使用 Modbus 协议读写设备参数。
mb_serial_master - 演示如何在 ESP32 上使用 esp-modbus 协议栈端口作为 Modbus 串行主站设备,能够读写 Modbus 段中从站设备的值。
mb_tcp_slave - 演示 esp-modbus TCP 从站协议栈端口,允许外部 Modbus 主机通过 Modbus 协议读写设备参数。
mb_tcp_master - 演示如何在 ESP32 上使用 esp-modbus 协议栈端口作为 Modbus TCP 主站设备,能够读写 Modbus 网络中从站设备的值。
有关详细信息,请参阅每个具体示例的 README.md
文档。