mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
77 lines
3.2 KiB
ReStructuredText
77 lines
3.2 KiB
ReStructuredText
ESP-Modbus
|
|
==========
|
|
|
|
The Espressif ESP-Modbus Library (esp-modbus) supports Modbus communication in the networks based on RS485, Wi-Fi, Ethernet interfaces.
|
|
|
|
Options Of Usage
|
|
----------------
|
|
|
|
There are two options for using the ``ESP-Modbus`` library in your projects:
|
|
|
|
1. Using the ``freemodbus`` component included in the current release of ESP-IDF.
|
|
|
|
The ESP-IDF component ``freemodbus`` included in this release reflects the ``esp-modbus`` component of version v1.0.7. This release of the component is used by default in the existing examples mentioned below on this page.
|
|
|
|
The downside of this option is that the ``freemodbus`` component may not contain the latest fixes from esp-modbus repository. Because of this, it is recommended to use the original ``esp-modbus`` component for new projects (the option 2).
|
|
|
|
2. Using the ``esp-modbus`` component via the component manager instead of ``freemodbus``.
|
|
|
|
Additional information for the ``ESP-Modbus`` component can be found in the separate repository:
|
|
|
|
* `ESP-Modbus component on GitHub <https://www.github.com/espressif/esp-modbus>`__
|
|
|
|
In order to use ``esp-modbus`` component, your application must include the statement below in its ``CMakeLists.txt`` file to exclude the ``freemodbus`` component from the build. The excluding of the ``freemodbus`` component is required to avoid compilation issues when ``esp-modbus`` is used in conjunction with the component manager.
|
|
|
|
.. highlight:: none
|
|
|
|
::
|
|
|
|
set(EXCLUDE_COMPONENTS freemodbus)
|
|
|
|
If your project uses the make build system, the statement below needs to be added into project Makefile:
|
|
|
|
.. highlight:: none
|
|
|
|
::
|
|
|
|
EXCLUDE_COMPONENTS := freemodbus
|
|
|
|
The ``main`` component folder of the new application shall include the component manager manifest file ``idf_component.yml`` as below:
|
|
|
|
.. highlight:: none
|
|
|
|
::
|
|
|
|
dependencies:
|
|
idf: ">=4.1"
|
|
espressif/esp-modbus:
|
|
version: "^1.0"
|
|
|
|
This option allows to use the latest ``esp-modbus`` component updates in any projects based on ESP-IDF versions from v4.1 up to v5.0.
|
|
Refer to :doc:`component manager documentation <../../api-guides/tools/idf-component-manager>` for more information on how to set up the component manager. The ``esp-modbus`` component can be found in `component manager registry <https://components.espressif.com/component/espressif/esp-modbus>`__.
|
|
|
|
Managed Documentation
|
|
---------------------
|
|
|
|
The component documentation can be found on the link below:
|
|
|
|
* `ESP-Modbus documentation (English) <https://docs.espressif.com/projects/esp-modbus>`__
|
|
|
|
Application Example
|
|
-------------------
|
|
|
|
The examples below demonstrate the ESP-Modbus library of serial, TCP ports for slave and master implementations accordingly.
|
|
|
|
- :example:`protocols/modbus/serial/mb_slave`
|
|
- :example:`protocols/modbus/serial/mb_master`
|
|
- :example:`protocols/modbus/tcp/mb_tcp_slave`
|
|
- :example:`protocols/modbus/tcp/mb_tcp_master`
|
|
|
|
Please refer to the specific example README.md for details.
|
|
|
|
Protocol References
|
|
-------------------
|
|
|
|
- `Modbus Organization with protocol specifications <https://modbus.org/specs.php>`__
|
|
|