Beaglebone

From 太極
Jump to navigation Jump to search

Official website

Basic

Wiki

Ubuntu

Fatal server error:
AddScreen/ScreenInit failed for driver 0

Please check the log file at "/var/log/Xorg.0.log" for additional informaiton.

After I reboot, things looks better. I can get a login GUI. However, the system is very slow and I can not see mouse on the desktop.

flashing eMMC

Hold the "User Boot" button down, and then plug in the power (USB or 5V adaptor). Keep holding down the button until you see the bank of 4 LED's light up for a few seconds. You can now release the button.

It will take anywhere from 30-45 minutes to flash the image onto the on-board chip. Once it's done, the bank of 4 LED's to the right of the Ethernet will all stay lit up at the same time. You can then power down your BeagleBone Black.

Remove the SD Card, and power up your BeagleBone Black.

microHDMI to VGA cable

http://circuitco.com/support/index.php?title=BeagleBone_Black_Accessories

Question: How to create EDIT? My NEC monitor supports only 1024 x 768.

Beagleboneblack HDMI page from circuitco.com.

My Observation about angstrom distribution

When I use the image BBB-eMMC-flasher-2013.06.20.img to put it on the microSD card with win32DiskImager, I see (from plugging SD in Ubuntu) the microSD card has 2 partitions

eMMC-Flasher  -ext4
BEAGLE_BONE - vfat

where eMMC-Flasher contains an ubuntu data and BEAGLE_BONE contains only 4 files.

ID.txt - just one line
MLO - 98K binary
u-boot.img - 371K binary
uEnv.txt - just one line

Flashing is done by pressing the 'Boot' button while connecting the power. It took 1 hour in my case when I flashed BBB-eMMC-flasher-2013.06.20.img.

However, once the microSD is flashed to eMMC, the 'eMMC-Flasher' partition will be gone and 'BEAGLE_BONE' partition is changed to include 3 new folders- App, Docs and Drivers AND some new files - START.htm, autorun.inf, README.md.

Android OS

http://icculus.org/~hendersa/android/

Configure Angstrom

http://www.gigamegablog.com/2012/01/29/beaglebone-linux-101-configuring-angstrom-linux/

Package download

opkg update
opkg install XXXX
opkg list | grep "gfortran"

However, at least for BBB case, I cannot find gfortran package so I cannot install R. See discussions below

The angstrom linux package browser is the place we can see if packages for BBB Cortex-A8. According to Wikipedia the Cortex-A8 has armv7a architecture.

On ubuntu, we can use ldconfig -v command to show the installed libraries and their versions. See here. If we like to manually add libraries to ubuntu/debian, we can check the tip here.

Ubuntu

Find out the IP address if we use internet sharing

Download fing deb package from overlooksoft website. Install it by double clicking the file in file manager. Issue the following command to find out the IP of beaglebone black (shared computer). The IP of my 2nd ethernet adapter (eth1) is 10.42.0.1.

sudo fing -n 10.42.0.1/24

Fix date/time

See here. Run the following to change the country and time zone.

sudo dpkg-reconfigure tzdata

VNC

opkg update
opkg install x11vnc

x11vnc -bg -o %HOME/.x11vnc.log.%VNCDISPLAY -auth /var/run/gdm/auth-for-gdm*/database -display :0  -forever

Start VNC server at bootup and shutdown

Use microSD as ext storage

It is possible. See the idea in here.

Build R on BBB

I am using Ubuntu 13.04 image since angstrom linux missing many required packages.

Since the space is limited, instead of using 'sudo apt-get build-dep r-base', I manually install the essential packages: build-essential, gfortran, libreadline6-dev, libx11-dev, libxt-dev and optionally openjrk-7-jre.

I am using R 3.0.1.

ubuntu@ubuntu-armhf:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2  1.8G  276M  1.4G  17% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
devtmpfs        248M  4.0K  248M   1% /dev
none             50M  220K   50M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            248M     0  248M   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/mmcblk0p1 1004K  472K  532K  48% /boot/uboot

sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install gfortran
sudo apt-get install libreadline6-dev
sudo apt-get install libx11-dev
sudo apt-get install libxt-dev
sudo apt-get install openjdk-7-jre    // optional, require 143MB space

// The whole process (configure + make) takes at least 2 hours on BBB
./configure
make
// make > ~/Rmake.txt 2>&1

There is still warnings with library/datasets
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=695411
It seems this is false alarm.

ubuntu@ubuntu-armhf:~/R-3.0.1$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2  1.8G  1.1G  615M  64% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
devtmpfs        248M  4.0K  248M   1% /dev
none             50M  224K   50M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            248M     0  248M   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/mmcblk0p1 1004K  472K  532K  48% /boot/uboot

The complete process of running ./configure and make are recorded in

Performance test

GPIO Projects

Setting up an IO python library

http://learn.adafruit.com/setting-up-io-python-library-on-beaglebone-black

Adding a push button

http://learn.adafruit.com/connecting-a-push-button-to-beaglebone-black

Measure light

http://learn.adafruit.com/measuring-light-with-a-beaglebone-black My example:

import Adafruit_BBIO.ADC as ADC
import time
from time import localtime, strftime

sensor_pin = 'P9_40'

ADC.setup()

#print('Reading\t\tVolts')
print time.asctime(time.localtime(time.time())), '\tReading\t\tVolts'

while True:
    reading = ADC.read(sensor_pin)
    volts = reading * 1.800
    #print('%f\t%f' % (reading, volts))
    #print(strftime("%Y-%m-%d %H:%M:%S", localtime()))
    print time.asctime(time.localtime(time.time())), '\t%f\t%f' % (reading, volts)
    time.sleep(60)

which can be run (and the output was written to a file for logging)

sudo python light.py > tmp.txt

If we want, we can follow the tutorial in here to have the light reading logged on the COMS or let BBB to send an email to you like here.

Fading RGB using PWM

http://learn.adafruit.com/fading-a-rgb-led-on-beaglebone-black/overview

Blinking an LED

http://learn.adafruit.com/blinking-an-led-with-beaglebone-black

Controlling a servo

http://learn.adafruit.com/controlling-a-servo-with-a-beaglebone-black

Measuring temperature

http://learn.adafruit.com/measuring-temperature-with-a-beaglebone-black