Details

Title Practical Python Programming for IoT: Build Advanced IoT Projects Using a Raspberry Pi 4, MQTT, RESTful APIs, WebSockets, and Python 3.
Creators Smart Gary.
Imprint Birmingham: Packt Publishing, Limited, 2020
Collection Электронные книги зарубежных издательств ; Общая коллекция
Subjects Internet of things. ; Python (Computer program language) ; EBSCO eBooks
Document type Other
File type PDF
Language English
Rights Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key on1202474767
Record create date 10/31/2020

Allowed Actions

pdf/2655448.pdf
Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network
epub/2655448.epub
Action 'Download' will be available if you login or access site from another network
Group Anonymous
Network Internet
Network User group Action
ILC SPbPU Local Network All
Read Print Download
Internet Authorized users SPbPU
Read Print Download
Internet Anonymous
  • Cover
  • Title Page
  • Copyright and Credits
  • About Packt
  • Contributors
  • Table of Contents
  • Preface
  • Section 1: Programming with Python and the Raspberry Pi
  • Chapter 1: Setting Up your Development Environment
    • Technical requirements
    • Understanding your Python installation
    • Setting up a Python virtual environment
    • Installing Python GPIO packages with pip
      • Anatomy of a virtual environment
    • Alternative methods of executing a Python script
      • Using sudo within virtual environments
      • Executing Python scripts outside of their virtual environments
      • Running a Python script at boot
    • Configuring the GPIO interface on our Raspberry Pi
      • Configuring the PiGPIO daemon
    • Summary
    • Further reading
  • Chapter 2: Getting Started with Python and IoT
    • Technical requirements
    • Creating a breadboard prototype circuit
      • Understanding the breadboard
      • Positioning and connecting the push button
      • Positioning and connecting the LED
      • Positioning and connecting the resistor
    • Reading an electronic schematic diagram
      • Reading the push button schematic connection
      • Reading the LED and resistor schematic connection
      • Introducing ground connections and symbols
    • Exploring two ways to flash an LED in Python
      • Blinking with GPIOZero
        • Imports
        • Pin Factory configuration
        • Blinking the LED
      • Blinking with PiGPIO
        • Imports
        • PiGPIO and pin configuration
        • Blinking the LED
      • Comparing the GPIOZero and PiGPIO examples
    • Exploring two ways to integrate a push button in Python
      • Responding to a button press with GPIOZero
        • Imports
        • Button pressed handler
        • Button configuration
        • Preventing the main thread from terminating
      • Responding to a button press with PiGPIO
        • Button pin configuration
        • Button pressed handler
    • Creating your first IoT program
      • Running and testing the Python server
      • Understanding the server code
        • Imports
        • Variable definitions
        • The resolve_thing_name() method
        • The get_lastest_dweet() method
        • The poll_dweets_forever() method
        • The process_dweet() method
        • The main program entry point
    • Extending your IoT program
      • Implementing a dweeting button
      • PiGPIO LED as a class
    • Summary
    • Questions 
    • Further reading
  • Chapter 3: Networking with RESTful APIs and Web Sockets Using Flask
    • Technical requirements
    • Introducing the Flask microservices framework
    • Creating a RESTful API service with Flask-RESTful
      • Running and testing the Python server
      • Understanding the server code
        • Imports
        • Flask and Flask-RESTful API instance variables
        • Global variables
        • The init_led() method
        • Serving a web page
        • The LEDControl class
        • The get() class method
        • The post() class method
        • LEDController registration and starting the server
      • Introduction to PWM
    • Adding a RESTful API client web page
      • Understanding the client-side code
        • JavaScript imports
        • The getState() function
        • The postUpdate() function
        • The updateControls() function
        • Registering event handlers with jQuery
        • The web page HTML
    • Creating a Web Socket service with Flask-SocketIO
      • Running and testing the Python server
      • Server code walkthrough
        • Imports
        • Flask and Flask-RESTful API instance variables
        • Serving a web page
        • Connecting and disconnecting handlers
        • LED handler
        • Starting the server
    • Adding a Web Socket client web page
      • Understanding the client-side code
        • Imports
        • Socket.IO connect and disconnect handlers
        • The on LED handler
        • The document ready function
        • The web page HTML
    • Comparing the RESTful API and Web Socket servers
    • Summary
    • Questions
    • Further reading
  • Chapter 4: Networking with MQTT, Python, and the Mosquitto MQTT Broker
    • Technical requirements
    • Installing the Mosquitto MQTT broker
    • Learning MQTT by example
      • Publishing and subscribing MQTT messages
      • Exploring MQTT topics and wildcards
      • Applying Quality of Service to messages
      • Retaining messages for later delivery
        • Publishing a retained message
        • Creating durable connections
      • Saying goodbye with a Will
      • Using MQTT broker services
    • Introducing the Python Paho-MQTT client library
    • Controlling an LED with Python and MQTT
      • Running the LED MQTT example
      • Understanding the code
        • Imports
        • Global variables
        • The set_led_level(data) method
        • The on_connect() and on_disconnect() MQTT callback methods
        • The on_message() MQTT callback method
        • The init_mqtt() method
        • Main entry point
    • Building a web-based MQTT client
      • Understanding the code
        • Imports
        • Global variables
        • The Paho JavaScript MQTT client
        • Connecting to the broker
        • The onConnectionLost and onMessageArrived handler methods
        • JQuery document ready function
    • Summary
    • Questions
    • Further reading
  • Section 2: Practical Electronics for Interacting with the Physical World
  • Chapter 5: Connecting Your Raspberry Pi to the Physical World
    • Technical requirements
    • Understanding Raspberry Pi pin numbering
    • Exploring popular Python GPIO libraries
      • Reviewing GPIOZero – simple interfacing for beginners
      • Reviewing RPi.GPIO – a low-level GPIO for beginners
      • Reviewing Circuit Python and Blinka – interfacing for complex devices
      • Reviewing PiGPIO – a low-level GPIO library
        • Exploring remote GPIO with PiGPIO (and GPIOZero)
      • Reviewing SPIDev and SMBus – dedicated SPI and I2C libraries
      • Why PiGPIO?
    • Exploring Raspberry Pi electronic interfacing options
      • Understanding digital IO
      • Understanding analog IO
      • Understanding Pulse-Width Modulation
        • Creating PWM signals
      • Understanding SPI, I2C, and 1-wire interfaces
      • Understanding the serial / UART protocol
    • Interfacing with an analog-to-digital converter
      • Building the ADS1115 ADC circuit
      • Making sure the ADS1115 is connected to your Raspberry Pi
      • Reading analog input with the ADS1115
        • Understanding the code
          • Imports
          • ADS1115 setup and configuration
          • Global variables
          • Program entry point
      • Using PWM to control an LED
        • Understanding the code
          • Global variables
          • Range mapping function
          • Generating the PWM signal
      • Visually exploring PWM with PiScope
      • Visualizing software and hardware-timed PWM
    • Summary
    • Questions
    • Further reading
  • Chapter 6: Electronics 101 for the Software Engineer
    • Technical requirements
    • Fitting out your workshop
      • Buying electronic modules and components
        • Purchasing lose components
        • Purchasing open source hardware modules
    • Keeping your Raspberry Pi safe
    • Three ways electronic components fail
    • Electronics interfacing principles for GPIO control
      • Ohm's Law and power
      • Kirchhoff's circuit laws
      • Why are we using a 200 Ohm resistor for the LED circuit?
        • Calculating the resistor value
        • Factoring in the Raspberry Pi's current limits
        • Calculating the resistor's power dissipation
    • Exploring digital electronics
      • Digital output
      • Digital input
      • Using pull-up and pull-down resistors
        • The resistor solution
        • The code solution
    • Exploring analog electronics
      • Analog output
      • Analog input
        • Voltage dividers
    • Understanding logic-level conversion
      • Voltage dividers as logic-level converters
      • Logic-level converter ICs and modules
      • Comparing voltage dividers and logic-level converters
    • Summary
    • Questions
    • Further reading
  • Section 3: IoT Playground - Practical Examples to Interact with the Physical World
  • Chapter 7: Turning Things On and Off
    • Technical requirements
    • Exploring a relay driver circuit
    • Determining a load's voltage and current
      • Measuring the current requirement of a DC motor
      • Measuring the current requirement of a relay and LED
    • Using an optocoupler as a switch
      • Building the optocoupler circuit
      • Controlling the optocoupler with Python
    • Using a transistor as a switch
      • Building the MOSFET circuit
      • Controlling the MOSFET with Python
    • Using a relay as a switch
      • Building the relay driver circuit
      • Controlling the Relay Driver Circuit with Python
    • Summary
    • Questions
    • Further reading
  • Chapter 8: Lights, Indicators, and Displaying Information
    • Technical requirements
    • Making color with an RGB LED and PWM
      • Creating the RGB LED circuit
      • Running and exploring the RGB LED code
    • Controlling a multi-color APA102 LED strip with SPI
      • Creating the APA102 circuit
        • Powering the APA102 circuit
        • Configuring and running the APA102 LED strip code
        • APA102 LED strip code walkthrough
        • Discussion of APA102 and the SPI interface
        • APA102 LED strip troubleshooting tips
    • Using an OLED display
      • Connecting the OLED display
      • Verifying whether the OLED display is connected
      • Configuring and running the OLED example
        • OLED code walkthrough
    • Making sound with buzzers and PWM
      • Building the RTTTL circuit
      • Running the RTTTL music example
    • Summary
    • Questions
    • Further reading
  • Chapter 9: Measuring Temperature, Humidity, and Light Levels
    • Technical requirements
    • Measuring temperature and humidity
      • Creating the DHT11/DHT22 circuit
      • Running and exploring the DHT11/DHT22 code
    • Detecting light
      • Creating an LDR light-detecting circuit
      • Running the LDR example code
      • LDR code walkthrough
      • LDR configuration summary
    • Detecting moisture
      • Comparing detection options
    • Summary
    • Questions
  • Chapter 10: Movement with Servos, Motors, and Steppers
    • Technical requirements
    • Using PWM to rotate a servo
      • Connecting a servo to your Raspberry Pi
      • How a servo is controlled using PWM
      • Running and exploring the servo code
      • Different types of servos
    • Using an H-Bridge IC to control a motor
      • Building the motor driver circuit
      • Running the example H-Bridge code to control a motor
        • motor.py
        • motor_class.py
    • Introduction to stepper motor control
      • Connecting the stepper motor to the L293D circuit
      • Running and exploring the stepper motor code
    • Summary
    • Questions
  • Chapter 11: Measuring Distance and Detecting Movement
    • Technical requirements
    • Detecting movement with a PIR sensor
      • Creating the PIR sensor circuit
      • Running and exploring the PIR sensor code
    • Measuring distance with an ultrasonic sensor
      • How an ultrasonic distance sensor works
      • HC-SR04 distance measurement process
      • Building the HC-SR04 circuit
      • Running and exploring the HC-SR04 example code
    • Detecting movement and distance with Hall-effect sensors
      • Creating a Hall-effect sensor circuit
      • Running and exploring the Hall-effect sensor code
    • Summary
    • Questions
  • Chapter 12: Advanced IoT Programming Concepts - Threads, AsyncIO, and Event Loops
    • Technical requirements
    • Building and testing our circuit
      • Building the reference circuit
      • Running the examples
    • Exploring the event-loop approach
    • Exploring a threaded approach
    • Exploring the publisher-subscriber alternative
    • Exploring an AsyncIO approach
      • An asynchronous experiment
    • Summary
    • Questions
    • Further reading
  • Chapter 13: IoT Visualization and Automation Platforms
    • Technical requirements
    • Triggering an IFTTT Applet from your Raspberry Pi
      • Creating the temperature monitoring circuit
      • Creating and configuring an IFTTT Applet
      • Triggering an IFTTT Webhook
      • Triggering an IFTTT Applet in Python
    • Actioning your Raspberry Pi from an IFTTT Applet
      • Method 1 – using the dweet.io service as an intermediary
      • Method 2 – creating a Flask-RESTful service
      • Creating the LED circuit
      • Running the IFTTT and LED Python program
      • Creating the IFTTT Applet
      • Controlling the LED from an email
      • IFTTT troubleshooting
    • Visualizing data with the ThingSpeak platform
      • Configuring the ThinkSpeak platform
      • Configuring and running the ThinkSpeak Python program
    • Other IoT and automation platforms for further exploration
      • Zapier
      • IFTTT platform
      • ThingsBoard IoT platform
      • Home Assistant
      • Amazon Web Services (AWS)
      • Microsoft Azure, IBM Watson, and Google Cloud
    • Summary
    • Questions
  • Chapter 14: Tying It All Together - An IoT Christmas Tree
    • Technical requirements
    • Overview of the IoT Christmas tree
    • Building the IoTree circuit
      • Three IoTree service programs
    • Configuring, running, and using the Tree API service
      • Configuring the Tree API service
      • Running the Tree API service
    • Configuring, running, and using the Tree MQTT service
      • Configuring the Tree MQTT service
      • Running the Tree MQTT service program
    • Integrating the IoTree with dweet.io
      • Configuring the Tree MQTT service
      • Running the dweet integration service program
    • Integrating with email and Google Assistant via IFTTT
      • Integration with email
      • Integration with Google Assistant
    • Ideas and suggestions to extend your IoTree
    • Summary
    • Questions
  • Assessments
  • Other Books You May Enjoy
  • Index
pdf/2655448.pdf

Access count: 6 
Last 30 days: 0

Detailed usage statistics

epub/2655448.epub

Access count: 0 
Last 30 days: 0

Detailed usage statistics