One of the wonderful things about freelancing is the additional freedom it gives you to work on your own projects. Working in the M2M field for the past decade, I always wanted to find time to play with that sort of technology to do some home automation type tasks, but I was never able to find the time to do very much. Now that I am a freelancer, I am going to rectify that.
I just received my stater kit from NinjaBlocks. Ninja Blocks and the Ninja Platform is a hackable open source platform of hardware and software that makes it easy to interface to a variety of hardware. The Ninja Block itself is a Beagle Bone / Arduino combination with Ethernet, WiFi, and 433 MHz connectivity. The real magic in the 433MHz transceiver. A very large fraction of the wireless doorbells, thermometers, light/fan controls, etc. that are on the market use 433 MHz and the Ninja Block can interface to them, often without any code if the protocol is simple enough and you can likely download a driver for the more complicated cases. The Ninja Block starter kit comes with a wireless doorbell button, motion detector, door/window sensor, and temp/humidity sensor.
The Ninja Platform that runs on the Ninja Block, but can run on other hardware as well, is an open source Node.js application. If a driver for a device does not exist, you can write a driver for it in Node.js.
The Ninja Block come with access to the Ninja Cloud. This is a webapp that you can use to setup and control the Ninja Block as well as view data from sensors. It makes it easy to setup simple behaviors like “when motion is detected, turn on the light” or “when the door is opened, send me an email”. The Ninja Cloud is impressive, but the capabilities are a little light at this point. Some hacking will be required to do anything beyond the simple, but that’s the great part, hacking of this project is encouraged. The ninja block even has a “Hack Me” tag on the side.