Beschreibung
Multitasking und Multiprocessing sind zu einem sehr wichtigen Thema in mikrocontrollerbasierten Systemen geworden, insbesondere in komplexen kommerziellen, häuslichen und industriellen Automatisierungsanwendungen. Mit zunehmender Komplexität von Projekten werden immer mehr Funktionalitäten von den Projekten gefordert. Solche Projekte erfordern die Verwendung mehrerer miteinander verbundener Aufgaben, die auf demselben System ausgeführt werden und die verfügbaren Ressourcen wie CPU, Speicher und Eingabe-Ausgabe-Ports gemeinsam nutzen. Infolgedessen hat die Bedeutung von Multitasking-Operationen in Mikrocontroller-basierten Anwendungen in den letzten Jahren stetig zugenommen. Viele komplexe Automatisierungsprojekte nutzen mittlerweile eine Art Multitasking-Kernel.
Dieses Buch ist projektbasiert und sein Hauptziel besteht darin, die grundlegenden Funktionen des Multitasking mit der Programmiersprache Python 3 auf dem Raspberry Pi zu vermitteln. Das Buch stellt viele vollständig getestete Projekte bereit, die die Multitasking-Module von Python verwenden. Jedes Projekt wird vollständig und detailliert beschrieben. Für jedes Projekt werden vollständige Programmlisten bereitgestellt. Der Leser soll die Möglichkeit haben, die Projekte so zu nutzen, wie sie sind, oder sie an ihre eigenen Bedürfnisse anzupassen.
Die folgenden Python-Multitasking-Module wurden beschrieben und in den Projekten verwendet:
- Gabel
- Faden
- Einfädeln
- Unterprozess
- Mehrfachverarbeitung
Das Buch umfasst einfache Multitasking-Projekte wie die unabhängige Steuerung mehrerer LEDs bis hin zu komplexeren Multitasking-Projekten wie Ein-/Aus-Temperaturregelung, Ampelsteuerung, 2-stelliger und 4-stelliger 7-Segment-LED-Ereigniszähler, Reaktionstimer und Schrittmotor Steuerung, tastaturbasierte Projekte, Parkplatzsteuerung und vieles mehr. Die grundlegenden Multitasking-Konzepte wie Prozesssynchronisation, Prozesskommunikation und Speicherfreigabetechniken wurden in Projekten zu Ereignisflags, Warteschlangen, Semaphoren, Werten usw. beschrieben.