Difference between revisions of "Workshop"

From MAGEEC
Jump to: navigation, search
(Software Requirements)
(Software Requirements)
Line 9: Line 9:
  
 
==Software Requirements==
 
==Software Requirements==
 +
 +
Skip this section if you are running from the MAGEEC live CD.
  
 
This section sets up the packages required to compile the firmware for the energy monitor board, run the python scripts to communicate with the board and toolchain to compile for an arduino target board.
 
This section sets up the packages required to compile the firmware for the energy monitor board, run the python scripts to communicate with the board and toolchain to compile for an arduino target board.

Revision as of 10:55, 12 January 2014

The MAGEEC project has designed a board for high frequency measurement of energy usage. This workshop will guide you through setting up and using the MAGEEC energy measurement boards.

At its simplest, the power measurement shield works by sampling the voltage drop across a resistor wire inline with a power supply. It is implemented as a shield for a ST Microelectronics STM32F4 Discovery board. The STM32F4 is used to process the raw data and pass it out over USB. The shield can measure up to three external targets simultaneously, as well as measuring its own energy usage.

The hardware is a fully open design by Dr Simon Hollis of Bristol University. It may be downloaded from GitHub: https://github.com/mageec/powersense-shield.

Image of the Energy Monitor


Software Requirements

Skip this section if you are running from the MAGEEC live CD.

This section sets up the packages required to compile the firmware for the energy monitor board, run the python scripts to communicate with the board and toolchain to compile for an arduino target board.

Install packages required to build the firmware for the energy monitor board

   add-apt-repository ppa:terry.guo/gcc-arm-embedded


If on Ubuntu 13.10, the following is required

   sed -i 's/saucy/raring/' /etc/apt/sources.list.d/terry_guo-gcc-arm-embedded-saucy.list


Install an ARM toolchain

   sudo apt-get install gcc-arm-none-eabi


If the target board is a shrimping kit / arduino / AVR

   sudo apt-get install gcc-avr  gdb-avr avr-libc avrdude arduino  


Install other libraries needed

   sudo apt-get install git python-numpy python-scipy build-essential python-pip
   sudo pip install pyusb

Connecting the hardware

TODO pictures and diagrams of the hardware connections

Software setup

TODO library prerequisites

TODO flashing the energy monitor

Using the software

TODO command line utility to read power data

TODO python scripting

Challenges

This section gives some examples for you to try out with the energy measurement kit.

Persistence of Vision

This uses one of the shrimping.it persistence of vision kits.

TODO energy required for different messages TODO compiler options exploration TODO interrupt driven version

Sorting

Try different sorting algorithms. Which is most energy efficient?

BEEBS

We use the a benchmark suite called BEEBS for our research. Try running some of these benchmarks on different hardware targets, with different clock speeds. Which takes the least energy?