Friday, January 11, 2013

Lowes Smart Home Product - IRIS

Last Summer Lowe's introduced a new smart home product called IRIS.  I am an avid supporter of Home Automation projects and the price point for an ethernet device that does z-wave and zigbee for $99 was too compelling so I bought one.   

Looking to integrate this hardware into my existing Pytomation / Misterhouse home automation system, I decided to see how "open" they are about third party integrations.

What I have found is that they have a REST based API available from their own servers in the cloud, however, I could not find a way to access this device locally within my own network.

I spent an hour or so sharking the device to see what was available and here are my results:


  • The device is created by AlertMe (has their MAC vendor address)
  • It has TCP ports 80 and 111 open (neither one of them does standard HTTP on it though) Unknown protocol.
  • It communicates with imgserver.irissmarthome.com for firmware updates on HTTPS
  • It communicates with hubserver.irissmarthome.com for general communication on HTTPS
  • It appears to run Linux 2.6 based on nmap -O
  • It appears to have support for SafetyNet protocol (UDP port 4000) Dont know much about it other than is supports secure connections for embedded devices on ethernet.
  • I have heard that it has a TTL serial port on the board, but login password is unknown.

Unfortunately for now, there does not appear to be a way to interface with the hardware component directly (and without their monthly fee).   This would leave my system to the mercy of internet connectivity to their cloud infrastructure and the lag associated with it, so I have decided to halt any further development with the devices.



Sunday, January 6, 2013

Install Ubuntu on Rockchip MK803-III ARM MiniPC

My daughter and I are beginning a quest to build a new robot based on a Neato XV11. Part of the "brains" of this machine will be a $60 Rockchip MK803-III RK3066 mini-pc. It ships with Android 4.1 "Jelly Bean" pre-installed, however, for the purposes of this project I will need a Linux Kernel and User-space that is far more capable.

 A developer by the alias "AndrewDB" has taken the time to configure a kernel, assemble a filesystem, and test it all for the RK3066 common platforms. This is what I will be using as the platform for my software development.


Steps to install Ubuntu 12.10:

Root the Android Installation:

  • The way I have found to get this done is to install a new Android ROM.   I have choosen to use popular ROM by the developer with the alias "Finless" called "UG802 Finless ROM 1.6 'custom' JellyBean" Obtained Here
  • The instructions of that thread pertain mostly to installing this on the UG802 based device with a ICS ROM already installed.  I suspect due to the 802-III already having JB on the device there is a crucial step that is missing:
    • There is a step in the ROM installation where you need to be able to put the device into Flash Mode.   The supplied RKFlashTool with that ROM does not work on our device to do that.  
      • You will need to additionallty install the RKBatchTool
      • If selecting the "Reboot To Flash Mode" button fails (as it did for me), run the RKBatchTool, and click the "Switch" button. 
      • The device will reboot and go to a blank screen and the RKFlashTool will then find the device correctly.  Continue following the instructions from the Finless ROM.
  • After completing the installation you will now have a new Android ROM that is pre-rooted.
Flashing Ubuntu:
  • From the rooted Android ROM:
    • Run the included "Reboot" application to get back into Flash Mode
  • Flash and follow the instructions provided by AndrewDB here.
You should now have a dual boot Android JB and Ubuntu 12.10 computer.