ProjectZERO

Contents

Introduction

Scenes

When I enter in a dark room

When someone rings the bell

When I need some information

When I want to switch on/off geyser

When I want to have a group call

When I want to check status of my appliances remotely

Alerts for some serious issues when I am not home

When I get a phone call while watching TV

Detect my habits

Show what’s important to me on accessible screen

Open my door remotely

Adjust AC temperature according to current climate and room temperature

Interfacing with my Music player

Dashboard for my electric consumption

Beautify my accessible screen

Emergency actions

Automatically start exhaust fans detecting the air pressure

Operating modes

Mobile apps

Supporting Apple Home-Kit protocol

Wearable apps

Speech Controls

On screen controls on Room Controller node

Terminologies

Logical Modules

Home components

Software Module

Inside house army

Kernel

Job

Equipments

Sergeant

Job

Equipments

Soldiers

Job

Equipments

Cloud Government

Hardware architecture

Hardware specs

Technology Stack (Software)

Inside House Army

Cloud Government

Flow diagrams

Communication Protocol

Introduction

Project zero is all about making your home extra smart. We have seen the evolution of mobile phones to smart phones. And now time has come where our cars are getting smarter. Now we feel that its’ the perfect time to make our homes smarter. A lot of companies across the world have tried their hands in home automation. But more or less they gave other way of doing things like turning fan on and off using remote or your mobile etc. None of these solutions gave a real intelligence to the entire home. Like what I do when I come back from office. Which are my favorite programs on the television. Adjust AC depending upon the temperature. Just allowing an easier way to switch on and switch off doesn’t mean automation. Rather than we would call it Smart Home (~ to SmartPhone).

Our main goal is to make home smarter enough to save our electricity, remind us about our favorite tv programs, secure home when nobody is there, remotely allow us to switch on or switch off a particular appliance, remotely open a door for you and so on. What we want to do has a lot of applications, but we want to start with a basic platform for all this intelligence.

Scenes

In this bit, we are going to present some scenarios where our ProjectZERO army would come in handy. This is continuously being updated.

When I enter in a dark room

When someone rings the bell

I should be able to check out who is ringing the bell on Mobile or on desktop or available display screen in my room. I should be able to ask the questions, allow/disallow the entrant.

When I need some information

I should be able to ask the knowledge questions like “Who is the president of India?” and there is voice reply to the question from the room.

When I want to switch on/off geyser

When I want to have a group call

I am sitting on dining table at kitchen with family and receives the phone call, I should be able to put the phone on system’s speaker.

When I want to check status of my appliances remotely

Alerts for some serious issues when I am not home

When I am outside home, I should get alert notification/ preferably call for leakage of LPG detection in house.

The system should automatically suggest a prevention mechanism like showcase controls to open up the windows, curtains etc

When I get a phone call while watching TV

If I am watching TV in hall or bedroom, system should be able to redirect my phone call to TV (If allowed).

The system should mute the TV while speaking on phone in a hall/bedroom.

Detect my habits

I eat dinner at 9 pm everyday, I should be able to start oven remotely to save my time.

Show what’s important to me on accessible screen

I should get notifications like weather updates, twitter mentions, phone notifications, subscribed feeds on Room Screen.(If allowed)

I am big fan of cricket and follow live score updates. If I am sitting at bedroom/hall, I should be able to see live scores on screen.

Open my door remotely

I am outside home and wanted to give access to maid for certain amount of time without giving keys. I should be able to provide/revoke the access remotely.

Adjust AC temperature according to current climate and room temperature

I am sitting in a room and its raining outside, the system should be able to adjust the AC’s temperature wrt expected room temperature.

Interfacing with my Music player

Dashboard for my electric consumption

Beautify my accessible screen

I wanted to see/set poster inside room/hall. The system should allow me to set wallpaper and run slideshow on room’s screen.

Emergency actions

Call 100 with voice commands with pre recorded message

