Search icon CANCEL
Subscription
0
Cart icon
Cart
Close icon
You have no products in your basket yet
Save more on your purchases!
Savings automatically calculated. No voucher code required
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
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

Product type Book
Published in Sep 2021
Publisher Packt
ISBN-13 9781838641160
Pages 474 pages
Edition 1st Edition
Languages
Author (1):
Vedat Ozan Oner Vedat Ozan Oner
Profile icon Vedat Ozan Oner
Toc

Table of Contents (18) Chapters close

Preface 1. Section 1: Using ESP32
2. Chapter 1: Getting Started with ESP32 3. Chapter 2: Talking to the Earth – Sensors and Actuators 4. Chapter 3: Impressive Outputs with Displays 5. Chapter 4: A Deep Dive into the Advanced Features 6. Chapter 5: Practice – Multisensor for Your Room 7. Section 2: Local Network Communication
8. Chapter 6: A Good Old Friend – Wi-Fi 9. Chapter 7: Security First! 10. Chapter 8: I Can Speak BLE 11. Chapter 9: Practice – Making Your Home Smart 12. Section 3: Cloud Communication
13. Chapter 10: No Cloud, No IoT – Cloud Platforms and Services 14. Chapter 11: Connectivity Is Never Enough – Third-Party Integrations 15. Chapter 12: Practice – A Voice-Controlled Smart Fan 16. Answers 17. Other Books You May Enjoy

Using FreeRTOS

As we know, FreeRTOS is the official real-time OS supported by ESP32. FreeRTOS was originally designed for single-core architectures. However, ESP32 has two cores, and therefore this port of FreeRTOS is revised to handle 2-core systems as well. Most of the differences between the vanilla FreeRTOS and ESP-IDF FreeRTOS stem from this reason. For those who have some experience with FreeRTOS, it would be enough to skim through these differences:

  • Creating a new task: We have a new function where we can specify on which core to run a new task; it is xTaskCreatePinnedToCore. This function takes a parameter to set the task affinity to the specified core. If a task is created by the original xTaskCreate, it doesn't belong to any core, and any core can choose to run it at the next tick interrupt.
  • Scheduler suspension: The vTaskSuspendAll function call only suspends the scheduler on the core on which it is called. The other core continues its operation. Therefore...
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 £13.99/month. Cancel anytime