Kursüberblick
Tauche ein in die Welt der Echtzeitbetriebssysteme mit FreeRTOS für ESP32 in der Arduino-Umgebung! In diesem praxisorientierten Kurs lernst du, wie du FreeRTOS auf dem ESP32 einsetzt, um Multitasking und Echtzeitfähigkeit in deinen Projekten zu nutzen.
Das erwartet dich: 6 Stunden Videomaterial und 40 Code-Beispiele zu folgenden Themen:
- Tasks: Erstelle und verwalte verschiedene Tasks, die unabhängig voneinander laufen. Lerne, wie du Prioritäten setzt, CPU-Cores zuweist und Tasks effizient steuerst – von einfachen Blink-Beispielen bis hin zu komplexeren Anwendungen.
- Queues: Nutze Queues, um Daten sicher und geordnet zwischen Tasks auszutauschen. Von einfachen Signalen über den Transport mehrerer Datenwerte bis hin zur Nutzung von Structs und OLED-Displays – hier erfährst du alles Wichtige.
- Mutex: Vermeide Race Conditions und Deadlocks mit Mutexes. Du lernst, wie du kritische Abschnitte schützt und Probleme erkennst, bevor sie auftreten.
- Interrupts (ISR): Reagiere schnell und präzise auf externe Ereignisse mit Interrupt Service Routines. Entdecke, wie du ISR in FreeRTOS integrierst, Prioritäten setzt und Tasks mit Interrupts kombinierst.
Dieser Kurs ist so gestaltet, dass wir alle Themen Schritt für Schritt gemeinsam erarbeiten. Dennoch solltest du bereits die Toolchain eingerichtet und den ESP32 mindestens einmal programmiert haben, da wir auf diesen Grundlagen aufbauen. Du kannst dabei wahlweise mit der Arduino IDE oder PlatformIO arbeiten – ganz nach deinen Vorlieben.
Dieser Kurs ist perfekt für alle, die ihre Projekte mit FreeRTOS auf dem ESP32 auf die nächste Stufe heben möchten – von der Theorie bis zur Praxis. Melde dich jetzt an und entwickle leistungsstarke, echtzeitfähige Anwendungen!
Bis gleich im Kurs
pixeledi aka Markus Edenhauser, MA MSc
Curriculum
- 1.1 Kursvorstellung (1:26)
- 1.2 Benötigte Software und Hardware (3:06)
- 1.3 Code und Materialliste (2:20)
- 1.4 DIY-Devboard für Prototyping (2:01)
- 1.5 Warum Denglisch? (2:11)
- 1.6 Variation im Codeaufbau (1:59)
- 1.7 MIT-Lizenz und Haftungsausschluss (0:39)
- 1.8 Anmerkungen & alle Fragen zum Kurs können hier gestellt werden
- 2.1 Zielgruppe und Voraussetzungen (0:59)
- 2.2 Warum braucht man FreeRTOS? (8:04)
- 2.3 Andere RTOS Systeme im Embedded Bereich (2:55)
- 2.4 Design (2:48)
- 2.5 Konventionen (6:38)
- 2.6 Multitasking und Gleichzeitigkeit (3:58)
- 2.7 Stack und Heap Memory Management (7:35)
- 2.8 System Ticks und Task-Switching (3:46)
- 2.9 Präemptiver vs. Kooperativer Scheduler (1:59)
- 2.10 ESP32 C3, S3 und C6 wie auch AVR-Arduino (4:06)
- 3.1 Intro (1:07)
- 3.2 VSCode mit PlatformIO Übersicht (7:34)
- 3.3 PlatformIO Projekte in Arduino IDE (3:54)
- 3.4 ESP32 mit ESP-Prog und ESP32S3 debuggen (15:26)
- 3.5 Hardware Timer (6:34)
- 3.6 Pointer Überblick (2:56)
- 3.7 Pointer Speicheradressen (4:40)
- 3.8 Pointer Größe und Vergleich (3:04)
- 3.9 Arrays als Pointer übergeben (5:32)
- 3.10 Ringbuffer Übersicht (3:10)
- 3.11 Ringbuffer Beispiel (3:26)
- 3.12 Ringbuffer debuggen (2:55)
- 3.13 Ringbuffer Praxis mit anlogen Sensor (4:48)
- 4.1 Intro (0:55)
- 4.2 Übersicht und Verdrahtung (3:48)
- 4.3 Zwei Task unterschiedliche LED Blink (7:26)
- 4.4 Ausführenden CPU-Core festlegen (5:22)
- 4.5 Tasks laufen unabhängig vom Delay im Loop (2:10)
- 4.6 Memory Management Stack Size bestimmen (7:52)
- 4.7 vTaskDelete – Tasks und Loop löschen (3:55)
- 4.8 vTaskResume und Suspend - Fortfahren und Aussetzen (5:19)
- 4.9 Ticks mit ESP32 und Messung mit Oszilloskop (6:03)
- 4.10 Yielding CPU – Timeslot freigeben (2:31)
- 4.11 vTaskDelay mit ESP32 (4:00)
- 4.12 vTaskDelay mit Arduino Uno (3:06)
- 4.13 Task Priorities (2:42)
- 4.14 uxTaskGetSystemState (3:38)
- 4.15 Errorhandling von Tasks (8:18)
- 4.16 xTaskNotify Aufrufen von Tasks (10:23)
- 6.1 Intro (0:54)
- 6.2 Binary Semaphores Vorbereitung (4:08)
- 6.3 Binary Semaphores mit Buttons (4:20)
- 6.4 Binary Semaphores mit Buffer und Tasks (8:21)
- 6.5 Binary Semaphores Wechsel innerhalb von Tasks (3:20)
- 6.6 Countable Semaphores (3:38)
- 6.7 Versuchsaufbau 3x I2C (2:09)
- 6.8 3xI2C Module synchronisieren (7:17)
- 6.9 Fazit und Unterscheidung zwischen Semaphoren und Queues (5:08)
Häufig gestellte Fragen
Warum werden die Preise in US-Dollar angezeigt?
Die Preise werden in Dollar angezeigt, damit ich auch PayPal als Zahlungsanbieter nutzen kann. Wenn du mit Kreditkarte oder PayPal zahlst, wird der Preis zum aktuellen Wechselkurs in Euro umgerechnet.
Wann beginnt und endet der Kurs?
Der Kurs startet jetzt und hört nie auf! Es ist ein Online-Kurs - du entscheidest, wann du anfängst und wann du fertig bist.
Wie lange habe ich Zugang zum Kurs?
Wie klingt lebenslanger Zugang? Nach der Anmeldung hast du unbegrenzten Zugriff auf diesen Kurs - auf all deine Geräte.
Was ist, wenn ich mit dem Kurs unzufrieden bin?
Wir möchten auf keinen Fall, dass du unglücklich bist! Wenn du mit deinem Kauf unzufrieden bist, kontaktiere mich innerhalb der ersten 30 Tage und wir erstatten dir den vollen Betrag.