|
Recently, I bought a Quirky Wink Hub from Home Depot. This device contains a wifi radio to connect to your home network, as well as Z-Wave, ZigBee, Lutron and Kidde-compatible modules.
It’s possible to gain access to the root login in the device as long as you do so before letting it update itself! With a little PHP/Linux knowhow, these links should get you started:
GTV Hacker - Wink Hub - some internal photos, how to execute arbitrary commands on the device, which in turn can allow you to open up access to SSH (and the serial port, if necessary)
winkhubroot - information on how to manually install the latest update without undoing the root.
Running code
Using an Ubuntu boot disk, it’s easy to install some ARM cross compilers and compile binaries which will run on the Wink Hub without any more work. This can assist with sniffing the behaviour of aprond, as well as general testing of the hardware.
Hardware
/proc/cpuinfo indicates that it’s a Freescale MX28EVK board, with processor ARM926EJ-S rev 5 (v5l). It has 64MB of RAM and the root filesystem is 66MB.
All of the radios appear to be connected via serial ports:
Device |
Radio |
Protocol |
Software |
/dev/ttySP0 |
Bluetooth? |
- |
- |
/dev/ttySP1 |
Z-Wave |
Standard RS232? |
[http://openzwave.com OpenZWave] |
/dev/ttySP2 |
Lutron |
- |
- |
/dev/ttySP3 |
Kidde? |
- |
- |
/dev/ttySP4 |
Zigbee |
EZSP |
- |
As can be seen above, I’ve successfully been able to access the Z-Wave radio with the OpenZWave stack, using their demo/test app to receive events. From this I hope to construct a web interface allowing for full control of Z-Wave devices.
The ZigBee radio appears to be an Ember EM357 unit, communicating "EZSP version 4 stack type 2", which appears to be documented, and so it should be possible to do something with that too.
The Lutron and Kidde modules are more of a mystery. The Kidde module appears to be a PIC, and the Lutron one an ARM CPU, so they’re possibly speaking proprietary protocols.
Devices
I’ve tested a couple of units:
Both units appear to work with the respective radios and the "aprontest" utility. Going forwards I hope to be able to control each directly.
|