There is new technology all around us and only more coming every day. Our micro controllers are getting faster, are phones getting smarter, and the cloud is becoming stronger. With all this new technology everyone is asking themselves: How can I utilize it all?

Well, today we will do just that. This guide will walk you through using a Raspberry Pi, Microsoft Azure, and Cortana on Windows Phone to automate your house hold. Did you forget to turn the lights off when you left for work? No problem. Want to turn on the Slow-Cooker a few hours before you get home? Consider it done. We can leverage the power of Internet of Things and Cortana to control our home in an entire new way!


For this guide, our primary goal is to show off a proof-of-concept device cycle that is functional and really lets you see the power of combing all of these technological resources. We won't be making production ready code, and won't be utilizing every device/technology to its fullest ability. This guide is already fairly long given all the ground we have to cover, and doing a full dive into each would give us quite the novel. Instead, we're focusing on something that most "tinkers" could make as long as they have the hardware and a limited knowledge of programming. We want to give you a working project and inspire you to push it even further. This project is your 'getting started' guide and the real fun begins when you pick up after that!

Step 1: Requirements

Knowledge Requirements

We have tried to make this guide as 'friendly' as possible to the general audience, but in order for us to move quickly and condense the guide down from a three hour epic to a 1 hour project, we have to assume you know a little something before hand.

*Don't know something? Don't worry! Throughout the guide we include lots of links to other sources where you can study up beforehand and catch up quickly!

1. Limited Python and C# Knowledge

Basic programming knowledge will be needed. We won't be diving into anything too complicated, but it's good to have a basic understanding of these two languages

2. Raspberry Pi Basics

Because it's a bit more popular compared to Windows Phone and Azure, I won't be going too in depth on setting up your Raspberry Pi and wiring it all together. There are also a lot of great tutorials out there already to help you get started. Make sure you can ssh into one, know your basic Linux commands, and feel comfortable putting a circuit together (a very basic one).

3. General App Development Knowledge (Windows Phone a Plus!)

Obviously since we are going to use Cortana we will be building a Windows Phone app. While setting up the project isn't too difficult, and we really won't be doing anything too complicated, it's a good idea to have a basic understanding of the application files and what they do. The code logic versus the design logic, the application manifest, etc. If all these buzzwords are second nature to you, then don't worry. Otherwise, make sure to read up on the resources provided in that section of the guide.

Hardware Requirements

What would a project be without some sweet hardware behind it? This project will actually be pretty bare in the hardware department and instead focus a lot on the software. We'll walk through how to install the specific software packages right before they are needed in an effort to make that process easier.

  • A Windows 8 Computer
  • Windows Phone with 8.1 software update (Must have Cortana!)
  • Raspberry Pi
  • SD Card with Raspbian for Rasberrry Pi (NOOBS works just fine)
  • 3 Wires for your simple circuit
  • 1 LED
  • 1 270 ohm resistor
  • Breadboard for your LED circuit
<p>This should have made it to the finals of the Coded Contest and shoudl have won the Judges prize! I cannot beleive that it did not get picked!</p>
Thanks for the support MadDocks. I will say I am a little blindsided that I put so much effort into this guide and I failed to even get a nod as a finalist. This was an experiment (my first time posting an instructable) and since there isn't much advantages to posting on Instrcutable (if this kind of effort isn't rewarded) I think I will just be posting these guides to my own blog from now on.
<p>There are several images and diagrams in your ible that you didn't create, which can taint an otherwise stellar project. Sadly, those stolen images may have affected your chances of winning. </p>
<p>Oh, I'm sure it could have. I guess I'm just disappointed that the entry was even accepted into the contest then. Had that detail been highlighted prior to the closing, that's a fix that could have easily been made. You don't tell sports players that they are fine to use steriods for the season but then invalidate their playoff run. </p>
<p>can I just use my computer instead of a windows phone? I just want it for around the house automation</p>
<p>Wow! So much detail!</p>
I think the likes and views just show how much your work is appreciated, hope you add more instructables in the future. :) <br>Awesome project! :)
<p>Error 101.</p><p>Text is disabled to Mazziz due to a unresponding crash. Sorry for any Incoveince caused. By Instructables.</p>
<p>Good work.</p><p>I like the name Windows Azure.</p>
<p>I got something funny. The Computer, Windows Azure. Ha! That is funny</p>
This no work. U says iPhone but it no compatable... It no integrate
<p>I'm sorry that you misread the guide to think that iPhone would be compatible. This guide is exclusively for Windows Phone.</p>
<p>Oh. Sorry</p>
<p>Dont be rude</p>
<p>This is the best ever! 10 out of 10!</p>
<p>will there be a guide/howto on adding more devices such as an oven to preheat, little custom devices that are little more than a motor in a circuit..etc. </p>
<p>That's a fine idea. It becomes tricky because a lot of those kind of solutions are very custom. There isn't really a strong standard interface for ovens, microwaves, washing machines, etc. Making a guide on how to hook it up to my oven might be totally different from what you would need. </p>
<p>Nice speech at the front, Like this instructible!</p>
<p>There's no way I'll put my home automation server to the cloud but the tutorial is good, thanks for sharing.</p>
<p>I would agree that if you have the networking skills, it makes far more sense to just create your own local server. I used Azure mainly so that people without strong networking skills could get get something up and running quickly.</p>
<p>A great exploration of this topic! Very useful as I am trying to decide between many different paradigms for this same objective. I have been leaning towards Temboo, python, RPI, arduino, android implementations because those are the ecosystems I am familiar with. Thanks!</p>
<p>Very nice...</p>
<p>So much great detail here! Thanks for sharing and welcome to the community! </p>

About This Instructable




More by jckelley:Push-Up Counter Timeout Chair LinkIT ONE Battery Tester 
Add instructable to: