Project

General

Profile

HouseMon 0.9.x on Linux (Binary Installation)

Added by lightbulb almost 3 years ago

(This text now also appears in my new blog (updated) , I will be transferring the key bits to the Housemon Wiki shortly )

In this post, I will cover installing HouseMon 0.9.x on a Debian Linux based distribution.

This tutorial should be good for Debian PC Linux installs as well as the platforms detailed below
* Intel 32bit (Debian)
* Intel 64bit (Debian)
* Raspberry PI (Raspbian)
* BeagleBone Black (Debian)
* APC.io (Raspbian)

I’ll include side notes for other notable architectures/distributions if appropriate:

HouseMon `0.9.x` is an early adopter release, and as such does not yet have any specific ‘installation’ scripts.

We will cover installation using two different scenarios:
* Those that want to use binary distributions to experiment. (the quickest way) (this post)
* Those that want to build from source. (next post)

My starting point will be a Linux Mint 16 (cinnamon) 32bit intel build.
An alternative starting point would be:
* Ubuntu 13.04 32bit intel build.
* Raspberry PI Model B, with 16MB GPU memory Split, assume a 4GB SD Card with fully expanded filesystem (Raspbian image 2014-01-07).
* Beaglebone Black (running Debian)
* APC 8750 (running Raspbian)

We are not going to use any GUI, we will be using a terminal window exclusively.
You will be required to have superuser access. (su/sudo).

### A Simple Binary Installation

We are going to do the following:
* Grab the latest Housemon + support files and install them beneath your home folder.
* Grab an appropriate binary file for your platform and install it in Housemon.
* run Housemon

This will mean you should not have to `build` anything and it should work out of the box.

We start by updating our distribution.

$ sudo apt-get update && sudo apt-get upgrade

answer `y` to any prompts as appropriate.


Note: (APC 8750 only)
You will need to install unzip and perl ca-certificates
Update 20140429: also need ca-certificates

$ sudo apt-get install unzip perl ca-certificates

Change to your home folder and backup any master.zip that may be present:

$ cd ~
#dont worry about missing file
$ mv master.zip master.zip.bak 

Next we fetch the latest `housemon` files from github. We dont need the source code, just the website and config files but we will keep it all
together for simplicity’s sake. All the distributions mentioned above have `wget` in the default installation, so we will use that.

$ wget  https://github.com/jcw/housemon/archive/master.zip

Now we will unzip, creating a `housemon-master` folder. Again, we use `unzip` because its supplied by default.

$ unzip master.zip

We will create a specific Housemon folder, and copy files into it, we could rename the `housemon-master` we just created, but its good as a backup source.

$ mkdir housemon
$ cp -r housemon-master/* housemon

Remove the housemon `master.zip` file.

$ rm master.zip

Get the associated `jeebus` files.

$ wget  https://github.com/jcw/jeebus/archive/master.zip

Unzip to create a `jeebus-master` folder:

$ unzip master.zip

Again, will create a specific Jeebus folder, and copy files into it, we could rename the `jeebus-master` we just created, but its good as a backup source.

$ mkdir jeebus
$ cp -r jeebus-master/* jeebus

Lastly we will download the appropriate ready built binary for our os/platform. These instructions are for a linux 32bit intel o/s, so we will
be downloading the linux_386 binary. Use the appropriate link for your platform:

I’ll be providing these binary (tutorial) builds via bintray.com:

$ wget --content-disposition http://dl.bintray.com/thedistractor/HouseMon/linux_386/housemon-vanilla

Finally, we rename the file we just downloaded and put it into our newly created housemon folder:

$ find . -maxdepth 1 -type f -name 'housemon-*' -exec  mv {} ./housemon/housemon ;
$ chmod +x housemon/housemon

Change into the housemon folder and run:

$ cd housemon
$ ./housemon

Note: A default housemon installation will only bind to `localhost`, so if your on a headless device (without a GUI), you will not be able to access the housemon http interface remotely. To resolve this create a `config.txt` in the `housemon` folder as follows:

$ echo "HTTP_PORT = 0.0.0.0:5561" > ~/housemon/config.txt

You will now be able to access your device remotely using the url `http://your.device.ip.address:5561/\`

So….what can be done with housemon at this point……

That we will discuss in the next post…..:)

Here is the full bash script (with some bits commented out - tweak as needed):

#!/use/bin/bash
#uncomment the next line to update/upgrade
#sudo apt-get update && sudo apt-get upgrade
cd ~
#dont worrk about missing file
mv master.zip master.zip.bak 
wget  https://github.com/jcw/housemon/archive/master.zip
unzip master.zip
mkdir housemon
cp -r housemon-master/* housemon
rm master.zip
wget  https://github.com/jcw/jeebus/archive/master.zip
unzip master.zip
mkdir jeebus
cp -r jeebus-master/* jeebus
#replace the next line with the appropriate download link for your platform.
wget --content-disposition http://dl.bintray.com/thedistractor/HouseMon/linux_arm/housemon-vanilla
find . -maxdepth 1 -type f -name 'housemon-*' -exec  mv {} ./housemon/housemon \;
chmod +x housemon/housemon
cd housemon
#./housemon
#echo "HTTP_PORT = 0.0.0.0:5561" > ~/housemon/config.txt

Replies (4)

RE: HouseMon 0.9.x on Linux (Binary Installation) - Added by lightbulb almost 3 years ago

continuing from above…..

For those interested, I am using http://bintray.com/ to host these pre-built binaries (as support is built into goxc) which is the cross-compile tool I (and I think jcw) are using.

As of now, I have a ‘Vanilla’ package of HouseMon, and shortly will be uploading a Flow-Ext-Integration set of binaries.

So, anything looking like ‘housemon-jcw’ is a binary based upon the standard Housemon repositories from https://github.com/jcw/housemon/ (with a few very small tweaks).
Anything with any other name format, like `housemon-xyz` will be built from different sources.
Use those different builds only once you have read the appropriate posts I make, and understand what they provide you.

—lightbulb

RE: HouseMon 0.9.x on Linux (Binary Installation) - Added by lightbulb almost 3 years ago

PPS: I may ditch the -jcw build prefix for ’vanilla’ tomorrow (it probably gives the impression jcw supplied it, to be clear he did not it was simply built from his repo’s),
but I’ll keep all the existing stuff for a few days until I have had chance to change a few things.

RE: HouseMon 0.9.x on Linux (Binary Installation) - Added by lightbulb almost 3 years ago

OK, I have updated the above post to replace housemon-jcw with housemon-vanilla. I’ll keep the other files online for a few days in case anyone has started using them. The housemon-vanilla are identical compiles - just report different version string internally.

Hope docs/binarys are useful.

I’ll be doing Mac and Windows binary install docs shortly, followed by full development installs etc etc.

…and yes - I will provide a windows build, vanilla will have a serial-proxy and a separate windows specific serial app, other builds to come will have serial support built into them, but of course they wont be called ‘vanilla’.

—lightbulb

RE: HouseMon 0.9.x on Linux (Binary Installation) - Added by jcw almost 3 years ago

Wow, great info. Interesting read also, your blog’s “rewind” posts!

    (1-4/4)