Developing IoT Projects with ESP32 Unlock the Full Potential of ESP32 in IoT Development to Create Production-Grade Smart Devices

ESP32, a low-cost and energy-efficient system-on-a-chip microcontroller, has become the backbone of numerous WiFi devices, fueling IoT innovation. This book offers a holistic approach to building an IoT system from the ground up, ensuring secure data communication from sensors to cloud platforms, em...

Descripción completa

Detalles Bibliográficos
Autor principal: Oner, Vedat Ozan (-)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham : Packt Publishing, Limited 2023.
Edición:2nd ed
Colección:Expert insight.
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009785405506719
Tabla de Contenidos:
  • Cover
  • Copyright
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Introduction to IoT development and the ESP32 platform
  • Technical requirements
  • Understanding the basic structure of IoT solutions
  • IoT security
  • The ESP32 product family
  • ESP32 series
  • Other SoCs
  • Development platforms and frameworks
  • RTOS options
  • Summary
  • Chapter 2: Understanding theDevelopment Tools
  • Technical requirements
  • ESP-IDF
  • The first application
  • ESP-IDF Terminal
  • PlatformIO
  • Hello world with PlatformIO
  • PlatformIO Terminal
  • FreeRTOS
  • Creating the producer-consumer project
  • Coding application
  • Running the application
  • Debugging
  • Unit testing
  • Creating a project
  • Coding the application
  • Adding unit tests
  • Running unit tests
  • Summary
  • Questions
  • Further reading
  • Chapter 3: Using ESP32 Peripherals
  • Technical requirements
  • Driving General-Purpose Input/Output (GPIO)
  • Turning an LED on/off by using a button
  • Creating a project
  • Coding the application
  • Troubleshooting
  • Interfacing with sensors over Inter-Integrated Circuit (I2C)
  • Developing a multisensor application
  • Creating a project
  • Coding the application
  • Troubleshooting
  • Integrating with SD cards over Serial Peripheral Interface (SPI)
  • Adding SD card storage
  • Creating the project
  • Coding the application
  • Testing the application
  • Troubleshooting
  • Audio output over Inter-IC Sound (I²S)
  • Developing a simple audio player
  • Coding the application
  • Testing the application
  • Developing graphical user interfaces on Liquid-Crystal Display (LCD)
  • A simple graphical user interface (GUI) on ESP32
  • Creating the project
  • Coding the application
  • Testing the application
  • Summary
  • Questions
  • Further reading
  • Chapter 4: Employing Third-Party Libraries in ESP32 Projects
  • Technical requirements.
  • LittleFS
  • Creating a project
  • Coding the application
  • Testing the application
  • Nlohmann-JSON
  • Creating a project
  • Coding the application
  • Testing the application
  • Miniz
  • Creating a project
  • Coding the project
  • Testing the application
  • FlatBuffers
  • Creating a project
  • Coding the application
  • Testing the application
  • LVGL
  • Designing the GUI
  • Creating a project
  • Coding the application
  • Testing the application
  • ESP-IDF Components library
  • Espressif frameworks and libraries
  • Summary
  • Questions
  • Chapter 5: Project - Audio Player
  • Technical requirements
  • The feature list of the audio player
  • Solution architecture
  • Developing the project
  • Designing the GUI
  • Creating the IDF project
  • Coding the application
  • Testing the Project
  • New features
  • Troubleshooting
  • Summary
  • Chapter 6: Using Wi-Fi Communication for Connectivity
  • Technical requirements
  • Connecting to local Wi-Fi
  • Creating a project
  • Coding the application
  • Testing the application
  • Troubleshooting
  • Provisioning ESP32 on a Wi-Fi network
  • Creating a project
  • Coding the application
  • Testing application
  • Troubleshooting
  • Communicating over MQTT
  • Installing the MQTT broker
  • Creating a project
  • Coding the application
  • Testing the application
  • Troubleshooting
  • Running a RESTful server on ESP32
  • Creating the project
  • Coding the application
  • Testing the application
  • Consuming RESTful services
  • Creating the project
  • Coding the application
  • Testing the application
  • Troubleshooting
  • Summary
  • Questions
  • Further reading
  • Chapter 7: ESP32 Security Features for Production-Grade Devices
  • Technical requirements
  • ESP32 security features
  • Secure Boot v1
  • Secure Boot v2
  • Digital Signature (DS)
  • ESP Privilege Separation
  • Over-the-air updates.
  • Upgrading firmware from an HTTPS server
  • Preparing the server
  • Creating a project
  • Coding the application
  • Testing the application
  • Troubleshooting
  • Utilizing RainMaker for OTA updates
  • Configuring RainMaker
  • Creating a project
  • Coding the application
  • Testing the application
  • Troubleshooting
  • Sharing data over secure MQTT
  • Creating a project
  • Coding the application
  • Testing the application
  • Troubleshooting
  • Summary
  • Questions
  • Further reading
  • Chapter 8: Connecting to Cloud Platforms and Using Services
  • Technical requirements
  • Developing on AWS IoT
  • Hardware setup
  • Creating an AWS IoT thing
  • Configuring a project
  • Coding the application
  • Testing the application
  • Troubleshooting
  • Visualizing with Grafana
  • Creating a Timestream database
  • Creating a Grafana workspace
  • Creating a Grafana dashboard
  • Troubleshooting
  • Integrating an ESP32 device with Amazon Alexa
  • Updating the thing shadow
  • Creating the lambda handler
  • Coding the lambda handler
  • Creating the smart home skill
  • Troubleshooting
  • Summary
  • Questions
  • Further reading
  • Chapter 9: Project - Smart Home
  • Technical requirements
  • The feature list of the smart home solution
  • Solution architecture
  • Setting up plug hardware
  • Setting up multisensor hardware
  • Software architecture
  • Implementation
  • Preparing common libraries
  • Creating IDF component
  • Coding IDF component
  • Developing plug
  • Adding plug node
  • Coding application
  • Developing multisensor
  • Adding sensor node
  • Adding a GUI
  • Coding the application
  • Testing project
  • Testing plug
  • Testing the multisensor application
  • Using smart home features
  • Troubleshooting
  • New features
  • Summary
  • Chapter 10: Machine Learning with ESP32
  • Technical requirements
  • Learning the ML basics
  • ML approaches to solve computing problems.
  • Supervised learning
  • Unsupervised learning
  • Reinforced learning
  • TinyML pipeline
  • Data collection and preprocessing
  • Designing and training a model
  • Optimizing and preparing the model for deployment
  • Running inference on an IoT device
  • Running inference on ESP32
  • Creating the project
  • Coding the application
  • Testing the application
  • Developing a speech recognition application
  • Creating the project
  • Coding the application
  • Testing the application
  • Troubleshooting
  • Summary
  • Questions
  • Further reading
  • Chapter 11: Developing on Edge Impulse
  • Technical requirements
  • An overview of Edge Impulse
  • Cloning an Edge Impulse project
  • Using the ML model on ESP32
  • The model library
  • The application code
  • Testing the application
  • Troubleshooting
  • Next steps for TinyML development
  • The Netron app
  • tinyML Foundation
  • ONNX format
  • Project ideas
  • Image processing with ESP32-S3-EYE
  • Anomaly detection
  • Summary
  • Questions
  • Further reading
  • Chapter 12: Project - Baby Monitor
  • Technical requirements
  • The feature list of the baby monitor
  • Solution architecture
  • Implementation
  • Generating the ML model
  • Creating an IDF project
  • Developing the application
  • Testing the project
  • Troubleshooting
  • New features
  • Summary
  • Answers
  • PacktPage
  • Other Books You May Enjoy
  • Index.