## Introduction `EZModbus` is a Modbus library based on FreeRTOS, designed specifically for ESP32 projects on Arduino & native ESP-IDF frameworks. Built from the ground up with C++, it prioritizes developer experience, flexibility and performance through a fully asynchronous & event-driven approach. - Compatible with both native ESP-IDF & Arduino frameworks - Support for Modbus RTU (UART/RS-485) & Modbus TCP (netif) - Client, Server & Bridge components included, compatible with both protocols - Easy coupling of components to suit any Modbus application needs - Thread-safe & no-lock public API, easy to implement with "expert" use cases possible - 100% static allocation by default - Server allows safe advertising of data encoded on several registers (e.g. IEEE 754 floats) - Comprehensive Unity test suite running on real hardware ## Documentation - The docs are hosted on the following Gitbook site: [EZModbus Docs](https://pierre-jay.gitbook.io/ezmodbus-docs/) - Use the [GitHub repository](https://github.com/pierrejay/EZModbus/) to open an issue ## Examples This component includes 6 examples : - `rtu-client`: Modbus RTU Client example over UART (RS-485) - `rtu-server`: Modbus RTU Server example over UART (RS-485) - `tcp-client`: Modbus TCP Client example over Wi-Fi STA - `tcp-server`: Modbus TCP Server example over Wi-Fi STA - `rtu-client-server-loopback`: Local UART loopback example between RTU Client & Server - `bridge`: Modbus Bridge example (connects RTU slave devices over UART to TCP client peers over Wi-Fi STA) ## License EZModbus is released under the MIT License. See the LICENSE file for details.
idf.py add-dependency "pierrejay/ezmodbus^1.1.1"