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...
Autor principal: | |
---|---|
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.