Bridge

To simplify the implementation of hardware that is connected via certain standardized physical connection layers and protocols, those are implemented as Bridges.

1. M-Bus

M-Bus is a widely used standard for fieldbus communication. It enables connection to M-Bus devices like meters.

1.1. Setup note

This bridge depends on jMbus, a user guide for it can be found at https://www.openmuc.org/m-bus/user-guide/.

Note: For jMbus to work you need to install the native part of RxTx which is a library for serial port communication jMbus is dependent on. See paragraph 2.5 for further information.

For Linux users: In case the RxTx library cannot be found under /usr/lib/jni you can try to move all .so files of that directory to /usr/lib (see OpenEMS Community).

2. Modbus

Modbus is a widely used standard for fieldbus connections. It is used by all kinds of hardware devices like photovoltaics inverters, electric meters, and so on.

2.1. Modbus/TCP

Modbus/TCP

Modbus/TCP for fieldbus connections via TCP/IP network.

2.2. Modbus/RTU

Modbus/Serial

Modbus/RTU for fieldbus connections via RS485 serial bus.

3. OneWire

OneWire is a widely used protocol for home automation. It is used by sensors like thermometers.

This implementation directly talks to the OneWire busmaster, e.g. a DS9490R USB dongle, without requiring the OneWire File System (OWFS). It therefore requires the natively compiled C library by the manufacturer of the OneWire chip Maxim Integrated. This library is then accessed using Java JNI.

  1. Download the OneWireViewer-Linux.zip file

  2. Unzip the file (unzip OneWireViewer-Linux.zip)

  3. Prepare compile environment (sudo apt-get install libusb-dev build-essential)

  4. Install Java JDK (e.g. sudo apt-get install openjdk-8-jdk)

  5. Compile (cd OneWireViewer-Linux/PDKAdapterUSB && make && sudo make install)

The library needs exclusive access to the busmaster.

  1. Unload the default Linux driver: rmmod ds2490

  2. Block the driver from loading on next boot echo blacklist ds2490 > /etc/modprobe.d/ds2490.conf