Automatically start exhaust fans detecting the air pressure

Our Sergeant will have a pressure sensor, which will detect automatically when to start the exhaust fans and when to stop them.

Operating modes

Mobile apps

Mobile apps will register and authenticate with home. Cloud server will have a constant full duplex communication channel with Home controller Node.

Mobile apps will have an intuitive display. It will show control options based on its location, time etc contexts.

Supporting Apple Home-Kit protocol

This would be very nice, as starting from iOS 8, all the devices supporting this protocol would be directly controlled using already installed tool on iPhone. (Apple Homekit)

Wearable apps

Android wearable apps will be available (which also includes voice commands) for handling this system.

Speech Controls

Room controller with have integration with iSpeech api, and it will perform the STS (Speecht to text). This text will be routed through, http://www.lexalytics.com/ and generate voice command structure from natural language.

Speech commands will be of 2 type -

1. Direct voice commands - These are direct command and control actions. Eg. turn off lights. Start fan. Increase temperature. etc.

2. General  Queries : This will involve generic questions like - What is birthday of Sachin tendulkar, convert 3 meters to centimeters etc. This will have to be an integration with Knowledge graph services like Wolpharm alpha, Wikipedia extracts etc. Needs to be figured out.

On screen controls on Room Controller node

 

These will be room specific control options. This screen will also show other context sensitive information like - Current time, temperature, Sports updates, news updates. It can be configured to show a photostream of choice.

Terminologies

Project codename is ProjecZERO. All the components in this project are called an Army as in ProjectZERO army.

Logical Modules

Logically a home will be divided into small components and each of the component will be attached with Project Zero Army.

Home components

Home Object.png

Software Module

Inside house army

Army.png

Kernel

Job

Kernel is the core of processing unit of this entire home automation system. It does all the heavy lifting related with the ProjectZERO. Kernel is the device which would have direct internet connection (preferably Ethernet), contains the entire logic of voice processing, current status of entire army, fail-safe controls etc.

Equipments

Kernel is supposed to be equipped with ethernet card, wifi chip, BLE chip, min 800MHz-1GHz processor, storage drive (preferably Solid state hard drive), speaker, microphone, power source input, basic minimal battery support, HDMI output pin (for having display support), Sim card support (for telephone related things), RAM

Sergeant

Job

Sergeant can be considered as room controllers. They work directly with Kernel. Sargents’ main work is to decide if he can take an action on an event on himself or if he needs Kernel to carry out actions. For example, Turn off and Turn on for fans would be carried out by Sergeant if its using gesture*, or mobile app. But if user has given any voice command then he will push the command to Kernel, Kernel will process that entire voice sample and will return the command to Sergeant to perform.

Equipments

Sergeant is supposed to be equipped with Atom 1GHZ or equivalent ARM processor, Wifi chip, BLE chip, speakers, microphone, power source, minimal battery backup, basic storage card (EPROM for OS, RAM and SDCard for persistence),Motion and presence detection sensors (infra red).

Soldiers

Job

Soldiers are behind every electric board inside a room. Their job is perform the actions instructed by the sergeant. They dont have any intelligence.

Equipments

BLE SOC with microcontroller, GPIO output pins. SSR switches for switches.

Cloud Government

Entire machine learning component would be running in the cloud to understand how users are using the system inside their house. Different kind of projections, suggestions would be drawn by the government and would be pushed to the Kernel.

Hardware architecture

<@aniket>

Hardware specs

@aniket

Technology Stack (Software)

Inside House Army

Bare metal software seems to be the better option with C (and in some cases C++/Python).

One of the interesting project I have found related to this bare metal approach. Return Infinity has provided a very basic OS for embedded system. Last update was in Aug 2013. We can take this project and carry forward their work. Short description of Return Infinity:

BareMetal is a 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly, while applications can be written in Assembly or C/C++. Development of the Operating System is guided by its 3 target segments:

Cloud Government

Flow diagrams

Communication Protocol