Book Image

Internet of Things Programming Projects

By : Colin Dow
Book Image

Internet of Things Programming Projects

By: Colin Dow

Overview of this book

The Internet of Things (IOT) has managed to attract the attention of researchers and tech enthusiasts, since it powerfully combines classical networks with instruments and devices. In Internet of Things Programming Projects, we unleash the power of Raspberry Pi and Python to create engaging projects. In the first part of the book, you’ll be introduced to the Raspberry Pi, learn how to set it up, and then jump right into Python programming. Then, you’ll dive into real-world computing by creating a“Hello World” app using flash LEDs. As you make your way through the chapters, you’ll go back to an age when analog needle meters ruled the world of data display. You’ll learn to retrieve weather data from a web service and display it on an analog needle meter, and build a home security system using the Raspberry Pi. The next project has a modern twist, where we employ the Raspberry Pi to send a signal to a web service that will send you a text when someone is at the door. In the final project, you take what you've learned from the previous two projects and create an IoT robot car that you can use to monitor what your pets are up to when you are away. By the end of this book, you will be well versed in almost every possible way to make your IoT projects stand out.
Table of Contents (21 chapters)

Preface

The Internet of Things (IoT) promises to unlock the real world the way that the internet unlocked millions of computers just a few decades ago. First released in 2012, the Raspberry Pi computer has taken the world by storm. Originally designed to give newer generations the same excitement to programming that personal computers from the 1980s did, the Raspberry Pi has gone on to be a staple of millions of makers everywhere.

In 1991, Guido van Rossum introduced the world to the Python programming language. Python is a terse language and was designed for code readability. Python programs tend to require fewer lines of code than other programming languages. Python is a scalable language that can be used for anything from the simplest programs to massive large-scale projects.

In this book, we will unleash the power of Raspberry Pi and Python to create exciting IoT projects.

The first part of the book introduces the reader to the amazing Raspberry Pi. We will learn how to set it up and jump right into Python programming. We will start our foray into real-world computing by creating the "Hello World" app for physical computing, the flashing LED.

Our first project takes us back to an age when analog needle meters ruled the world of data display. Think back to those old analog multimeters and endless old sci-fi movies where information was controlled and displayed with buttons and big flashing lights. In our project, we will retrieve weather data from a web service and display it on an analog needle meter. We will accomplish this using a servo motor connected to our Raspberry Pi through the GPIO.

Home security systems are pretty much ubiquitous in modern life. Entire industries and careers are based on the installation and monitoring of them. Did you know that you could easily create your own home security system? In our second project, we do just that, as we build a home security system using Raspberry Pi as a web server to display it.

The humble doorbell has been with us since 1831. In our third project, we will give it a 21st century twist and have our Raspberry Pi send a signal to a web service that will text us when someone is at the door.

In our final project, we take what we've learned from our previous two projects and create an IoT robot car we call T.A.R.A.S (This Amazing Raspberry-Pi Automated Security Agent).

In years to come, driverless cars will become the rule instead of the exception, and ways of controlling these cars will be needed. This final project gives the reader insight and knowledge into how someone would go about controlling cars devoid of a human driver.