Hands on Internet of Things: Get started with a Raspberry Pi

Become an Internet of Things superstar in a few hours
4.1 (99 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.
4,547 students enrolled
62% off
Take This Course
  • Lectures 29
  • Length 3.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 5/2016 English

Course Description

This is a course about getting started with the Internet of Things. It's a hands on course with exercises designed to teach you the concepts of gathering, sending, and storing data. We'll build a full end to end project gathering information from sensors, sending them over the internet and into a database. Then we'll build a nice dashboard to view it all. You'll go from a beginner to a confident IoT pro with this course.

What are the requirements?

  • Basic programming knowledge helpful but not required
  • Raspberry Pi (1, 2 or 3)
  • A small breadboard and jumpers
  • some inexpensive sensors

What am I going to get from this course?

  • Learn what the Internet of Things is all about
  • Learn the basics about IoT devices
  • Write software to read sensors and create data
  • Send data to popular IoT endpoints
  • Build your own endpoints to capture and store data
  • Build custom dashboards for your IoT data
  • Invent new products by applying your IoT knowledge
  • Solve problems in everyday life with technology

Who is the target audience?

  • This course is meant for beginners who want to learn how to build an Internet of things project. It is intended for those who have never created anything or people who have created a few things but want a better understanding of IoT projects
  • If you're looking for advanced electronic theory this course is probably not for you.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction to the Internet of Things
8 pages

What is the Internet of Things? In this module we'll explore the definition and get an introduction to IoT, or the Internet of Things.


In this section I'll be introducing myself and letting you know what you should expect from this course. 

Section 2: Connecting to your Devices

In this module I show how to burn Raspian Linux to an SD card from within OSX. I'll show you the quickest way to get a new operating system on to your Raspberry Pi if you're using a Mac. 


In this module I'll show you how to connect to your Raspberry Pi from Windows. This is the most common operating system out there, but it's not exactly compatible with Linux systems. I'll show you how you can connect your Windows machine so it behaves exactly the same as a Linux or OSX machine. 


In this module I'll show you how to connect to your Raspberry Pi from a Mac (OSX). Because OSX is based of Unix, it has many tools that make connecting to the Linux system on your Raspberry Pi very easy. 


For many projects you won't want to be tethered by a network cable, so in this module I show you how to set up and enable WiFi on your Raspberry Pi


For convenience you can set up your Raspberry Pi so you can connect to it automatically without a password, while still having your Raspberry Pi protected. This module shows you how to set up and store your SSH keys for easy access.


When you reinstall the operating system on a Raspberry Pi, you will get a warning the next time you SSH into it. Here's how to fix it. This will save you some trouble if you change operating systems or decide to use different cards. 

Section 3: Reading Data with the Raspberry Pi

In this module I'll show you how to wire up an AM2302 Temp/Humidity sensor, install some drivers and read the values. This is a fully fledged temp and humidity sensor and we'll utilize it here and get it ready to send data out. 


How to wire up and communicate with a DS18B20 waterproof temperature probe. This is a waterproof probe and great for complex projects, especially those involving liquids. 


Want to know how much light is in a room? In this section I'll show you how to read luminosity (how much light is present) with a TSL2561


Barometric pressure is a key factor for weather prediction. In this module I show you how to read barometric pressure with the BMP180 sensor

Section 4: Storing your data on the Internet

How to send your data to data.sparkfun.com, a public data feed service that's used by data scientists all over the world. We use the AM2302 to send temperature and humidity to a feed on this endpoint.


How to send the data from your AM2302 to a Google spreadsheet that's stored in your Google docs, or on a Google Drive.


Adafruit.IO is an endpoint that captures your data and displays it with beautiful graphs and controls. In this module we learn how to send our data to this endpoint and create a dashboard to view it.

Section 5: Fun with the GPIO

The "Hello World" of electronics is blinking an LED. In this module I'll show you exactly how to do it!

Section 6: Building your IoT Endpoint

This module is an introduction to building your own IoT endpoint in Linux. We go over what we plan to do and how we're going to build our very own custom IoT endpoint. 


In this module we're going to be setting up our Linux server for our IoT endpoint. 


In this module we'll install and set up MariaDB, a highly configurable and peformant database based off of, and forked from MySQL. 


In this section we set up a connection between Python and MariaDB. This is crucial for storing data that we'll be sending to our endpoint. 


In this section we'll set up a test endpoint with Python and Flask. We'll set up an API endpoint and send commands to it with POSTMan


In this module we will set up our MariaDB by creating a database, putting in our schema, creating a user and assigning them to the database. 


In this module we'll be setting up our flask endpoint to handle real data. With the MySQL connection wired in now we just have to make our API take in data and store it to the database. Then we'll make it retrieve info and send it out. 

At this point you'll have build a real data driven REST API!! 


In this module we'll wire up the data store we just created, then create a model for the data, and create methods to insert and retrieve that data. 


In this lecture we'll set up your Pi to send data. We do this by showing you how to wire up the two sensors in our demo, then install the software for them. After that we create a script to read, parse and send the data to our endpoint. 


In this section we'll be testing everything out. We'll send some fake data to our endpoint and see if it stores the data. Then we'll connect the Raspberry Pi and start sending some real data. 


In this module we'll install our AngularJS IoT dashboard so you can put some awesome visualization to the project!


With Crontab we can have certain commands execute at a specified time. We are going to automate our readings with Crontab so we can get some good minute by minute readings. 

Section 7: Conclusion

In this section we conclude our course. 

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jeremy Morgan, Full Stack Developer, Blogger, Instructor

I'm a professional developer living in the beautiful Northwest. I've been hacking on electronics and programming for 20 years. By day I'm an enterprise software developer building systems in Windows, and by night I'm tinkering around with some Linux box or IoT hardware. 

I love teaching others and sharing and I hope you enjoy my courses. 

Ready to start learning?
Take This Course