Protocols
JSON
Removed Built-in JSON Component
The built-in json
component has been removed from ESP-IDF. Users should migrate to using the espressif/cjson
component from the IDF Component Manager.
Migration Steps
Remove json from CMakeLists.txt
In your component's
CMakeLists.txt
, removejson
from theREQUIRES
orPRIV_REQUIRES
list:# Before idf_component_register(SRCS "main.c" PRIV_REQUIRES json esp_http_server) # After idf_component_register(SRCS "main.c" PRIV_REQUIRES esp_http_server)
Add espressif/cjson to idf_component.yml
Add the
espressif/cjson
dependency to your component'sidf_component.yml
file. If this file doesn't exist, create it in your component directory (e.g.,main/idf_component.yml
):dependencies: espressif/cjson: "^1.7.19"
No Code Changes Required
The API remains the same. Your existing code using cJSON functions will continue to work without modifications:
#include "cJSON.h" // Existing code works unchanged cJSON *root = cJSON_Parse(json_string); cJSON *item = cJSON_GetObjectItem(root, "key"); cJSON_Delete(root);
For more information:
ESP-TLS
Removed Deprecated API
The deprecated esp_tls_conn_http_new()
function has been removed. Use either:
esp_tls_conn_http_new_sync()
for blocking connectionsesp_tls_conn_http_new_async()
for non-blocking connections
The new API requires you to create the esp_tls_t
structure using esp_tls_init()
and provides better control over the connection process.
ESP-Modbus
The Espressif ESP-Modbus Library (esp-modbus) supports Modbus communication in the networks based on RS485, Wi-Fi, and Ethernet interfaces.
The component esp-modbus v2 (v2.x.x)
is the current supported component version:
Documentation
Application Examples
Since ESP-IDF version v6.0, the examples for component esp-modbus v1
which is obsolete have been removed from ESP-IDF.
The examples below demonstrate the ESP-Modbus library of serial and TCP ports for both slave and master implementations respectively.
mb_serial_slave - demonstrates how to use ESP32 as a Modbus serial slave device with the esp-modbus stack, enabling an external Modbus host to read and write device parameters using the Modbus protocol.
mb_serial_master - demonstrates how to use the esp-modbus stack port on ESP32 as a Modbus serial master device, capable of reading and writing values from slave devices in a Modbus segment.
mb_tcp_slave - demonstrates the esp-modbus TCP slave stack port, allowing an external Modbus host to read and write device parameters via the Modbus protocol.
mb_tcp_master - demonstrates how to use the esp-modbus stack port on ESP32 as a Modbus TCP master device, capable of reading and writing values from slave devices in a Modbus network.
Please refer to the README.md
documents of each specific example for details.