Book Image

Hands-on ESP32 with Arduino IDE

By : Asim Zulfiqar
5 (1)
Book Image

Hands-on ESP32 with Arduino IDE

5 (1)
By: Asim Zulfiqar

Overview of this book

ESP32 is a versatile microcontroller and a great starting point for anyone venturing into the IoT realm, but its configuration and interfacing of sensors can be challenging for new users. Arduino Integrated Development Environment (IDE) simplifies programming, uploading code, and utilization of ESP32 capabilities, enabling users to incorporate it into their IoT projects with ease. This book will help you learn the essentials of sensing, networking, data processing, and applications with ESP32, laying a strong foundation for further IoT development. Starting with ESP32 and Arduino Ide 2.0 basics, you'll first explore practical implementation examples of interfacing sensors with ESP32. These examples will also teach you how to interface the ESP32 camera and display modules with ESP32. As you progress, you’ll get to grips with IoT network and data protocols, as well as the many options they unlock within IoT applications. The book will also help you leverage your newly acquired knowledge with exciting projects ranging from smart connected devices to data loggers and automation. By the end of this book, you'll confidently navigate ESP32 projects with newfound knowledge and skills, know what IoT protocol to select for your applications, and successfully build and deploy your own IoT projects.
Table of Contents (15 chapters)
1
Part 1 – Introduction: Getting Familiar with ESP32
5
Part 2 – IoT Protocols and ESP32
8
Part 3 – Practical Implementation

Understanding RTOS use cases and features

An RTOS is specialized software that manages tasks with precise timing requirements, ensuring timely execution in embedded systems and applications. It is designed for applications where a predictable response time is critical, such as in robotics and industrial control systems (ICS).

To understand an RTOS, we will take an example of the approach that we have taken in this book of the “super loop architecture,” in which the main program consists of a continuous loop (a “super loop” or loop() function) that executes sequentially. This loop repeatedly performs tasks, checks conditions, and responds to events, as can be seen in Figure 9.1:

Figure 9.1 – Super loop architecture

Figure 9.1 – Super loop architecture

In contrast, an RTOS allows for the concurrent execution of multiple tasks. In the case of a multi-core processor, true multitasking is achievable, as can be seen in Figure 9.2, while on a single-core processor...