The latest version of libIEC61850 contains a demo project for the BeagleBone and the BeagleBone Black boards. The BeagleBone is a low cost embedded Linux board featuring a Cortex-A8 processor from Texas Instruments (see http://beagleboard.org/Products/BeagleBone+Black). The BeagleBone Black can be purchased from various vendors for approximately 45 EUR.
The demo consists of an IEC61850/MMS server providing access to the four LEDs of the Beaglebone. Also included is a simple client application that performs some actions with the LEDs. Access to the LEDs is modeled with GGIO logical nodes. It should be easy to extend the demo to control GPIOs and port it to other embedded linux boards like the Raspberry Pi or the Carambola 2 board.
At the moment the demo is primarily intended to illustrate the usage of IEC 61850 control models with libIEC61850. The first three LED are modeled as a single point control (SPC) whilst the last LED is modeled as a double point control (a flashing LED represent the intermediate state).
To run the demo on the BeagleBone you need a cross-compile GCC toolchain installed on your development system. E.g. on a current Ubuntu system (tested with Ubuntu 13.04) you can easily install such a tool chain by typing
apt-get install gcc-4.7-arm-linux-gnueabi
on the command line.
Then go to the demo/beaglebone folder and enter
make TARGET=LINUX-ARM
Depending on the OS installed on the BeagleBone you may require a different tool chain. The instructions have been tested with the stock firmware installed on the BeagleBone Black.
If you have successfully compiled the demo you can copy the created binary to the BeagleBone and execute it. Then you can use a generic client to trigger the LEDs by performing operate requests on the data objects representing the LEDs. Or you can modify the provided demo client to trigger the LEDs.
Depending on the version/firmware of the BeagleBone you may have to adjust the file paths for LED control in the file demos/beaglebone/beaglebone_leds.h.
The demo will be extended with future versions of libIEC61850 to illustrate the usage of new features.