Practical Python Programming for IoT: Build Advanced IoT Projects Using a Raspberry Pi 4, MQTT, RESTful APIs, WebSockets, and Python 3

Gary. Smart

Language: English

Publisher: Packt Publishing

Published: Nov 12, 2020

Description:

Leverage Python and Raspberry Pi to create complex IoT applications capable of creating and detecting movement and measuring distance, light, and a host of other environmental conditions

Key Features

  • Learn the fundamentals of electronics and how to integrate them with a Raspberry Pi
  • Understand how to build RESTful APIs, WebSocket APIs, and MQTT-based applications
  • Explore alternative approaches to structuring IoT applications with Python

Book Description

The age of connected devices is here, be it fitness bands or smart homes. It's now more important than ever to understand how hardware components interact with the internet to collect and analyze user data. The Internet of Things (IoT), combined with the popular open source language Python, can be used to build powerful and intelligent IoT systems with intuitive interfaces.

This book consists of three parts, with the first focusing on the "Internet" component of IoT. You'll get to grips with end-to-end IoT app development to control an LED over the internet, before learning how to build RESTful APIs, WebSocket APIs, and MQTT services in Python. The second part delves into the fundamentals behind electronics and GPIO interfacing. As you progress to the last part, you'll focus on the "Things" aspect of IoT, where you will learn how to connect and control a range of electronic sensors and actuators using Python. You'll also explore a variety of topics, such as motor control, ultrasonic sensors, and temperature measurement. Finally, you'll get up to speed with advanced IoT programming techniques in Python, integrate with IoT visualization and automation platforms, and build a comprehensive IoT project.

By the end of this book, you'll be well-versed with IoT development and have the knowledge you need to build sophisticated IoT systems using Python.

What you will learn

  • Understand electronic interfacing with Raspberry Pi from scratch
  • Gain knowledge of building sensor and actuator electronic circuits
  • Structure your code in Python using Async IO, pub/sub models, and more
  • Automate real-world IoT projects using sensor and actuator integration
  • Integrate electronics with ThingSpeak and IFTTT to enable automation
  • Build and use RESTful APIs, WebSockets, and MQTT with sensors and actuators
  • Set up a Raspberry Pi and Python development environment for IoT projects

Who this book is for

This IoT Python book is for application developers, IoT professionals, or anyone interested in building IoT applications using the Python programming language. It will also be particularly helpful for mid to senior-level software engineers who are experienced in desktop, web, and mobile development, but have little to no experience of electronics, physical computing, and IoT.

Table of Contents

  1. Setting Up your Development Environment
  2. Getting Started with Python and IoT
  3. Networking with RESTful APIs and Web Sockets using Flask
  4. Networking with MQTT, Python, and the Mosquitto MQTT Broker
  5. Connecting Your Raspberry Pi to the Physical World
  6. Electronics 101 for the Software Engineer
  7. Turning Things On and Off
  8. Lights, Indicators, and Displaying Information
  9. Measuring Temperature, Humidity, and Light Levels
  10. Movement with Servos, Motors, and Steppers
  11. Measuring Distance and Detecting Movement
  12. Advanced IoT Programming Concepts – Threads, AsyncIO, and Event Loops
  13. IoT Visualisation and Automation Platforms
  14. Tying It All Together - An IoT Christmas Tree