Preface
Chapter 1: Introduction to loT development and the ESP32 platform
Technical requirements
Understanding the basic structure of IoT solutions
The ESP32 product family
Development platforms and frameworks
RTOS options
Summary
Chapter 2: Understanding the Development Tools
Technical requirements
ESP-IDF
PlatformIO
FreeRTOS
Debugging
Unit testing
Summary
Questions
Further reading
Chapter 3: Using ESP32 Peripherals
Technical requirements
Driving General-Purpose Input/Output (GPIO)
Interfacing with sensors over Inter-Integrated Circuit (I2C)
Integrating with SD cards over Serial Peripheral Inerface (SPI)
Audio output over Inter-IC Sound (I2S)
Developing graphical user interfaces on Liquid-Crystal Display (LCD)
Summary
Questions
Further reading
Chapter 4: Employing Third_Party Libraries in ESP32 Projects
Technical Requirements
LitdeFS
Nlohmann-JSON
Miniz
FlatBuffers
LVGL
ESP-IDF Components library
Espressifframeworks and libraries
Summary
Questions
Chapter 5: Project - Audio Player
Technical requirements
The feature list of the audio player
Solution architecture
Developing the project
Testing the Project
New features
Troubleshooting
Summary
Chapter 6: Using Wi-FI Communication for Connectivity
Technical requirements
Connecting to local Wi-Fi
Provisioning ESP32 on a Wi-FI network
Communicating over MQTT
Running a RESTful server on ESP32
Consuming RESTful services
Summary
Questions
Further reading
Chapter 7: ESP32 Security Features for Production-Grade Devices
Technical requirements
ESP32 security features
Over-the-air updates
Upgrading firmware from an HTTPS server
Utilizing RainMaker for OTA updates
Sharing data over secure MQTT
Summary
Questions
Further reading
Chapter 8: Connecting to Cloud Platforms and Using Services
Technical requirements
Developing on AWS IoT
Visualizing with Grafana
Integrating an ESP32 device with Amazon Alexa
Summary
Questions
Further reading
Chapter 9: Project – Smart Home
Technical requirements
The feature list of the smart home solution
Solution architecture
Implementation
Testing project
Troubleshooting
New features
Summary
Chapter 10: Machine Learning with ESP32
Technical requirements
Learning the ML basics
Running inference on ESP32
Developing a speech recognition application
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
Next steps for TinyML development
Summary
Questions
Further reading
Chapter 12: Project – Baby Monitor
Technical requirements
The feature list of the baby monitor
Solution architecture
Implementation
Testing the project
Troubleshooting
New features
Summary
Answers
Other Books You May Enjoy
Index