Alljoyn is a framework that allows all sorts of nifty communication and collaboration between devices. Imagine getting a new window-mounted air conditioner and having it and your thermostat immediately start talking to each other and getting your house to the right temperature, or your lights dimming in response to you starting a movie on your television. There are all sorts of cool things this sort of communication could allow.
But for now I'm just trying to get it built and working with my light bulbs. Tonight I spent a little bit of time getting it built and running the simple 'About' sample application that ships with it. I thought the notes I took might be useful if anyone else starts playing with it. And unfortunately some of the docs about running the 'About' samples are a bit wrong, so maybe this will help someone out.
And if you do play with Alljoyn, please let me know! Double bonus points if you can point me at some tutorials that don't start with the assumption that you've read the whole codebase and every document ever produced. I just want to make some light bulbs blink!
Set up the environmentI used the following:
- Virtual machine (VirtualBox) with 2x x86_64 CPUs, 1GB RAM, 16 GB disk, bridged network
- Ubuntu 14.04 Server
- Default packageset plus OpenSSH server
- Applied full updates (apt-get update ; apt-get upgrade) as of 23 Jan 2015 and reboot
I initially started with libvirt but after a few minutes of trying to convince it to bridge the network device, I decided to just go with VirtualBox rather than spend all night tinkering with that.
git:sudo apt-get install git
git config --global user.email "firstname.lastname@example.org"
git config --global user.name "User Name"
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
Build tools:(per https://allseenalliance.org/developers/develop/building/linux)
[NB: ia32-libs was not available in the package archives but didn't seem to be necessary]
sudo apt-get install build-essential libgtk2.0-dev libssl-dev xsltproc libxml2-dev scons libssl-dev #ia32-libs
Grab sourcesPer https://wiki.allseenalliance.org/develop/downloading_the_source
mkdir -p src/alljoyn
# Uncomment other versions below if you want something other than 14.06
#repo init -u https://git.allseenalliance.org/gerrit/devtools/manifest
#repo init -u https://git.allseenalliance.org/gerrit/devtools/manifest -b refs/tags/v14.06 -m versioned.xml
repo init -u https://git.allseenalliance.org/gerrit/devtools/manifest -b RB14.06
Build samplesexport AJ_ROOT=`pwd`
scons BINDINGS=cpp WS=off BT=off ICE=off SERVICES="about,notification,controlpanel,config,onboarding,sample_apps"
Run 'about' sample(per https://allseenalliance.org/developers/develop/run-sample-apps/about/linux)
# NB: The following are in the docs but are wrong. Corrections below.