Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Developing IoT Projects with ESP32

You're reading from   Developing IoT Projects with ESP32 Unlock the full Potential of ESP32 in IoT development to create production-grade smart devices

Arrow left icon
Product type Paperback
Published in Nov 2023
Publisher Packt
ISBN-13 9781803237688
Length 578 pages
Edition 2nd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Vedat Ozan Oner Vedat Ozan Oner
Author Profile Icon Vedat Ozan Oner
Vedat Ozan Oner
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Introduction to IoT development and the ESP32 platform 2. Understanding the Development Tools FREE CHAPTER 3. Using ESP32 Peripherals 4. Employing Third-Party Libraries in ESP32 Projects 5. Project – Audio Player 6. Using Wi-Fi Communication for Connectivity 7. ESP32 Security Features for Production-Grade Devices 8. Connecting to Cloud Platforms and Using Services 9. Project – Smart Home 10. Machine Learning with ESP32 11. Developing on Edge Impulse 12. Project – Baby Monitor 13. Other Books You May Enjoy
14. Index

RTOS options

Basically, a real-time operating system (RTOS) provides a deterministic task scheduler. Although the scheduling rules change depending on the scheduling algorithm, we know that the task we create will complete in a certain time frame within those rules. The main advantages of using an RTOS are the reduction in complexity and improved software architecture for easier maintenance.

The main real-time operating system supported by ESP-IDF is FreeRTOS. ESP-IDF uses its own version of the Xtensa port of FreeRTOS. The fundamental difference compared with vanilla FreeRTOS is the dual-core support. In ESP-IDF FreeRTOS, you can choose one of two cores to assign a task, or you can let FreeRTOS choose it. Other differences compared with the original FreeRTOS mostly stem from the dual-core support. FreeRTOS is distributed under the MIT license. You can find the ESP-IDF FreeRTOS documentation at this URL: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/freertos.html

If you want to connect your ESP32 to the Amazon Web Services (AWS) IoT infrastructure, you can do that by using Amazon FreeRTOS as your RTOS choice. ESP32 is in the AWS partner device catalog and is officially supported. Amazon FreeRTOS brings the necessary libraries together to connect to AWS IoT and adds other security-related features, such as TLS, OTA updates, secure communication with HTTPS, WebSocket, and MQTT – pretty much everything needed to develop a secure, connected device. An example of using Amazon FreeRTOS in an ESP32 project is given here: https://freertos.org/quickconnect/index.html

Zephyr is another RTOS option with a permissive free software license, Apache 2.0. Zephyr requires an ESP32 toolchain and ESP-IDF installed on the development machine. Then, you need to configure Zephyr with them. When the configuration is ready, we use the command-line Zephyr tool, west, for building, flash, monitoring, and debugging purposes.

If you are a fan of Apache Software, then NuttX is also an option as an RTOS in your ESP32 projects. As it is valid for other Apache products, standards compliance is a paramount driving factor in the NuttX design. It shows a high degree of compliance with POSIX and ANSI standards; therefore, the APIs provided in NuttX are almost the same as defined in them.

The last RTOS that I want to share here is Mongoose OS. It provides a complete development environment with its web UI tool, mos. It has native integration with several cloud IoT platforms, namely, AWS IoT, Google IoT, Microsoft Azure, and IBM Watson, as well as any other IoT platform that supports MQTT or REST endpoints if you need a custom platform. Mongoose OS comes with two different licenses, one being an Apache 2.0 community edition, and the other an enterprise edition with a commercial license.

Our choice in this book will be FreeRTOS and we will also discuss Amazon FreeRTOS features when we connect to AWS IoT.

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image