Over the the last few months I have done two posts about the devices I have been working on. The first post was an introduction to the project, and the second post (my last post) was a quick reaction to the HomeKit announcement at WWDC. Now that the dust has settled from WWDC, and my last university assignments for the semester have been submitted I am going to talk about my project far more in depth.
Full Home Automation
The main aim for my devices is full home automation. Think of LightwaveRF for lighting, Nest for Heating Ventilation and Cooling, Belkin WeMo for controlling power points, plus integrating Your home security system, intercom, door locks, remote garage door opener, and any other home automation system all rolled into one coherent system.
Much like Apples HomeKit is designed to give a unified software interface, this system is designed to give a unified automation experience.
The other solutions
As stated above the other solutions are different individual systems, these systems compete with each other for your attention in how to interact with them, they can be difficult to use, the do not cooperate with each other, and in cases where Zigbee and similar mesh wireless network interfaces are used they are actively competing with each other for wireless spectrum.
Why this system
My system is designed to have each piece work cooperatively with each other. An example that I like to use for this is with heating and cooling.
I live in Australia, during our summer temperatures of 30-40°c are common. In this weather just keeping the curtains closed can work wonders for controlling indoor temperatures.
In this case my system will first make sure that curtains are closed in windows that directly face the sun before activating the cooling. This is not only more effective at cooling by making sure that a heat source isn't countering your cooling, but also uses less energy by not needing to activate the cooling unit as often.
This is the advantage of a cooperative system that cannot be matched with different systems with different controls and no common controller.
How does it work?
The system is divided into two units. I covered this in the "Internet of Secret Projects" post, but the concept is that the automation system is broken down into two main parts.
The first is a controller/actuator unit. This board directly interfaces with what ever accessory that is controlled. This board has a small arm cortex m-series MCU and runs a common firmware. I will cover the design better in a future post but the concept behind this board is that it will be accessible for anyone to integrate into an end product and expand the automation system.
The second part includes an LCD interface to control your home automation kit as well as coordinating the connected accessories. The cortex m-series MCU's are not powerful enough to fully coordinate the cooperative tasks, so the interface panels contain a more powerful cortex-a5 (final design may end up being a Cortex-A8 TI Sitara if the A5 doesn't perform). As there are less of these panels a higher power envelope and BOM cost are more acceptable.
All MCU boards will be connected to one interface board. While a wired connection is prefered all boards support an 802.15.4 zigbee-like mesh network so you don't need to rewire your entire home.
Interface boards are designed to replace your existing mechanical light switches with a 5.6" touchscreen. This means that any light, any power point, any curtain, lock, etc can be controlled from anywhere in the house, and even report it's state providing you have accessories that support those functions.
Functions can be restricted with password/pin login and possibly NFC tags so functions like door locking mechanisms cannot be triggered by unauthorised persons. These will be configurable so the system can be as locked down or as open as you like (with the exception of door locks, they will always be enforced).
Implications of HomeKit
Originally I was unsure about what effects that HomeKit would have on my project. Now that the dust has settled around the announcements made at WWDC and I have had a chance to look at everything that HomeKit has to offer I am finding that it is a great innovation.
HomeKit offers an API that can be used for this home automation system without me having to spend time designing and building an API for use with first and third party apps and allows me to further develop other features.
So far the accessories I have planned for my system are:
- Remote light switching.
- Remote Power point switching and energy metering.
- Door locking.
- Curtain opening/closing.
- SPD Smart/Privacy glass control.
- Security system.
- Window locking.
- External noise monitoring.
- Solar power generation/storage monitoring.
The system is still under active development so this list will probably grow even further over time.
The project is moving out of concept phase and into the prototyping phase.
Over the past several weeks parts have started arriving for production of the first prototype controller/actuator boards, the prototype board is almost ready to be sent away to get manufactured, and FreeRTOS modifications are ready for some actual hardware to test on. Suppliers for most of the components required have already been sourced and manufacturing of these boards can be organised rather quickly.
The interface boards are less advanced. The UI has had some preliminary work, hardware being included has been investigated and physical profile worked out.
Next step is to finish building the first prototype MCU boards, test software and test an application. Further into the future will be integrating HomeKit into the existing design.
I have started an Indiegogo campaign here