RoadTest: Beaglebone Black Radio Challenge
Author: onebeartoe
Creation date:
Evaluation Type: Independent Products
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: I originally wrote the code for this project to run on the Raspbery Pi, but it will run on any Linux system with mpd/mpc and Java 6 support.
What were the biggest problems encountered?: The Beaglebone Black came with a built in operating system, Armstrong. I gave a try at using Armstrong’s package manager. It took a while to learn that its named ‘opkg’ from the command line. Usage is similar to Debian’s apt package manager. Beaglebone Black - Build-in Package Manager examples examples: install opkg install mpd search opkg search "*java*" | grep java It seemed liked mpd was supported, but alas I found no stock JRE or mpc support via opkg. I couldn’t get mpc installed on Armstrong so I tried Ubuntu via the SD card slot.
Detailed Review:
------------------------------------------------------------------------------------------------
Establishing the Project’s System Requirements
------------------------------------------------------------------------------------------------
The LCD worked like a charm right out of the box. The Armstrong OS showed the desktop environment on the LCD cape. It was cool to use the on-board buttons to navigate around the screen.
When I installed Ubuntu on the Beaglebone Black, it also had no problems with the LCD cape. Although I didn’t install the desktop UI, it did show the Ubuntu login prompt.
--------------------------------------------------------------------------------------------------
Ubuntu Image for BeagleBone Black
The starting point I used to install Ubuntu was this page:
(http://learn.adafruit.com/beaglebone-black-installing-operating-systems/angstrom)
It led me to this page:
http://elinux.org/Beagleboard:Ubuntu_On_BeagleBone_Black#Main_Process
This next page give a link to the place to download Ubuntu images for BeagleBone Black
http://rcn-ee.net/deb/flasher/raring/
This is the version used: http://rcn-ee.net/deb/flasher/raring/BBB-eMMC-flasher-ubuntu-13.04-2013-10-08.img.xz
I used a PC running Ubuntu to write the image to a microSD card. I used ImageWriter from Ubuntu’s Software Center.
When I booted Ubuntu from the SD card, it seemed to have overwritten Armstrong on eMMC.
The default credentials for Ubuntu 13.04 (Raring Ringtail) is "ubuntu". The default password is 'temppwd'.
---------------------
Be sure to expand the SD card’s user partition
I followed these instructions verbatim
http://elinux.org/Beagleboard:Expanding_File_System_Partition_On_A_microSD
--------------------
I did not have a mini HDMI cable, so I had to plug in a USB sound card (http://www.adafruit.com/products/1475). Next I verified the USB sound card works.
To test the sound card, I issued the following:
sudo apt-get update
sudo apt-get install mplayer
mplayer tony_soprano-1.mp3
The file tony_soprano-1.mp3 is one I had in the current directory.
-----------------------------------------------------------
With the sound working, I installed the media player daemon and client
sudo apt-get install mpd mpc
-------------------------------------------------------------
I next installed Java.
sudo apt-get install openjdk-6-jre
--------------------------------------------------------------------
At this point I had all the system requirement established, with the exception of ‘Reaction to Screen Cape Button Presses (via Java)’ This requirement may need to be revisited, as so far I haven’t found a way to capture keystrokes from a background running process.
-----------------------------------------------------------------------------
Porting the onebeartoe Internet Radio app to BBB
Early on in my experience with Java, the phrase ‘write once, run anywhere’ was common. It is now 2014 and Java’s write once, run anywhere feature still works. That is at least between a Raspberry Pi running Wheezy and a Beaglebone Black running Raring Ringtail.
So I already had a Internet Radio app distributed as a JAR from my project intended for Raspberry Pi. Next I copied Internet Radio app to the Beaglebone Black. The Beaglebone Black successfully ran the app, played streaming Internet radio, and served the Web interface to navigate through the built-in/default radio stations.
The Java source code isn’t quite on Github yet; there is a show stopper bug on some stations that I want to fix before posting. There is a sneak peak of the app in the video portion of this review.
What’s next?
I plan to enhance the onebeartoe Internet Radio Application with as many of the following features as I can in the amount of time left in the challenge.
incorporate the LCD cape’s buttons as next/previous station buttons
add support for the FM/AM radio antenna from Adafruit
add a sound reactive visual element
UPDATE: Here are my other posts for the BBB Radio Challenge: