In my previous blogs, I talked about the Lab of Things (LoT), which is a flexible platform for conducting experimental research using connected devices in homes and beyond. Since LoT’s beta release in July 2013, we have made a lot of progress on two fronts. First, we’ve been busily extending and perfecting various features of LoT; second, we’ve been working closely with academic partners to help them adopt and deploy LoT for their research.
Right from the inception of the project, we have been working closely with our academic collaborators to understand better the needs of such a platform. One of the key requirements was to be able to support both off-the-shelf and custom devices. Today, LoT supports a host of off-the-shelf devices, including Z-Wave switches and multisensors, the Philips Hue light bridge, the Kinect for Windows sensor, and the Envi energy sensor. The driver model is extensible and adding a new device involves learning design patterns from the existing drivers (which are released in source form) and writing new ones. For developing custom devices and sensors, LoT now supports robust drivers for .NET Gadgeteer.
We have made significant progress toward making HomeOS (the client-side component of LoT) more robust and extensible. Meanwhile, on the cloud-services side, LoT now includes a management portal that allows near real-time monitoring of the status of home hubs and enables researchers to monitor deployments separately for each study. The user interface of applications running in each home hub are now available securely from anywhere by using any device with a modern web browser.
As part of the Lab of Things, we have a system for the efficient storage and sharing of data across applications running on LoT. This storage system offers the abstraction of a stream of time-tag-value records, with arbitrary, application-defined tags, and it supports efficient querying based on time or tags. The Lab of Things file system uses cloud storage as a seamless extension of local storage. It builds an index on the data stream and organizes the data into chunks of multiple records, which enables efficient compression, encryption, storage, and transfer of data.
In the following video, Ratul Mahajan, a Microsoft researcher working on the project, talks about the motivation of the project and current capabilities. Subsequently, AJ Brush, another Microsoft researcher working on this project, gives a demo of the LoT client-side set up using various devices.
In addition, we have been working with a number of academic researchers and students to enable them to adopt the Lab of Things and use it to deploy their experiments. A case in point is the ongoing work at University College London, where a dedicated team of students developed an analytics engine for the Lab of Things. The source code of the analytics engine is available on CodePlex to use and extend.
Professor Affan Syed and his students at FAST-NUCES, Pakistan, are using the Lab of Things to develop a system to optimize and control the use of electrical power in homes to help address the acute shortage of energy in that country. The team is busy scaling up the project to deploy in a large number of homes with the goal to understand energy usage and optimization goals in a wider cross section of society. This video demonstrates the system.
Not only for research projects, the Lab of Things is also being used for teaching. Professor Nilanjan Banerjee from University of Maryland at Baltimore County is offering a Lab of Things-based graduate-level course on Systems for Smart Home Automation, in which students will study the challenges in smart home automation systems and use the Lab of Things to build software systems for smart home automation.
The Lab of Things website lists additional LoT projects that the academic community is implementing. See the academic projects page.
—Arjmand Samuel, Senior Research Program Manager, Microsoft Research Connections
- Lab of Things
- Lab of Things Analytics Engine on CodePlex
- Systems for Smart Home Automation course summary
- Academic projects using the Lab of Things
- HomeOS System
- Lab of Things—the new wave of research-device platforms (blog)
- Students develop analytics engine for the Lab of Things (blog)
- .NET Gadgeteer
- Computer Science at Microsoft Research Connections