BeagleBone Demo

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 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


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.

17 thoughts on “BeagleBone Demo

  1. Matteo

    Hello! I need a little help; I am trying installing on linux Ubuntu 15.04 the demo;

    the command apt-get install gcc-4.7-arm-linux-gnueabi it’s working.

    But I am not able to find : demo/beaglebone_demo

    Any suggestions ?

    Thanks for your attention

        1. Michael Zillgith Post author

          Ah sorry. The name of the folder is demos/beaglebone. I will update the text.

  2. Sandheep

    Hi Michael Zillgith
    Thanks for your response
    I’m using BBB running with Ubuntu 14.04.2 LTS (GNU/Linux armv7l)

    When i Type apt-get install gcc-4.7-arm-linux-gnueabi
    My result is
    ubuntu@ubuntu-armhf:~$ sudo apt-get install gcc-4.7-arm-linux-gnueabi
    [sudo] password for ubuntu:
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Note, selecting ‘gcc-4.7-arm-linux-gnueabihf-base’ for regex ‘gcc-4.7-arm-linux-gnueabi’
    Note, selecting ‘gcc-4.7-arm-linux-gnueabi-base’ for regex ‘gcc-4.7-arm-linux-gnueabi’
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

    Thanks in advance

    1. Michael Zillgith Post author

      The instructions in this article are for cross-compilation. If you have ubuntu installed on the beaglebone you just have to follow the normal build instructions for linux. Though I would recommend to cross-compile the demo on a separate PC based development system and then copy the resulting binary to the beaglebone. This is much faster then compiling on the beaglebone.

  3. Sandheep

    My aim to convert the data from UART to IEC61850 as out put in BBB using Ubuntu.
    Can support with any documents so that i can follow up and do the above application ?


    1. Michael Zillgith Post author

      The only documents available are those you can find online. You should also have a look at the various examples.

  4. chris

    Thankyou for the demo. I have it working on my beagleboard black which is running Debian 7.8. This is great!
    I had to compile it on the board as I have had problems cross compiling. I managed to cross compile it using ubuntu using the commands mentioned but when running on the beagle board I get the following error:
    bash: ./beagle_demo: No such file or directory

    As suggested I require a different cross compiler however I don’t know which one to go for. Has anyone had any luck cross compiling for debian 7.8?

    1. jeroen_k

      I’m having the same problem.

      I have a beaglebone black with ubuntu on it.
      Compiled with: make TARGET=LINUX-ARM and copied it to the BBB.
      Running the ./beagle_demo gives me the same “No such file or directory” error, starting with sudo doesn’t help.
      However the file does exist:
      ubuntu@ubuntu-armhf:~/projects$ file beagle_demo
      beagle_demo: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=1774fba69a2c3b58028bf1ef30e7e931c6c6b318, not stripped

      Obviously it’s lacking library file.
      can you tell me which librarys I need to install?

  5. Matteo

    Currently Debian 7.8 has got some bugs with the cross compiler tool (gcc library bug ) .I tried month ago, and it was known in the debian community forum. Now I suppose they have resolved, or I hope 🙂

  6. jeroen_k

    The Demo seems not to be working with the new release (0.9.2).
    I’m running it on a BBB with Linux ubuntu-armhf
    Compiling is not a problem, as soon I’m trying to run the software I get an error: “Starting server failed! exit.”

    The same error apears when I’m trying to use the new library in my existing project.

    I’ve tried to check if there’s a problem with the IECserver configuration, but haven’t found a solution (yet).

    1. Michael Zillgith Post author

      Are you running the program as root? The program has to be able to bind to port 102.

  7. Ji hwan

    Hi, Michael.
    My beaglebone’s linux is Anstrom and I’m trying to operate beaglebone demo but I have a problem.
    When i execute beagle_client, “Segmentation fault” Message appeared.
    How can i resolve it?
    Now, i execute beagle_demo, beaglebone’s first three led is blinking.
    If i start the beagle_client successfully, what will happen?

    Thank you.

    1. Ji hwan

      I resolve the problem.

      Cause of the problem was that IED Model name was just “Template” in “static_model.c” file.
      so, i modified this word to “beagle”. and then, now, client program is working well.

      “Template” -> “beagle”

      Thank you.

Comments are closed.