Skip to content

A Fledge south plugin that implements modbus-tcp and modbus-rtu

License

Notifications You must be signed in to change notification settings

fledge-iot/fledge-south-modbus-c

Repository files navigation

Modbus C/C++ South plugin

Installation

This modbus plugin supports modbus-tcp and modbus-rtu. and it requires the Linux libmodbus library, this can be installed with given requirements.sh or the following steps:

$ sudo apt install -y libmodbus-dev

On RedHat or CentOS platforms the modbus are help in the epel repository. This must be added before the packages are installed

$ sudo yum install -y epel-release
$ sudo yum install -y libmodbus
$ sudo yum install -y libmodbus-devel

Alternately simply run the script requirements.sh in this directory.

Build

To build Modbus C++ plugin run the commands:

$ mkdir build
$ cd build
$ cmake ..
$ make
  • By default the Fledge develop package header files and libraries are expected to be located in /usr/include/fledge and /usr/lib/fledge
  • If FLEDGE_ROOT env var is set and no -D options are set, the header files and libraries paths are pulled from the ones under the FLEDGE_ROOT directory. Please note that you must first run 'make' in the FLEDGE_ROOT directory.

You may also pass one or more of the following options to cmake to override this default behaviour:

  • FLEDGE_SRC sets the path of a Fledge source tree
  • FLEDGE_INCLUDE sets the path to Fledge header files
  • FLEDGE_LIB sets the path to Fledge libraries
  • FLEDGE_INSTALL sets the installation path of Random plugin
NOTE:
  • The FLEDGE_INCLUDE option should point to a location where all the Fledge header files have been installed in a single directory.
  • The FLEDGE_LIB option should point to a location where all the Fledge libraries have been installed in a single directory.
  • 'make install' target is defined only when FLEDGE_INSTALL is set

Examples:

  • no options

    $ cmake ..

  • no options and FLEDGE_ROOT set

    $ export FLEDGE_ROOT=/some_fledge_setup

    $ cmake ..

  • set FLEDGE_SRC

    $ cmake -DFLEDGE_SRC=/home/source/develop/Fledge ..

  • set FLEDGE_INCLUDE

    $ cmake -DFLEDGE_INCLUDE=/dev-package/include ..

  • set FLEDGE_LIB

    $ cmake -DFLEDGE_LIB=/home/dev/package/lib ..

  • set FLEDGE_INSTALL

    $ cmake -DFLEDGE_INSTALL=/home/source/develop/Fledge

    $ cmake -DFLEDGE_INSTALL=/usr/local/fledge