Embedded Controller mit ESP32 – Praxisnahe Entwicklung in C, Rust und Python
Classroom Schulung | Deutsch | Anspruch
Schulungsdauer: 2 Tage
Ziele
In dieser 2-tägigen Schulung "Embedded Controller mit ESP32 – Praxisnahe Entwicklung in C, Rust und Python" lernen Sie, Embedded Controller am Beispiel des ESP32 effizient zu programmieren und anzuwenden. Sie erwerben fundierte Kenntnisse über die Architektur und Einsatzmöglichkeiten von Embedded Systemen und arbeiten mit Entwicklungswerkzeugen wie Debuggern, Programmieradaptern und JTAG. Darüber hinaus lernen Sie, Peripheriegeräte wie Timer, PWM und Kommunikationsprotokolle (SPI, I2C) in Ihre Anwendungen zu integrieren.
Ein weiterer Fokus liegt auf der Implementierung robuster Projekte mit Aspekten der Ausfallsicherheit und Cyber Security sowie dem Energiemanagement von Mikrocontrollern, einschließlich optimierter Schlafzyklen. Die Programmierung erfolgt in C, Rust und Python. Nach der Schulung sind Sie in der Lage, eigenständig Embedded-Anwendungen zu entwickeln, zu testen und zu optimieren.
Zielgruppe
- Entwickler und Ingenieure, die Embedded Systeme programmieren oder entwickeln möchten
- Studierende und Absolvent technischer Studiengänge wie Informatik, Elektrotechnik oder Mechatronik
- Erfahrene Entwickler, die ihre Fähigkeiten um moderne Ansätze in C, Rust oder Python erweitern möchten
- Technische Fachkräfte, die praxisnahe Lösungen für IoT, Cyber Security und Energiemanagement kennenlernen wollen
- Berufseinsteiger in der Embedded-Programmierung, die praktische Kenntnisse erwerben möchten.
Voraussetzungen
- Kenntnisse in mindestens einer der Programmiersprachen C, Rust oder Python
- Grundlegendes Verständnis für Programmierung und technische Abläufe
- Grundwissen über Mikrocontroller, Embedded Systeme oder Elektronik ist von Vorteil
- Erfahrung im Umgang mit Entwicklungsumgebungen wie Visual Studio Code, Arduino IDE oder vergleichbaren Tools ist von Vorteil
Agenda
Einführung in Embedded Controller
- Architektur und Funktionsweise von Mikrocontrollern.
- Anwendungsgebiete: IoT, Automatisierung, Smart Home.
ESP32: Hardware und Entwicklungsumgebung
- Aufbau und Features des ESP32 (Dual-Core, WLAN/Bluetooth, Peripherie).
- Einrichtung der Entwicklungsumgebung:
- C: Arduino IDE oder ESP-IDF.
- Rust: Einrichtung des Rust-Toolchains mit Embassy.
- Python: MicroPython-Installation und Nutzung.
Werkzeuge für Embedded Entwicklung
- Debugger, Programmer und JTAG – Grundlagen und Einsatzmöglichkeiten.
- Erste Verbindung zum ESP32 und Testprogramm (LED-Blinken).
PWM (Pulsweitenmodulation)
- Theorie: Grundlagen, Funktionsweise und Anwendungen.
- Visualisierung von PWM-Signalen mit Oszilloskop oder Logikanalysator.
- Praxis: LED-Dimmung oder Steuerung eines Motors.
Timer und DMA (Direct Memory Access)
- Timer:
- Aufgaben und Einsatzmöglichkeiten in der Echtzeitsteuerung.
- Praxis: Zeitgesteuerte Aktionen.
- DMA:
- Theorie: Effiziente Datenübertragung ohne CPU-Last.
- Praxis: Beispiel für Datenübertragungen zwischen Sensoren und Speicher.
Kommunikationsprotokolle
- Theorie: Vergleich von I2C, SPI und UART.
- Praxis:
- Anbindung eines Feuchtigkeitssensors über I2C.
- Kommunikation mit einem externen Gerät über SPI.
Cybersecurity und Ausfallsicherheit
- Cybersecurity:
- Authentifizierung und Schutz vor unbefugtem Zugriff.
- Sichere Kommunikation und Schutz vor Replay-Angriffen.
- Ausfallsicherheit:
- Integration eines Leckage-Sensors zur Fehlererkennung.
- Notfallabschaltung und Fail-Safe-Mechanismen.
Energiemanagement
- Power-Saving-Modi und Schlafzyklen des Mikrocontrollers.
- Praxis: Implementierung von Schlafzyklen und Wake-Up-Szenarien.
Abschlussprojekt: Smart-Home-Waschmaschinensteuerung
- Steuerung der Waschmaschine basierend auf simulierten Strompreisdaten.
- Integration eines Feuchtigkeitssensors zur Leckage-Erkennung.
- Sicherheitsmaßnahmen: Verhinderung unbefugten Zugriffs.
- Optimierung des Energiemanagements.
Ziele
In dieser 2-tägigen Schulung "Embedded Controller mit ESP32 – Praxisnahe Entwicklung in C, Rust und Python" lernen Sie, Embedded Controller am Beispiel des ESP32 effizient zu programmieren und anzuwenden. Sie erwerben fundierte Kenntnisse über die Architektur und Einsatzmöglichkeiten von Embedded Systemen und arbeiten mit Entwicklungswerkzeugen wie Debuggern, Programmieradaptern und JTAG. Darüber hinaus lernen Sie, Peripheriegeräte wie Timer, PWM und Kommunikationsprotokolle (SPI, I2C) in Ihre Anwendungen zu integrieren.
Ein weiterer Fokus liegt auf der Implementierung robuster Projekte mit Aspekten der Ausfallsicherheit und Cyber Security sowie dem Energiemanagement von Mikrocontrollern, einschließlich optimierter Schlafzyklen. Die Programmierung erfolgt in C, Rust und Python. Nach der Schulung sind Sie in der Lage, eigenständig Embedded-Anwendungen zu entwickeln, zu testen und zu optimieren.
Zielgruppe
- Entwickler und Ingenieure, die Embedded Systeme programmieren oder entwickeln möchten
- Studierende und Absolvent technischer Studiengänge wie Informatik, Elektrotechnik oder Mechatronik
- Erfahrene Entwickler, die ihre Fähigkeiten um moderne Ansätze in C, Rust oder Python erweitern möchten
- Technische Fachkräfte, die praxisnahe Lösungen für IoT, Cyber Security und Energiemanagement kennenlernen wollen
- Berufseinsteiger in der Embedded-Programmierung, die praktische Kenntnisse erwerben möchten.
Voraussetzungen
- Kenntnisse in mindestens einer der Programmiersprachen C, Rust oder Python
- Grundlegendes Verständnis für Programmierung und technische Abläufe
- Grundwissen über Mikrocontroller, Embedded Systeme oder Elektronik ist von Vorteil
- Erfahrung im Umgang mit Entwicklungsumgebungen wie Visual Studio Code, Arduino IDE oder vergleichbaren Tools ist von Vorteil
Agenda
Einführung in Embedded Controller
- Architektur und Funktionsweise von Mikrocontrollern.
- Anwendungsgebiete: IoT, Automatisierung, Smart Home.
ESP32: Hardware und Entwicklungsumgebung
- Aufbau und Features des ESP32 (Dual-Core, WLAN/Bluetooth, Peripherie).
- Einrichtung der Entwicklungsumgebung:
- C: Arduino IDE oder ESP-IDF.
- Rust: Einrichtung des Rust-Toolchains mit Embassy.
- Python: MicroPython-Installation und Nutzung.
Werkzeuge für Embedded Entwicklung
- Debugger, Programmer und JTAG – Grundlagen und Einsatzmöglichkeiten.
- Erste Verbindung zum ESP32 und Testprogramm (LED-Blinken).
PWM (Pulsweitenmodulation)
- Theorie: Grundlagen, Funktionsweise und Anwendungen.
- Visualisierung von PWM-Signalen mit Oszilloskop oder Logikanalysator.
- Praxis: LED-Dimmung oder Steuerung eines Motors.
Timer und DMA (Direct Memory Access)
- Timer:
- Aufgaben und Einsatzmöglichkeiten in der Echtzeitsteuerung.
- Praxis: Zeitgesteuerte Aktionen.
- DMA:
- Theorie: Effiziente Datenübertragung ohne CPU-Last.
- Praxis: Beispiel für Datenübertragungen zwischen Sensoren und Speicher.
Kommunikationsprotokolle
- Theorie: Vergleich von I2C, SPI und UART.
- Praxis:
- Anbindung eines Feuchtigkeitssensors über I2C.
- Kommunikation mit einem externen Gerät über SPI.
Cybersecurity und Ausfallsicherheit
- Cybersecurity:
- Authentifizierung und Schutz vor unbefugtem Zugriff.
- Sichere Kommunikation und Schutz vor Replay-Angriffen.
- Ausfallsicherheit:
- Integration eines Leckage-Sensors zur Fehlererkennung.
- Notfallabschaltung und Fail-Safe-Mechanismen.
Energiemanagement
- Power-Saving-Modi und Schlafzyklen des Mikrocontrollers.
- Praxis: Implementierung von Schlafzyklen und Wake-Up-Szenarien.
Abschlussprojekt: Smart-Home-Waschmaschinensteuerung
- Steuerung der Waschmaschine basierend auf simulierten Strompreisdaten.
- Integration eines Feuchtigkeitssensors zur Leckage-Erkennung.
- Sicherheitsmaßnahmen: Verhinderung unbefugten Zugriffs.
- Optimierung des Energiemanagements.