meta data for this page
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| documentation:recsdaemon [2016/09/28 15:08] – Spell check kru | documentation:recsdaemon [2021/06/08 14:12] (current) – Adding SensorProviderJetson info vor | ||
|---|---|---|---|
| Line 9: | Line 9: | ||
| ===== Installation ===== | ===== Installation ===== | ||
| - | The RECSDaemon is currently | + | The RECSDaemon is open source and available as [[https:// |
| - | + | ||
| - | 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. | 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. | ||
| Line 19: | Line 15: | ||
| RECSDaemon comes with both systemd and classical init scripts to allow automatically starting the daemon during system boot. Depending on your distribution, | RECSDaemon comes with both systemd and classical init scripts to allow automatically starting the daemon during system boot. Depending on your distribution, | ||
| - | systemctl enable RECSDaemon | + | <code bash> |
| + | systemctl enable RECSDaemon | ||
| + | </ | ||
| or | or | ||
| - | + | ||
| - | update-rc.d RECSDaemon defaults | + | <code bash> |
| + | update-rc.d RECSDaemon defaults | ||
| + | </ | ||
| ===== Configuration ===== | ===== Configuration ===== | ||
| Line 37: | Line 37: | ||
| ==== Communication ==== | ==== Communication ==== | ||
| + | |||
| To be able to send sensor values and to receive commands, the RECSDaemon has to communicate with the management system of the RECS< | To be able to send sensor values and to receive commands, the RECSDaemon has to communicate with the management system of the RECS< | ||
| 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< | 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< | ||
| Line 52: | Line 53: | ||
| === LinuxCommunicatorDev === | === LinuxCommunicatorDev === | ||
| + | |||
| If necessary, the I2C bus to be used can be changed. This is done by setting the '' | If necessary, the I2C bus to be used can be changed. This is done by setting the '' | ||
| Example configuration: | Example configuration: | ||
| - | < | + | |
| + | < | ||
| + | [Comm] | ||
| PluginName=LinuxCommunicatorDev | PluginName=LinuxCommunicatorDev | ||
| - | i2cBus=0</ | + | i2cBus=0 |
| + | </ | ||
| === CommunicatorTCP configuration === | === CommunicatorTCP configuration === | ||
| Line 65: | Line 70: | ||
| Example configuration: | Example configuration: | ||
| - | < | + | |
| + | < | ||
| + | [Comm] | ||
| PluginName=CommunicatorTCP | PluginName=CommunicatorTCP | ||
| baseboard=2 | baseboard=2 | ||
| - | controller=192.168.13.56</ | + | controller=192.168.13.56 |
| + | </ | ||
| ==== Slot detection ==== | ==== Slot detection ==== | ||
| + | |||
| Because some of the RECS< | Because some of the RECS< | ||
| Line 79: | Line 88: | ||
| === LinuxSlotDetectorGPIO configuration === | === LinuxSlotDetectorGPIO configuration === | ||
| + | |||
| This plugin needs the numbers of the GPIO pins used to sense the slot position as used by the running kernel. These are set with the '' | This plugin needs the numbers of the GPIO pins used to sense the slot position as used by the running kernel. These are set with the '' | ||
| Example configuration: | Example configuration: | ||
| - | < | + | < |
| + | [Slot] | ||
| slotPluginName=LinuxSlotDetectorGPIO | slotPluginName=LinuxSlotDetectorGPIO | ||
| Bit0GPIO=133 | Bit0GPIO=133 | ||
| - | Bit1GPIO=134</ | + | Bit1GPIO=134 |
| + | </ | ||
| ==== Sensor providers ==== | ==== Sensor providers ==== | ||
| + | |||
| Sensor providers, as the name implies, add one or more sensors to the RECSDaemon' | Sensor providers, as the name implies, add one or more sensors to the RECSDaemon' | ||
| Line 96: | Line 110: | ||
| |SensorProviderZynq | Direct | Serial transceiver link, utilization, | |SensorProviderZynq | Direct | Serial transceiver link, utilization, | ||
| |SensorProviderZynqModule | JSON | Sensors provided by the module’s microcontroller: | |SensorProviderZynqModule | JSON | Sensors provided by the module’s microcontroller: | ||
| + | |SensorProviderJetson | Direct | Nvidia Jetson Xavier AGX SoC temperature and various power measurements | | ||
| Example configuration: | Example configuration: | ||
| < | < | ||
| - | SensorProviders=SensorProviderZynq, | + | SensorProviders=SensorProviderZynq, |
| JSONSensorProviders=SensorProviderZynqModule</ | JSONSensorProviders=SensorProviderZynqModule</ | ||
| Line 107: | Line 122: | ||
| === SensorProviderZynq === | === SensorProviderZynq === | ||
| + | |||
| This plugin needs the base address of the monitoring peripheral it should read in the Zynq's memory space. Configure it with the '' | This plugin needs the base address of the monitoring peripheral it should read in the Zynq's memory space. Configure it with the '' | ||
| === SensorProviderZynqModule === | === SensorProviderZynqModule === | ||
| + | |||
| This plugin needs the name of the serial port of the management microcontroller on the Zynq module. Configure it with the '' | This plugin needs the name of the serial port of the management microcontroller on the Zynq module. Configure it with the '' | ||
| + | |||
| ==== Sensors ==== | ==== Sensors ==== | ||
| + | |||
| Besides SensorProviders that automatically add a set of sensors when enabled, the RECSDaemon also allows manual configuration of additional sensors. | Besides SensorProviders that automatically add a set of sensors when enabled, the RECSDaemon also allows manual configuration of additional sensors. | ||
| Line 124: | Line 143: | ||
| An example configuration for one manual sensor could be: | An example configuration for one manual sensor could be: | ||
| - | < | + | < |
| + | [Sensors] | ||
| count=1 | count=1 | ||
| pluginName1=SensorFileReader | pluginName1=SensorFileReader | ||
| sensorName1=Test | sensorName1=Test | ||
| - | options1=path=test.txt type=U8</ | + | options1=path=test.txt type=U8 |
| + | </ | ||
| === SensorFileReader configuration === | === SensorFileReader configuration === | ||
| + | |||
| This plugin reads and parses the first line of a given file each time it is requested to update the sensor value. It recognizes the following options: | This plugin reads and parses the first line of a given file each time it is requested to update the sensor value. It recognizes the following options: | ||
| Line 145: | Line 167: | ||
| ==== Other settings ==== | ==== Other settings ==== | ||
| + | |||
| In the '' | In the '' | ||
| + | |||
| ===== TCP/IP server ===== | ===== TCP/IP server ===== | ||
| + | |||
| The RECSDaemon provides a simple TCP/IP server (by default on port 2023) that can be used by external programs to gain information or provide additional sensors. | The RECSDaemon provides a simple TCP/IP server (by default on port 2023) that can be used by external programs to gain information or provide additional sensors. | ||
| Line 159: | Line 184: | ||
| ==== Getting monitoring data ==== | ==== Getting monitoring data ==== | ||
| + | |||
| Using the '' | Using the '' | ||
| The returned JSON string has the following format: | The returned JSON string has the following format: | ||
| - | < | + | < |
| - | {" | + | [ |
| - | {" | + | {" |
| - | {" | + | {" |
| + | {" | ||
| {" | {" | ||
| - | ]</ | + | ] |
| + | </ | ||
| The '' | The '' | ||
| + | |||
| ==== Adding and updating sensors ==== | ==== Adding and updating sensors ==== | ||
| Line 194: | Line 223: | ||
| Example: | Example: | ||
| - | < | + | < |
| - | { | + | [ |
| - | " | + | { |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | " | + | " |
| - | }, | + | " |
| - | { | + | }, |
| - | " | + | { |
| - | " | + | " |
| - | " | + | " |
| - | } | + | " |
| - | ]</ | + | } |
| + | ] | ||
| + | </ | ||