Home Automation Fundamentals

This course introduces viewers to home automation.
Course info
Rating
(143)
Level
Intermediate
Updated
May 14, 2014
Duration
2h 59m
Table of contents
Description
Course info
Rating
(143)
Level
Intermediate
Updated
May 14, 2014
Duration
2h 59m
Description

Home automation is the concept of automating historically manual tasks around the house. This course shows viewers how to set up a RESTful home automation server using a Raspberry Pi, Python, and X10 brand products.

About the author
About the author

Erik is a software architect, team leader and technologist that enjoys working with a wide variety of programming languages, frameworks and tools. An active blogger with extensive experience teaching and demonstrating software development techniques, he is always up for any conversation about technology.

More from the author
Practical NDepend
Intermediate
4h 1m
Oct 21, 2013
Section Introduction Transcripts
Section Introduction Transcripts

Introduction to Home Automation
Hi, this is Erik Dietrich presenting on behalf of Pluralsight. Welcome to this course entitled Home Automation Fundamentals. This first module is a brief introduction to the concept of Home Automation. You can see on this slide what I'll be covering in the first module. I'll talk about Home Automation and its history and then I'll explain the components of the setup that I'm going to demonstrating including what you'll need to follow along with the course. But this module is more than a simple introduction to the concept of Home Automation. It's your window into the entire course and into a really cool concept in general that I expect to gain a lot of momentum in the coming years. What are you going to see if you follow along? Simple, I'm going to show you how you can turn on a light in your house using your computer. And then I'm going to show you how to build a RESTful Web Service that can give you control of your entire houses' lighting scheme. So if that sounds interesting to you let's take a look in more detail at the subject of Home Automation.

Turning on a Light With Your Raspberry Pi
Hi, this is Erik Dietrich presenting on behalf of Pluralsight. Welcome to this course entitled Home Automation Fundamentals. In this second module, you will order the parts you need, set them up and turn on a light from the command line. Here's a summary of what I'm going to cover in this module. I'll show you how to go about ordering the parts that I mentioned in the previous module and then I'll show you how to set up the Raspberry Pi with the OS and with the minimum amount of software you'll need for the highlight of the show, turning on an actual light. And that's really the story of this module. I'm going to show you how to take a bunch of parts and make it so that you can turn your desk lamp on using the command line. Once you've seen that, if you're anything like me, you'll be hooked on home automation.

Setting Up for Home Automation Development
Hi, this is Erik Dietrich presenting on behalf of Pluralsight. Welcome to this course entitled Home Automation Fundamentals. This third module will take you through getting set up for developing your home automation server on the Raspberry Pi. In the second module, I showed you how to get from raw parts to turning on a light as quickly as humanly possible. Now I'll slow it down a bit more with kind of a play-by-play and show you how to get set up to actually work with the Raspberry Pi as a development environment. This involves getting ready to program on the Pi with the understanding that it's most likely going to be a remote development environment and putting the tools on there to allow that. Then it's necessary to set up the Web server for the prospective REST endpoint and finally, we'll take a somewhat more detailed look at the open source X10 driver. Once this module is complete, you'll be ready to start coding up your REST endpoint.

Building a REST Endpoint
Hi, this is Erik Dietrich presenting on behalf of Pluralsight. Welcome to this course entitled Home Automation Fundamentals. In this fourth module, we'll build on the foundation we've laid in the past three modules to build an actual REST Endpoint for home automation control over household lights. This module is in some ways, the crown jewel of the course. We had some early success turning on a light in module two and then in the last module, we got ready to do the development, but this is it. Here we're going to build the actual home automation server. Toward the end, I'll introduce you to what we're going to be doing with REST and then use Python to build a RESTful version of Hello World. That'll get our feet wet a bit. Next up, we'll convert the Hello World code into something that actually uses REST to turn on a light and after that, I'll go into a bit more detail about how to lay out a route structure in web. py for our server and then I'll flesh out that effort by making use of REST verbs to allow configuration of lights by adding and removing them from our configuration. Then we'll put the final touches on the server to have it up and running on the Pi, thus, turning the Pi into a true home automation node.

X10 in Depth
Hi, this is Erik Dietrich presenting on behalf of Pluralsight. Welcome to this course entitled Home Automation Fundamentals. In this fifth module I'll provide a much more in depth look at the technology that we've been using to turn on the light in the previous modules, X10. We've been using X10 up to this point, but I haven't explained or described it too much in detail. What is it? What are the benefits and drawbacks? What other options are there? I'll answer those questions and then walk you through the different components of a Home Automation System. finally I'll talk about things to bear in mind when designing a Home Automation System for your own house. When you go do your own research on Home Automation Technologies, the results are generally daunting and confusing. In this module I will demystify things for you.

Creating a Home Automation Client
Hi, this is Erik Dietrich presenting on behalf of Pluralsight. Welcome to this course entitled Home Automation Fundamentals. In this sixth module I'll finish up by showing you how to build some possible clients of the Home Automation Server that we've constructed earlier in the course. Thus leaving you with a small functional end to end system. By this point you've had the experience of turning on a light, you've built a functional REST server for turning on a light, and you have a greater understanding of the possibilities that are out there for Home Automation. In this module, you'll write client code for the endpoint that you've built, demonstrating how the Raspberry pi with a REST server and the CM19A attachment are truly a little appliance with an API that you can hit. I'll take you through this in Python for consistency sake, and then also using C# and. NET, so that you can see how the REST endpoint gives you the flexibility to build Home Automation applications using the technology stack of your choice. Hi, this is Erik Dietrich presenting on behalf of Pluralsight. Welcome to this course entitled Home Automation Fundamentals. In this sixth module I'll finish up by showing you how to build some possible clients of the Home Automation Server that we've constructed earlier in the course. Thus leaving you with a small functional end to end system. By this point you've had the experience of turning on a light, you've built a functional REST server for turning on a light, and you have a greater understanding of the possibilities that are out there for Home Automation. In this module, you'll write client code for the endpoint that you've built, demonstrating how the Raspberry pi with a REST server and the CM19A attachment are truly a little appliance with an API that you can hit. I'll take you through this in Python for consistency sake, and then also using C# and. NET, so that you can see how the REST endpoint gives you the flexibility to build Home Automation applications using the technology stack of your choice.