Apple HomeKit Accessory Development Kit Gets More Accessible

Every tech monopoly has their own proprietary smart home standard; how better to lock in your customers than to literally build a particular solution into their homes? Among the these players Apple is traditionally regarded as the most secretive, a title it has earned with decades of closed standards and proprietary solutions. This reputation is becoming progressively less deserved when it comes to HomeKit, their smart home gadget connectivity solution. In 2017 they took a big step forward and removed the need for a separate authentication chip in order to interact with HomeKit. Last week they took another and released a big chunk of their HomeKit Accessory Development Kit (ADK) as well. If you’re surprised not to have heard sooner, that might be because it was combined the the even bigger news about Apple, Amazon, the Zigbee Alliance, and more working together on more open, interoperable home IoT standards. Check back in 2030 to see how that is shaping up.

“The HomeKit ADK implements key components of the HomeKit Accessory Protocol (HAP), which embodies the core principles Apple brings to smart home technology: security, privacy, and reliability.”
– A descriptive gem from the README

Apple’s previous loosening-of-restrictions allowed people to begin building devices which could interact natively with their iOS devices without requiring a specific Apple-sold “auth chip” to authenticate them. This meant existing commercial devices could become HomeKit enabled with an OTA, and hobbyists could interact in sanctioned, non-hacky ways. Part of this was a release of the (non-commercial) HomeKit specification itself, which is available here (with Apple developer sign in, and license agreement).

Despite many breathless mentions in the press release it’s hard to tell what the ADK actually is. The README and documentation directory are devoid of answers, but spelunking through the rest of the GitHub repo gives us an idea. It consists of two primary parts, the HomeKit Accessory Protocol itself and the Platform Abstraction Layer. Together the HAP implements HomeKit itself, and the PAL is the wrapper that lets you plug it into a new system. It’s quite a meaty piece of software; the HAP’s main header is a grueling 4500 lines long, and it doesn’t take much searching to find some fear-inspiring 50 line preprocessor macros. This is a great start, but frankly we think it will take significantly more documentation to make the ADK accessible to all.

If it wasn’t obvious, most of the tools above are carefully licensed by Apple and intended for non-commercial use. While we absolutely appreciate the chance to get our hands on interfaces like this, we’re sure many will quibble over if this really counts as “open source” or not (it’s licensed as Apache 2.0). We’ll leave that for you in the comments.

Make Your Own Remote Control LED Light

Want to control the colors in your home? Sure, you could just buy a Philips Hue bulb, but where’s the hacking fun in that? [Dario] agrees: he has written a tutorial on building an Arduino-controlled RGB light system that plugs into a standard light socket.

[Dario] is using a bulb from Automethion in Italy, an Arduino, and an ESP8266 shield that sends signals to the bulb. The Arduino and shield are running the Souliss framework that provides smart home features and runs on a number of platforms, so it is a good open platform for creating your own smart home apps, and would be easy to expand. We have also seen a few other projects that use the ESP8266 to control an RGB strip, but this is the first one that uses a bulb that plugs into a standard light socket.

At the moment, Automethion is the only company selling this light, but I hope that others will sell similar products soon.

Continue reading “Make Your Own Remote Control LED Light”

Hacklet 55 – Home Automation Projects

Home automation – the idea of a smart home that monitors and controls the inside environment, takes commands from occupants, and generally makes living easier. Hackers, makers, and engineers have been building their own vision of the smart home for decades. Thanks to cell phones and the revolution of the “internet of things”, home automation is now in the public eye. The hackers haven’t stopped though. They’re still building dreams, one circuit and one line of code at a time. This week’s Hacklet is dedicated to some of the best home automation projects on Hackaday.io!

jarvisWe start at the top – [IamTeknik’s] Project Jarvis has been in the top five skulled and viewed projects on Hackaday.io for as long as we’ve been keeping records. Just like the fictional Tony Stark design which inspired its name, Jarvis is based on artificial intelligence. [IamTeknik] has created a system using the BeagleBone Black running his own custom software. He’s also creating Jarvis from the ground up – even the relay modules have been designed and built by [IamTeknik]. So far Jarvis has a great 3D printed door lock unit, and a really nice wall mounted tablet. We’re watching to see what modules [IamTeknik] adds next!

 

hcs[Morrisonpiano] is no home automation noob. He’s been running his own system for two decades. HCS_IV Home Automation System is a project to update his HCS_C home automation system. For the uninitiated, the original HCS was created by [Steve Ciarcia] of Byte and Circuit Cellar fame. There have been several generations of the hardware and software since then, with plenty hackers adding their own custom features. [Morrisonpiano] is updating his system with an NXP Arm Cortex M4 CPU, three big Altera Cyclone FPGAs, and plenty of flash storage. Why use a FPGA on a home automation system? I/O of course! HCS uses a ton of I/O. There are 16 RS485 ports and 10 RS232 serial ports. Going with an FPGA makes things flexible as well. Want to add CAN bus? Just drop in some CAN HDL code and you’re golden!

 

[Sswitchteven] is giving the smart home more senses with Squirco Smart Home System – Sensor Network. Rather than just have a temperature sensor at the thermostat, or a motion detector in the front foyer, [Steven] wants a network of unobtrusive sensors to blanket the home. He’s doing this by replacing the common light switch with a smart module that has sensors for temperature, humidity, and human presence. [Steven] has spent quite a bit of time researching and experimenting microwave tomography as a means to detect humans. Going with microwaves means no obvious PIR windows.

 

bbb-haFinally, we have [Ansaf Ahmad] with BeagleBone Black Home Automation. The idea for this project came from a calculus class on optimization. [Ansaf] is putting mathematical theorems to use in the real world by monitoring usage patterns and current demands of a device. With that data, he can optimize the usage to make things greener. So far, [Ansaf] has been experimenting with a lamp. The system has a web front end which uses PHP. The GPIO pins on the board are controlled using Python and Flask. As an early project, BeagleBone Home Automation is doing great – it’s already earned [Ansaf] high grades in his computer engineering class!

If you want more smart home goodness, check out our updated home automation projects list! Did I miss your project? Don’t be shy, just drop me a message on Hackaday.io. That’s it for this week’s Hacklet, As always, see you next week. Same hack time, same hack channel, bringing you the best of Hackaday.io!