Advanced IoT Programming Using The Raspberry Pi 4 And Python 3
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its high-level built-in data structures, combined with dynamic typing and dynamic binding, made it very attractive for Rapid Application Development. It is used as a scripting or glue language to connect existing components.
Python's simple, easy-to-learn syntax emphasizes readability and therefore reduces the cost of program maintenance. Python supports modules and packages, which promotes program modularity and code reuse. The Python interpreter and the vast standard library are available in source or binary form without charge for all major platforms and free distribution.
Practical Python Programming for IoT consists of three parts, starting with IoT's "Internet" component. First, the reader explores an IoT application development to control an LED over the internet before discovering how to create RESTful APIs, WebSocket APIs, and MQTT services in Python.
The second part examines the fundamentals behind electronics and GPIO interfacing. As the reader progresses to the last detail, the focus shifts to IoT's "Things" aspect, i.e., connecting and controlling various electronic sensors and actuators using Python. The book also explores multiple further topics, such as motor control, ultrasonic sensors, and temperature measurement.
Lastly, the book introduces advanced IoT programming techniques to integrate IoT visualization and automation platforms and build a complete IoT project.
By the end of the book, the reader will be well-versed with IoT development and own the knowledge to build advanced IoT systems with Python.
Table of Contents
- Setting Up your Development Environment
- Getting Started with Python and IoT
- Networking with RESTful APIs and Web Sockets using Flask
- Networking with MQTT, Python, and the Mosquitto MQTT Broker
- Connecting Your Raspberry Pi to the Physical World
- Electronics 101 for the Software Engineer
- Turning Things On and Off
- Lights, Indicators, and Displaying Information
- Measuring Temperature, Humidity, and Light Levels
- Movement with Servos, Motors, and Steppers
- Measuring Distance and Detecting Movement
- Advanced IoT Programming Concepts – Threads, AsyncIO, and Event Loops
- IoT Visualisation and Automation Platforms
- Tying It All Together - An IoT Christmas Tree
CANPico - CAN FD Module With Raspberry Pi Pico
The CANPico module is a carrier board for the Raspberry Pi Pico. It is soldered onto the Pico, connecting the Raspberry Pi to a CAN Bus controller and transceiver, ready for connection to a CAN Bus network via a simple screw terminal.
The CANPico includes an instrument header with the CAN H and CAN L signals and the digital RX and TX signals with an oscilloscope or logic analyzer. Software support is via an open-source MicroPython SDK.