Note: If you already have a BeagleBone Black, the instructions below will help you get Hobson running on it. However, if you are planning to buy one, consider the Raspberry Pi 3 as a better alternative for running Hobson as it has a number of advantages including built-in Wi-Fi, more USB ports and simpler software installation.
One of Hobson's goals is to maintain a small enough footprint to run on resource-limited devices. For those that don't want to incur the cost of running full PC or Mac all the time, the Beaglebone Black (BBB) shown above is an alternative.
There are some nice advantages to the BBB:
However, it does have some drawbacks:
Even with its drawbacks, BBB is a compelling platform for home automation and Hobson runs well on it.
So, depending on what and where you buy, there's no reason you can't assemble a fully capable Hobson hardware hub for between $60 and $70.
The recommended distribution for BeagleBone Black devices is Debian (Jessie as of this writing):
http://beagleboard.org/latest-images
There are five main steps necessary to get Hobson running on BBB using Debian:
See the Getting Started section on beagleboard.org for details. Here are a couple of helpful hints:
bone-debian-8.4-ixqt-4gb-armhf-2016-05-13-4gb.img.xz
(or whatever the latest version is) is available from this page. Note that this is an XZ compressed file. You can use 7-Zip on Windows or Entropy on Mac (a paid program but it offers a demo) to extract it. What you want is a file that ends in .img
..img
file to the SD card..img
file to the SD card.dd if=bone-debian-8.4-ixqt-4gb-armhf-2016-05-13-4gb.img of=/dev/sdX bs=32M
(where sdX
is the device for your blank SD card).Insert your newly flashed SD card into BBB and power it up. Make sure BBB is connected to the same network as your PC.
Note: It is highly recommended that you verify that the date and time are set correctly on the BBB. See the Hints & Troubleshooting section below.
The BBB's operating system image is sized by default to be small enough to fit in its internal flash (eMMC). If your SD card is larger than 3GB or so, you'll need to do some work to make full use of the card's space. There are a lot of web pages out there (this one for example) explaining how to do this, but none of them seem to be up to date (they keep talking about a partition 2 which doesn't seem to exist).
The primary goal here is to delete the main partition on the SD card and create a new one of the appropriate size. The counterintuitive part (at least for me) was that this does not delete the data on the partition. Once you re-create the partition with fdisk, you reboot the BBB and use the resize2fs
command to actually perform the resizing.
Here are the sequence of commands I used to perform this step on Debian Jessie:
sudo fdisk /dev/mmcblk0
d
n
p
1
w
sudo reboot
Once the system has rebooted, you can resize the partition via the following command:
sudo resize2fs /dev/mmcblk0p1
Then reboot the system again and you should be done.
Unfortunately, the BeagleBone Debian distribution does not include Java. You will need to install it using the following command:
sudo apt-get update && sudo apt-get install oracle-java8-installer
This step will take a little while and requires accepting some Oracle license agreements.
You can get a link to the latest Hobson DEB package on the downloads page. The filename will be in the form of "hobson-hub-x.x.x.deb" (where x.x.x is the version number).
Download the package using the following command (make sure you replace the URL with the latest one from the downloads page):
wget -O hobson.deb https://bintray.com/whizzosoftware/maven/download_file?file_path=com%2Fwhizzosoftware%2Fhobson%2Fhobson-hub-deb%2F0.9.0%2Fhobson-hub-deb-0.9.0.deb
Then, install the package by running the following command:
sudo dpkg -i ./hobson.deb
You can then start the Hobson service by running:
sudo systemctl start hobson.service
You can get started using Hobson by using a web browser to connect to the following URL:
http://BEAGLEBONE_IP_ADDRESS:8182/setup/index.html
(make sure to replace BEAGLEBONE_IP_ADDRESS with the IP address assigned to the BBB)