Homebaked | Raspberry Pi + Django Home Server
4.3 (113 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
10,699 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Homebaked | Raspberry Pi + Django Home Server to your Wishlist.

Add to Wishlist

Homebaked | Raspberry Pi + Django Home Server

Build a Home / Local Networked Server with a Django-powered Web application to create a local-network-only app.
Best Selling
4.3 (113 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
10,699 students enrolled
Created by Justin Mitchel
Last updated 11/2016
Curiosity Sale
Current price: $10 Original price: $95 Discount: 89% off
30-Day Money-Back Guarantee
  • 4 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Local Networked Server using Raspberry Pi 3 Model B
  • Django-powered web application
  • Setup Apache2 on a Linux system (useful for other Linux systems)
  • Create a Home Automation Hub with a Raspberry Pi and Python
  • Install an OS on a Raspberry Pi (OS: Raspbian Jessie; a Linux Debian distro for Pi)
View Curriculum
  • Basic Python
  • Basic Django (see first Django Video)
  • Need access to a Home/Local Network (firewalls could cause issues)
  • Recommended Equipment (see video)

We're on the cusp of controlling every item within our house using code, the internet, and a small computer. Microcontrollers are inexpensive computers (like $35 inexpensive) that can be hacked on to create your very own web application for your local network. 

This is huge. Let's not understate this in any measure. You, yes you, can write some basic code and control every electronic piece in your house? That's pretty awesome.

Now, we're still a little ways away before every electronic item is connected to the Internet but once it is, you'll be able to use what you learned here to control these items at will. 

The technology we use is:

  • Raspberry Pi 3 Model B 
  • Django 1.10
  • Python 3
  • Apache2 & mod_wsgi (for the Web Server)

What we do in this course can likely be used with different versions of Django and to any new versions of Raspberry Pi that may come out so keep that in mind too.

Let's do this!

Who is the target audience?
  • Anyone interested in Home Automation + Internet of Things (iot)
  • Entrepreneurs
  • Python/Django Users
  • Beginners to Advanced Technical Users (we do it all step-by-step)
Students Who Viewed This Course Also Viewed
Curriculum For This Course
36 Lectures
Welcome to Homebaked
4 Lectures 17:57

Welcome to the course!

Preview 02:14

The required equipment for getting started in this course. Parts list: http://kirr.co/ap90q6

Preview 06:23

What we're going to do with Django in this course!

Preview 05:56

Usage guide: http://www.kirr.co/jao67o/

Preview 03:24
OS for Raspberry Pi
3 Lectures 09:45

Download needed software (reference guide: http://kirr.co/jao67o/)

Preview 03:02

Install software : (reference guide: http://kirr.co/jao67o/)

Preview 02:35

Install your OS on your microSD card.

Flash SD Card & Install Raspbian Jessie Linux
Raspberry Pi - SSH, IP, Updates, and Installations
3 Lectures 14:42

Bootup, Internet Connection, and get your Pi's IP Address.

Get Raspberry Pi's IP Address

Use a secure shell (SSH) on your non-pi computer to connect via network.

SSH Into Pi

Do all needed updates and installation to your pi's OS.

PI Updates, Upgrades, & Install Django
Setup Apache 2 & Basic Django Project
3 Lectures 26:32

Setup an Apache web server for Django part 1

Setup Apache2 & Django Part 1

Setup an Apache web server for Django part 2

Setup Apache2 & Django Part 2

FTP into your PI from your non-pi computer to exchange files for long-term production.

FTP with Cyberduck and Transmit
Django Pi Time (Django Project)
18 Lectures 02:34:45

Create a new Django project for the Django Pi Time project.

Preview 05:12

Create the Timeclock app

Preview 07:38

Setup static files to be served within your local testing environment.

Preview 07:52

Testing the UserActivity Model in the Django Admin

Preview 06:45

Validation for Correct Activity on the Model

Validation for Correct Activity on Model

Create a view for displaying individual user activity.

View for User Activity

Create a model manager for toggling user's activity.

Model Manager for Toggling Activity

Create an activity view for toggling user's current activity.

Activity View for Toggle & Current

Create a login form for authentication with your user.

Login Form

Do authentication and log the user in to a new session.

Authenticate & Login

Create a way to verify the user's password prior to checking in or checking out.

Verify User Password to Check In

Update action validation based on the time and time difference.

Time Based Action Validation

View all users' activity part 1

Users Activity Part 1

View all users' activity part 2

Users Activity Part 2

View all users' activity part 3

Users Activity Part 3

Learn about Decorators to handling Login Required on views.

Decorators for Login & Staff Required

Integrate getbootstrap.com to have a better styled app.

Integrate Bootstrap

Wrap up for the Django Project.

Django Project Complete
Django Project to Raspberry PI
4 Lectures 28:02

Download and FTP New Django project to work on Raspberry PI

Download & FTP New Django Project to Pi

Update Permissions for accessing database (and saving items) from the Raspberry Pi.

Update Permissions for Database on Pi

Doing tests on our Django project and our Raspberry Pi Network Server

Running tests on Devices in Real Time

GPIO Packages and Django

GPIO & Django
Thank you
1 Lecture 01:15

Thank you for watching!

Thank you and next steps
About the Instructor
Justin Mitchel
4.4 Average rating
5,034 Reviews
267,683 Students
21 Courses
Coding Entrepreneur & Teacher

It all started with an idea. I wanted freedom... badly. Freedom from work, freedom from boredom, and, most of all, the freedom to choose. This simple idea grew to define me; it made me become an entrepreneur.

As I strived to gain freedom, overtime I realized that with everything that you do you can either (1) convince someone, somehow, to do it with you or (2) figure out how to do it yourself.

Due to a lack of financial resources (and probably the ability to convince people to do high quality work for free), I decided to learn. Then learn some more. Then some more. My path of learning website design started a long time ago. And yes, it was out of need not desire. I believed I needed a website for a company that I started. So I learned how to do it. The company died, my skills lived on... and got better and better.

It took me a while after learning web design (html/css) to actually start learning programming (web application, storing "data", user logins, etc). I tinkered with Wordpress, believing it could be a "user" site, but I was mistaken. Sure there are/were hacks for that, but they were hacks/work-arounds and simply not-what-wordpress-was-indended-to-be. Wordpress is for blogs/content. Plain and simple.

I wanted more. I had a web application idea that I thought would change the way restaurants hire their service staff. I tested it with my basic html/css skills, had great initial results, and found a technical (programmer) cofounder as a result. He was awesome. We were featured on CNN. Things looked great.

Until... cash-flow was a no-flow. Business? I think not. More like an avid hobby. We had the idea for a business just no business. Naturally, my partner had to find a means of income so I was left with the idea on its own.

Remember how I said everything we do has 2 choices. Well I tried the convincing. Now it was time to try the learning. I opted to learn and haven't looked back since. I tried almost every language out there: PHP, Ruby on Rails, SQL, Objective C, C++, Java, Javascript. I was lost.

Then, I tried Python. I was hooked. It was so easy. So simple. So elegant.

Then, I tried Django. Even more hooked. Made from python & made for web applications. It powers Instagram & Pinterest (two of the hottest web apps right now?).

Then, I tried Bootstrap. Simple and easy front-end design (html & css) that is super easy to use, mobile-ready, and overall... incredible.

Python, Django, and Bootstrap are truly changing the way the world builds web applications. I believe it's because of the simplicity to learn, the sheer power behind them, and, most of all, the plethora of resources to aid anyone in building their web projects (from packages to tutorials to q&a sites).

I relaunched my original venture with my new found skills. That wasn't enough. It didn't compel me as it once had. I started imagining all the possibilities of all the ideas I've always wanted to implement. Now I could. Which one to start with? There were so many good ideas...

Then another idea, a new & fresh idea, started brewing. I started to believe in the power of learning these skills. What would it mean if other non-technical entrepreneurs could learn? What would it mean if ideas were executed quickly, revenue models proven, all prior to approaching the highly sought-after programmers? What would it mean if entrepreneurs became coders?

And so. Coding for Entrepreneurs was born.

Here are some bio highlights:

  • Adjunct Professor of Entrepreneurship at the Lloyd Greif Center for Entrepreneurial Studies in the Marshall School of Business at the University of Southern California
  • Bestselling instructor on Udemy
  • Funded creator on Kickstarter
  • Founder of Coding For Entrepreneurs
  • Cohost of Backer Radio