Home Automation and Gesture Recognition

In today’s typical smart home, you do not find gesture sensors connected to HA controller. Gesture recognition technology exists, but it’s still too expensive for wide deployments. Some of the examples would be Microsoft Kinect or perhaps Flutter acquired by Google.

For a while, I was experimenting with several ideas on how to add gesture recognition to my sensor’s portfolio. I believe that such sensor could be valuable not only for home automation systems but also for commercial deployments. For instance, in a hospital, if one need to adjust the light level while wearing surgical gloves, gesture would be preferred over dimmer touch.

Inexpensive, embedded gesture sensor technology could replace dimmers and fan controllers but more sophisticated versions could also provide functionality to actually control more than one end-point. Imagine that horizontal gestures will allow selection of devices to be controlled while vertical gestures will actually allow control of the selected device. So, if I wave my hand down the light will slowly dim, until I generate another gesture to stop that action (or until the light would be completely off).

The initial proof of concept was build using optical gesture sensor connected to CC3200 board over the I2C bus. The CC3200 was connected over WiFi to the IP network and the MQTT protocol was used to report events. Actually, there are two ways to  interpret gestures;  CC3200 could decode detected sequence and interpret the event locally and then send it using MQTT to the HA controller. Alternatively, RAW events could be send over MQTT and then a server would interpret them using it’s more powerful CPU. In case of MQTT, or IP connectivity, both options work well, and either one could be selected.

In order to connect to an ordinary HA system, z-wave communication is required. Because of latency of the z-wave network, only local interpretation mechanism is acceptable. In case of z-wave, since we do not need IP connectivity any more, CC3200 is also too much for this system and a smaller processor can be used. Interpreted results will be send over the SPI bus to a z-wave module (radio) and then to your HA controller.

Initially, it will present itself to your HA controller as a light dimmer, but at later point, unique specification will be created in order to allow for wider scope of operation.

I was just notified by z-wave labs that this project was chosen as the Z-Wave Labs contest winner for August 2015. As a winner, I will receive both, software and hardware of the latest generation z-wave (5xx series) which will allow me to complete this project as fully functional z-wave gesture sensor. Big Thank You to Z-Wave Labs and all sponsors

 

MQTT: protocol for IoT and m2m communication

MQTT (formerly Message Queue Telemetry Transport) is a publish/ subcribe “light weight” messaging protocol. Imagine that Twitter or Apple’s iMessage could be based on MQTT. In essence, you have a broker (server) allowing multiple clients to publish certain topics or areas of interest or perhaps device statuses. At the same time you have clients which can subscribe to these topics in order to receive updates in real time. You can imagine one to one, one to many, many to one, or many to many relationships, so hopefully, you can imagine how powerful this concept is. I see this as an essential component of the Internet of Things, one of many conduits for m2m communication.
Continue reading