With the bootable image download, simply follow the Raspbian image install instructions. Our image is around 4GB in size, but if you install on a larger SD card this filesytem can be expanded through the “Expand Filesystem” command, such as with raspi-config‘s .

The Raspbian user is called “pi” with a default password of “cheesepipass“. The ODroid user is called “odroid” with a default password of “odroid“.

Detailed Manual Install Procedure

First install suggested system packages that will enable extra CheesePi functionality, the process will differ depending on your OS type:

If you are not on RaspberryPi (or at least ARM system) then you must also install the InfluxDB storage program. The CheesePi distribution includes an InfluxDB binary for ARM devices.

It can be simplest to install CheesePi system-wide as the root user. If you have installed the python development package (python-dev) and compilation tools for your system then you can install CheesePi with all extras (e.g. Twisted):

$ sudo pip install --upgrade cheesepi[extra]

If you can not install the extras the following will install the basic CheesePi version:

$ sudo pip install --upgrade cheesepi

It will then need to be run as root to enable automatic code upgrades. Alternatively, it can useful to use virtualenv (and so enable CheesePi to be run as a normal user):

$ sudo pip install virtualenv # install virtualenv

$ virtualenv cheesepi # make a cheesepi environment

$ source cheesepi/bin/activate # activate this virtual environment

$ pip install cheesepi # install the code in this environment

InfluxDB

CheesePi currently uses InfluxDB version 0.8 as the storage engine, due to the Grafana dashboard. If you are on an ARM based system (such as the Raspberry Pi) the ARM-binary InfluxDB distributed with the python module will work. On different system types (e.g. i386) you can install Influx 0.8 through the OS package distribution system. For example:

Yum: $ yum install influxdb

apt: $ apt-get install influxdb

Brew: $ brew install influxdb08

To use the default database storage area, just make the following directory:

$ sudo mkdir /var/lib/influxdb && sudo chown $USER /var/lib/influxdb

If you would like to store the data elsewhere, modify the paths in the config file at: ~/.influxconfig.toml

Enhanced executable permissions

Some Linux distributions require elevated permissions to run certain programs. To solve this limitation, the following commands can help:

You can bookmark this web page on all the computers in your home network and then you can check the (current and historical) status of your Internet connection whenever you want. If network assigns dynamic IP addresses then you probably want to set a static one for your Pi so it will always be accessible in the same place.

Start on boot

There are many differing possibilities to have CheesePi start on boot.

On most Linux systems add the following line to your /etc/rc.local (before the last line’s exit 0):$ cheesepi start all

Also on Linux, systemd is a more modern system for managing run-levels. We provide an LSB file in [CheesePiDir]/bin/cheesepi.service. Short instructions would be:$ sudo cp [CheesePiDir]/bin/cheesepi.service /lib/systemd/system/$ sudo systemctl daemon-reload$ sudo systemctl start cheesepi.service$ sudo systemctl enable cheesepi.service

Wifi capability

Extra steps may be required to obtain Wifi environment information, depending on the Wifi hardware dongle that you are using. Unfortunately we can not help with this step as it will be unique to all users. First try installing firmware for your wifi dongle:

$ sudo apt-get install firmware-linux-free

FAQ / Errors

Python.h: No such file or directory – You do not have the development python package installed, so can not compile software for some of the python module CheesePi uses. This can be solved by installing the extra packages for your OS

Tried to make the directory, but it failed: ‘module’ object has no attribute ‘mkdirs’ – You have an old version of python, simply make the directory yourself

Problem executing influxdb command … No such file or directory – On ODroid this problem can be caused by a non-standard location of ld-linux.so.3. This can be resolved adding a symlink to help locating it:$ sudo ln -s /lib/arm-linux-gnueabihf/ld-linux.so.3 /lib/ld-linux.so.3

Warning: Default InfluxDB storage dir /var/lib/influxdb does not exist – You have not either made the InfluxDB storage directory, or alternatively, set an different storage directory in the Influx config file ~/.influxconfig.toml.