Custom installation

Installation from Debian package

Download the latest package from the official repository in Github:

wget https://goo.gl/yDYFhy -O rpimonitor_latest.deb

If you have issue with GnuTLS: A TLS warning alert coming from Github you can download it with the following command:

curl -L https://goo.gl/yDYFhy -o rpimonitor_latest.deb

Install the dependencies by executing the following command (use command apt-get or apt if aptitude is not available on your target system):

sudo aptitude install librrds-perl libhttp-daemon-perl libjson-perl \
libipc-sharelite-perl libfile-which-perl libsnmp-extension-passpersist-perl

Installation or upgrade can be done with the command:

sudo dpkg -i rpimonitor_latest.deb

Complete the installation with the command:

sudo /usr/share/rpimonitor/scripts/updatePackagesStatus.pl

Installing on Gentoo

Gentoo users can find the ebuild created by Stuart Shelton.

Installing on Arch Linux

Arch Linux users can find the aur package created by ajs124.

Development branch package is located here

Installation from sources

For manual installation, refer to Packaging instruction which describes how and where install files.

Docker

Docker in few words

Source: Wikipedia

Docker is a tool that can package an application and its dependencies in a virtual container that can run on any Linux server. This helps enable flexibility and portability on where the application can run, whether on premises, public cloud, private cloud, bare metal, etc.

Docker technology is providing operating-system-level virtualization also known as containers. [...] Docker uses the resource isolation features of the Linux kernel [...] to allow independent “containers” to run within a single Linux instance, avoiding the overhead of starting and maintaining virtual machines (VMs).

RPi-Monitor running in Docker container

As specified in Wikipedia’s description, the goal of Docker is to isolate programs in containers. It has the advantage to keep the host system clean since programs and dependencies are installed inside a container but this advantage could become a problem if your goal is to perform monitoring of host.

The solution provided by Michael is to share the part of host system with RPi-Monitor‘s container to allow access to KPI.

/opt/vc
/boot
/sys
/etc
/proc
/usr/lib

All volumes are mapped as read-only to ensure the container can’t modify the data on the docker host. Additionally access to the Raspberry Pi’s vchiq and vcsm device needs to be mapped to the container to access hardware sensors, like CPU Temperature, e.g.

The following command does the job:

docker run --device=/dev/vchiq \
--device=/dev/vcsm \
--volume=/opt/vc:/opt/vc \
--volume=/boot:/boot \
--volume=/sys:/dockerhost/sys:ro \
--volume=/etc:/dockerhost/etc:ro \
--volume=/proc:/dockerhost/proc:ro \
--volume=/usr/lib:/dockerhost/usr/lib:ro \
-p=8888:8888 \
--name="rpi-monitor" \
-d \
michaelmiklis/rpi-monitor:latest

All the detail are gathered in DockerHub pages of the Docker-RPi-Monitor project.

Note

This docker image is based on resin/rpi-raspbian:latest image and is then designed to run on ARM based architecture such as Raspberry Pi.

Yocto

meta-rpiexperiences is availabale on github gathering the recipes to add RPi-Monitor and all its dependencies to your project. meta-rpiexperiences and rpimonitor are referenced on layers.openembedded.org

Yocto in few words

Source: YoctoProject.org

The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture.

meta-rpiexperiences

This layer provides RPi-Monitor moniritoring tools and its dependencies for Yocto.

Dependencies

This layer depends on:

URI: git://git.openembedded.org/openembedded-core
branch: master
revision: HEAD
prio: default

URI: git://git.openembedded.org/meta-openembedded/meta-oe
branch: master
revision: HEAD
prio: default

URI: git://git.openembedded.org/meta-openembedded/meta-perl
branch: master
revision: HEAD
prio: default

Adding RPi-Experiences layer to your build

In order to use this layer, you need to make the build system aware of it.

Assuming the rpi-experiences layer exists at the top-level of your yocto build tree, you can add it to the build system by adding the location of the security layer to bblayers.conf, along with any other layers needed. e.g.:

BBLAYERS ?= " \
  /path/to/meta-openembedded/meta-oe \
  /path/to/meta-openembedded/meta-perl \
  /path/to/layer/meta-rpiexperiences \
  ...
  "

Contents and Help

In this section the contents of the layer is listed, along with a short help for each package.

  • recipes-perl: This directory contains all the perl recipes needed for RPi-Monitor.
  • recipes-rpimonitor: This directory contains RPi-Monitor recipe.

Maintenance

Send pull requests, patches, comments or questions to https://github.com/XavierBerger/meta-rpiexperiences/issues

  • Maintainer: Xavier Berger