BeagleBone Blog

This page contains my blog postings on the BeagleBone platform. Please pay careful attention to the date of the posting, as older posts are less relevant to recent developments on the BeagleBone platform.

Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux

This is what is keeping me busy at the moment… (very, very busy!). I have presently drafted 9 of the 14 chapters. This book on the BeagleBone is due for publication in Dec. 2014. A provisional description is available at: http://www.amazon.com/Exploring-BeagleBone-Techniques-Building-Embedded/dp/1118935128/
There is a website to support this book at: www.exploringbeaglebone.com
Derek.

___

The BeagleBone is a small, low-cost computing platform that can be adapted for 1000s of electronic applications, such as smart buildings, robot control and environmental sensing. It uses the free Linux operating system, which allows it to do very complex tasks, such as connecting to the Internet, acting as a web server and streaming live video data. 
Available books on the topic skirt over the engineering principles, often requiring readers to have the exact same electronics hardware in order to follow their recipe. This approach […]

Beaglebone: Controlling the on-board LEDs using Java

I have posted on how to do this exact thing using C++, so the first half is cut-and-pasted from Beaglebone: Controlling the on-board LEDs using C++
Introduction
One of the first things you would like to do when you connect to the Beaglebone Black is see that you are having an impact on the hardware. In this short post I am going to look at how you can change the behaviour of the Beaglebone on-board LEDs – the four (blue on the BBB) LEDs in the corner near the reset button.

Now, the LEDs are there for a reason, and that reason is to give information about the Beaglebone state (from beaglebone.org):
USR0 is configured at boot to blink in a heartbeat pattern
USR1 is configured at boot to light during microSD card accesses
USR2 is configured at boot to light during CPU activity
USR3 is configured at boot to light during eMMC accesses
We can change the […]

Beaglebone: Controlling the on-board LEDs using C++

Introduction
One of the first things you would like to do when you connect to the Beaglebone Black is see that you are having an impact on the hardware. In this short post I am going to look at how you can change the behaviour of the Beaglebone on-board LEDs – the four (blue on the BBB) LEDs in the corner near the reset button.

Now, the LEDs are there for a reason, and that reason is to give information about the Beaglebone state (from beaglebone.org):
USR0 is configured at boot to blink in a heartbeat pattern
USR1 is configured at boot to light during microSD card accesses
USR2 is configured at boot to light during CPU activity
USR3 is configured at boot to light during eMMC accesses
We can change the behaviour of these LEDs, but obviously we will temporarily lose this valuable information. The heartbeat tells you that the BBB is alive, which is always […]

Running Java Applications on the Beaglebone Black

Before you start:
First check if the distribution has changed to have a package installation of open java – Perform:

And see the output after you search for java

There are libraries and javascript tools, but no core java distribution. Unfortunately, this means a manual install!
Here are the steps for installing the JRE:
Step 1. Download the Embedded JRE to your desktop PC:  Go to the java.oracle.com website and under Downloads -> Choose “Java for Developers” (under popular downloads). Choose the option “Embedded Use” and press on Download. You should now have many options. For the Beaglebone Black you need to use “ARM, Linux” and you want the version with Soft Floating Point numbers (SoftFP) – if you have used a hardFP Linux version, choose the appropriate version. I want the Client Compiler version and I want a Headless version, so my version at this point in time is: ejre-7u45-fcs-b15-linux-arm-vfp-sflt-client_headless-26_sep_2013.tar.gz after you have accepted the licence agreement. […]

Custom Video Streaming Player using LibVLC and Qt

Introduction
In my last two blog entries I have discussed how you can stream video from embedded Linux devices such as the Beaglebone using FFMPEG/AVCONV, the V4L2 Capture program and the Logitech C920 USB Camera (with hardware MPEG4/H264). In these setups I am using the regular VLC player to receive and display the video streams (RTP, UDP unicast and UDP multicast). These posts are available here:

Streaming Video using RTP on the Beaglebone Black 
UDP Unicast and Multicast Streaming Video using the Beaglebone Black

I would advise that you read those posts first as I am building on them in this post.

The problem with these solutions is that they are using VLC to display the video and you are effectively without any type of control of the application. For example, If you wished to build a robot navigation system that streams video to the control panel then it would not be possible to modify […]