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)

Controlling the servo using weather data

We are close to building our IoT weather dashboard. The final steps involve controlling our servo position based on the weather data returned from the Yahoo! Weather web service and physically building a backdrop for our servo needle.

Correcting for servo range

As some of you may have noticed, your servo motor does not move a full 180 degrees from minimum to maximum. This is due to the minimum and maximum pulse widths of 1 ms and 2 ms set in GPIO Zero. To account for this difference, we must adjust the min_pulse_width and max_pulse_width properties accordingly when we instantiate a Servo object.

The following code does just that. The variable, servoCorrection, adds to and subtracts...