Hack-The-Hub Prototype

These days, I ordered the first bunch of hardware for my recent home automation project. However, beside all the sensors and actors I want to put into my home, I also would like to monitor and control as much devices as possible. Therefore, I came up with a little prototype to check whether some of my devices are online or not.

Candidates for my prototype where my

  • Thecus N4200PRO  (NAS)
  • Lexmark Optra S 1255 (LAN-enabled laser printer)
  • Canon PIXMA MG3150 (WLAN enabled inkjet printer/scanner)

My first thought was about using a tool such as Icinga for monitoring purposes. The tool is open source, well supported and used by many IT Pros in large companies. Icinga is based on NAGIOS, providing a REST API and a AddOn mechanism. However, the overhead to learn everything from the scratch was to much.

For now, I just wanted a prototype to verify whether my ideas work or not or if there are maybe any showstoppers.

While implementing the prototype, programmatically checking the availability using a simple ping was quite easy as the NAS and the laser printer both use a static IP address. However, the Wi-Fi-enabled inkjet printer uses dynamic assigned IP addresses from the DHCP server.

For the inkjet printer, only the MAC address is known. Chris Pietschmann wrote quite a nice post how to wrap arp.exe in a small .NET class, though.

For those not familiar with ARP, ARP is the acronym for Ethernet Address Resolution Protocol and was originally specified in the RFC 826arp.exe is a small Windows command line tool, allowing you to view the address translation tables.

“Displays and modifies the IP-to-Physical address translation tables used by address resolution protocol (ARP).”

Based on this, I wrote a small client capable of checking whether any device talking over TCP/IP is available or not if either the IP or the MAC is known.

Hack-The-Hub Prototype

A Pi’s Home

A few weeks ago, I ordered my very personal Raspberry Pi. I ordered mine with element14 from the UK. Actually element14 is Farnell, which in turn is well known in the UK. In fact, we ordered many times with Farnell during my time at Microsoft Research in Cambridge when we needed sensors and stuff for our projects.

The Case

I also picked a case for 6 Euro from RS Components which is available in white, black and sort of transparent plastic.

Raspberry Pi and Case

The board firs perfectly into the case, even with a little bit of fiddling. To fit the board into the bottom part of the case you need to bend the circuit board quite a bit so it moves under the clips.

Fitted Board

At bottom side the case provides quite good rubber stands with a quite good friction. Even with all the cables in the Raspberry Pi, the case should be relatively stable – considering the weight.

Raspberry Pi Case Bottom

Once assembled, the case look pretty nice – all ports and slots easily accessible.

Assembled Raspberry Pi Case

Still working through the Raspberry Pi’s possibilities, it now looks at least much more like  something you can put on your desk.

Initiating Hacking The Planet

After several years spending time (including writing a book) in the field of intelligent environments, ubiquitous and pervasive computing, I decided to brings some digital life in our home. As winter is coming, I am looking forward to finally start some home automation project called Hack The Planet.

The project itself has two goals, at first it should be fun. Being a computer scientist, geek, nerd, developer gadgeteer this is obvious. Second, I want to document how to deal with a project, abut the artifacts, the process, pans, restrictions, chances and threats hat might occur. In this article, I am going to discuss the very first thoughts of this project as part of the project initiation.

First of all there needs to be a vision. I am not talking about the business case, yet, just a very first vision statement.

“For me and my family, I want to set up our home in a way, I can remotely monitor and control most of the electronic and mechanical devices any time during the day, at any place where I am currently located as long as I have a decent internet access.”

Let’s have a look and revise this vision so it passes Moore’s elevator test:

“For me and my family who want to monitor and control our home remotely, Hack The Planet is a home automation system that is easy to use and extensible. Unlike available off the shelf products our product integrates hard- and software components from various vendors and can be easily extended with new techologies.”

That’s basically a very broad statement, however, for the near future this will lead the direction. I have seen many projects failing, because of the project management keeping the vision under any circumstances.

Second, I invested several hours if the project as I have it in mind is feasible at all wich is a major constraint. Are the devices I have roughly in mind available as off the shelf components, will they be within the project budget (i.e. can I afford them?), can I connect/hack the available hardware, are the serious technologies compatible or can I at least connect them in any way?

Beside creating a business case, drilling down the vision into scopes should be the next step before continuing with the project.

Project Initiation