IoT stands for the Internet of Things. Some of the concepts of IoT are that devices can, connect to the internet, communicate with other devices, transmit events and data, and receive events and data all through the internet. Another concept of IoT, is that with these devices there is telemetry data and information that comes from them, and this data can be analysed, and learned from, providing insight into the events and daily operating usage of the device. If these devices are home based and personal, the idea is that learning from this data should allow me to better understand how these devices affect my life, and allow me to make better choices about how to use the devices to better my life.
Windows 10 is Microsoft’s latest operating system to be released which has core functionality to use a single platform for multiple devices to connect to the Internet. For developers, it utilizes a new platform called the Universal Windows Platform (UWP). This new platform hides the gory details of how to connect devices, and get them on the internet. Instead, developers focus on the core functionality of their application. This means it should be easy to get devices connected, sending, and receiving which leads to analyzing and learning.
So why mention IoT and Windows 10 together?
Microsoft touts that we can use Windows 10 to quickly and easily build an IoT solution. Let’s see if we can test this claim. The goal, use Windows 10 to build a Home Automated solution. Basically I want to turn lights on, change music, and look at a security camera feed at night. Once I’ve accomplished this, I want to see what my favourite music is over time, see what security events I should be aware of happening at night around my house, such as movement and blob detection, and lastly, figure out if my electric bills are rising due to elongated usage of my office lights.
This post will be 1 of multi part articles about Windows 10 and IoT. So with all these devices, and with all this data, I should be able to make a quick and easy Home Automation solution and learn from my daily routine to make better decisions about my office, music, security and lighting conditions.
Ok this is alot of reading, I want to get started now. How do we start?
To get started, I figure I would take some time and talk a little about where the IoT industry is going in light of many announcements made from big name companies like Microsoft, Amazon, Google and Apple. The obvious is move is that these tech giants are trying to push more and more connected devices towards consumers. If you notice these devices are integrated in our homes, schools, offices, and have even made it into our daily living routines.
What devices are you referring to?
For example, we have the new Microsoft Band 2 which is getting ready to come out which monitors your health and living style. From a home décor standpoint, we have the Phillips Hue lighting system which allows you to control your lights in your home. From an entertainment perspective, we have the Sonos stereo system, which allows you to control your entertainment system and music. From a security camera standpoint, we have infra-red cameras and depth sensors like the Intel RealSense camera, and Kinect for windows v2 camera which can easily provide security video feeds around your house. Lastly, we have the Windows 10 operating system, software that can run with and on various devices to allow you to connect and bring them all together.
As we venture through this home automation solution, I’ll post video snippets to show my progress and timings.
Do you have a diagram of how all these things will work together?
Ok with all that out the way let’s draw up the architecture around how all this will work together.
Windows 10 and IOT diagram
In the above diagram, the user: Me, can say some commands such as: “Hey Cortana, Home Automation, turn on Office lights”, “Hey Cortana, Home Automation, play music from India Arie”, or “Hey Cortana, Home Automation, view the Security Video from last night”. A Home Automation Windows 10 application will process the commands and send and receive data from the connected devices. As the automation works, telemetry data, and information is sent to Cortana Analytics. After a few days of automation, I can query the data from Cortana Analytics and analyze, and learn from my daily usage habits. The theory is I should be able to tell what my favorite music I like to listen to was that previous week. Also I can figure out what type of weird security events such as movement detection and blob detection has occurred at night, and get a running log of how long I keep my lights on in my office for electric billing purposes. Groovy huh???