meta data for this page
  •  

This is an old revision of the document!


RECSDaemon

Introduction

The RECSDaemon is a small program that can be installed on compute modules in a RECS|Box system to be able to forward OS-level moinitoring data to the integrated anagement system of the RECS|Box. It is written to be cross-platform, running on Microsoft Windows as well as Linux and on x86, x64 and ARM systems. To be able to adapt to different platforms, the RECSDaemon uses plugins for different purposes. To configure these plugins and other settings an .ini file is used. The RECSDaemon is also able to execute commands sent by the management system to the node (e.g. for shutting down the OS gracefully).

Installation

The RECSDaemon is currently available as a Debian packet (.deb) that can simply be installed using the distribution's packet manager. Packets are provided for x86, x64 and ARM hardfloat setups.

After downloading the file you can install it e.g. on Ubuntu using the following command:

    dpkg --install RECSDaemon_3.5.0.deb

The installation script will try to auto-detect some of the configuration parameters, but as platforms supported by the daemon are very diverse, manual configuration of remaining parameters most probably will be necessary.

Configuration

The RECSDaemon will by default be installed to

    /opt/RECSDaemon

The configuration file thus will be

    /opt/RECSDaemon/conf/recsdaemon.ini

As this is a standard INI file, it is devided into different sections (denoted by square brackets) with parameters that are set to a certain value (e.g. updateInterval=1000). You can edit this file using a text editor, e.g. nano or vi. However, you probably will need root privileges to do so.

The different aspects that need to be configured will be described in the following chapters.

Communication

To be able to send sensor values and to receive commands, the RECSDaemon has to communicate with the management system of the RECS®|Box. This can happen via one of two different communication channels: On the one hand it is possible to use the internal management bus (I2C) of the RECS®|Box. On the other hand, regular TCP/IP is also supported when an external connection between the node the RECSDaemon is running on and the management Ethernet port of the RECS®|Box is made. Without this external connection, only I2C can be used.

As access to the external I2C bus of compute modules can differ between module vendors, there are multiple plugins available:

Plugin Use for
LinuxCommunicatorDev All modules that provide the external I2C bus as a /dev/i2c-* device
CommunicatorCongatec COM Express modules from Congatec, uses CGOS
CommunicatorKontron COM Express modules from Kontron, uses KEAPI
CommunicatorTCP Communication via TCP/IP
CommunicatorDummy Testing only, no external data transfer happening

Some of these plugins need further configuration. The necessary parameters are shown in the next chapters, all of which belong in the [Comm] section.

LinuxCommunicatorDev

If neccessary, the I2C bus to be used can be changed. This is done by setting the i2cBus property. The value is used to determine the device path by appending it to the base path “/dev/i2c-”.

Example configuration:

[Comm]
PluginName=LinuxCommunicatorDev
i2cBus=0

CommunicatorTCP configuration

When utilizing I2C as the communication channel, the RECSDaemon automatically can determine on which baseboard in the RECS®|Box it is running. However, when using TCP/IP this information has to be supplied in the configuration. This is done by setting the baseboard parameter to the number of the baseboard this module is currently plugged into. Please remember to update this value when you move the module to another baseboard.

Also neccessary is the IP addess of the RECS®|Box management system, which is set by the controller property. Set this value to the IP of the RCU the module is contained in.

Example configuration:

[Comm]
PluginName=CommunicatorTCP
baseboard=2
controller=192.168.13.56

Slot detection

Sensor providers

Sensors

Other settings