Hexnut – Software

Hello World

This post discusses the software used in the Hexnut robot.

The primary computation is performed by a Raspberry Pi.

I started with a freshly installed Debian Wheezy release that had been updated and upgraded.


The first thing I wanted was a way to collect (and eventually monitor) statistics about the system. For this I decided to use collectd

$ sudo apt-get install collectd

The syslog starting showing many errors related to rrdtool that looked like this:

rrdtool plugin ... failed ... illegal attempt to update using time ... when last update time is ... (minimum one second step)

So I edited the collectd configuration to disable all plugins. I will enable the plugins as they are needed.

graphite and carbon

I want to use graphite to display the statistics. I installed graphite-carbon using:

$ sudo apt-get install graphite-carbon

I tried installing graphite-web in the same way, but the package wasn’t found:

$ sudo apt-get install graphite-web
E: Unable to locate package graphite-web

I looked at the graphite-web documentation and it suggested using virtualenv and pip to install graphite-web.

To do that I first needed to install the python-virtualenv package for python 2.7.3

$ sudo apt-get install python-virtualenv

I then created a virtualenv for graphite and activated it:

$ sudo virtualenv /opt/graphite
$ sudo source /opt/graphite/bin/activate

I then was able to install graphite-web using

(graphite)$ sudo pip install https://github.com/graphite-project/ceres/tarball/master
(graphite)$ sudo pip install whisper
(graphite)$ sudo pip install carbon
(graphite)$ sudo pip install graphite-web