Das erste Buch führt in das wissenschaftliche Rechnen mit Python ein, das zweite in eine verbreitete Plattform für die Heimautomation, ebenfalls auf Python-Basis.
Wissenschaftlich rechnen
Einführungen in die allseits beliebte Programmiersprache Python gibt es reichlich, darunter auch mehrere tausendseitige Wälzer, die neben den Grundlagen auch Anwendungen wie GUI-Programmierung, Web-Frameworks oder die Integration von Datenbanken abdecken. Doch selbst die Schwergewichte gehen häufig nicht auf ein Anwendungsgebiet ein, das gerade für Python eine Paradedisziplin ist: das wissenschaftliche Rechnen. Der vorliegende Python-Kurs für Ingenieure und Naturwissenschaftler hat sich auf die Fahnen geschrieben, das zu ändern.
Nach einer einführenden Übersicht über Entwicklungsumgebungen und einschlägige Module beginnt das Buch mit einer klassischen Kurzeinführung in Datenstrukturen, Funktionen und die Ablaufsteuerung in Python. Das soll einerseits den Vorteil versprechen, kein zweites Python-Buch für die ersten Schritte zu brauchen, weckt andererseits aber Misstrauen: Für völlig Unbedarfte ist ein Kapitel zu diesem Themenkreis sicherlich zu wenig, für Vorgebildete ist es dagegen redundant. Zumindest in letzterem Fall kann man es immerhin schnell überblättern, um zum Eingemachten zu gelangen. Das beginnt mit dem für numerische Berechnungen ausgiebig genutzten Modul NumPy. Vorgestellt werden die Behandlung von ein- und mehrdimensionalen Arrays in NumPy, die Vektorrechnung, die Matrizenmultiplikation sowie das Lösen linearer Gleichungssysteme. Dieses und die folgenden Kapitel schließen mit einer Sammlung von Aufgaben ab, für deren Lösung man die zuvor diskutierten Features benötigt.
Es folgt ein Kapitel zum Modul Matplotlib, mit dem sich zwei- und dreidimensionale Plots und Animationen erstellen lassen. Weiter geht es mit SymPy, das das symbolische Rechnen unterstützt, also beispielsweise Differenzieren und Integrieren. Beide Themen spielen auch im Folgekapitel zum Modul SciPy eine Rolle, hier in Bezug auf numerische Lösungen und Differenzialgleichungssysteme, einschließlich diskreter Fourier-Transformation und Signalverarbeitung. Danach wird es mit der Vorstellung des Moduls VPython noch einmal grafisch, es geht um anspruchsvolle 3D-Darstellungen und Animationen. In jeweils eigenen Kapiteln stellt der Autor das Rechnen mit komplexen Zahlen, Statistik mit Python, Anwendungen der booleschen Algebra sowie das GUI-Framework Tkinter vor.
Das Buch empfiehlt sich vor allem für Interessenten, die sich mit den Python-Grundlagen bereits auskennen und nun wissenschaftliche oder ingenieurtechnische Berechnungen mit der Sprache angehen wollen. Sie finden die gebräuchlichsten der dafür wichtigen Module hier verständlich und anschaulich erklärt.
Infos
Veit Steinkamp
Der Python-Kurs für Ingenieure und Naturwissenschaftler
2. Auflage, Rheinwerk 2023
550 Seiten, 35 Euro
ISBN: 978-3-8362-9286-3
Heimautomation
Die Rollläden fahren herunter, das Licht wird dezent gedimmt, die Stereoanlage spielt jazzige Schmusemusik, die Kaffeemaschine springt wie von Geisterhand gesteuert an – das alles passiert automatisch, wenn ein Fan der Heimautomation zum Feierabend nach Hause kommt. Wer sich das Szenario wirklich auf den Leib programmieren will, der wird mit fertigen Industriekomponenten allein weder ans Ziel kommen noch das wollen, denn das Tüfteln und Basteln auf dem Weg ist für ihn schon das halbe Ziel. Eine sehr verbreitete und dazu auch noch quelloffene Lösung für selbst gemachte Steuerungen am und im Haus nennt sich Home Assistant. Das vorliegende Buch stellt die Software umfassend vor.
Ein durchgehendes Beispiel, das einen roten Faden abgeben könnte, gibt es nicht. Stattdessen behandeln die einzelnen Kapitel verschiedenste Aspekte. Man kann sie je nach Bedarf in fast beliebiger Reihenfolge lesen. Ein erstes Kapitel informiert über die Installation von Home Assistant. Allein unter Linux gibt es dafür vier Varianten: in einer virtuellen Maschine, in einem Container, als Image beispielsweise auf einem Raspberry Pi oder als Linux-Anwendung. Ein nächstes Kapitel begleitet bei den ersten Schritten mit dem Web-Interface. Danach geht es um fortgeschrittenere Administration, etwa um die Benutzerprofile und die Systemeinstellungen.
Das nächste Kapitel wirft einen Blick auf die vielfältigen Geräte und Dienste, die sich mit Home Assistant steuern lassen: Wie integriert man sie in das System, und auf welche Hilfsfunktionen kann man dabei zurückgreifen? Oft geht es nicht nur um ein einfaches An/Aus, weshalb der Autor im Anschluss bespricht, wie man komplexe Szenen mit Auslösern und Bedingungen programmiert. Häufig ist auch das Ziel, Messwerte oder Einstellungen für den Bediener zu visualisieren. Hier hilft das Kapitel über Dashboards und Apps weiter. Wo die Bordmittel nicht ausreichen, kann man sich unter Umständen mit Addons helfen oder auf eine Lösung aus dem Community Store zurückgreifen. Beides behandelt das Buch.
Weitere Themen sind Medien und Sprachdienste, Ablagemöglichkeiten in verschiedenen Datenbanken, Zugriffe von außen sowie das Einbinden von Geräten wie der Fritzbox oder der Leuchtmittel von Tuya und Shelly. Sogar ein Kapitel über die Low-Code-Plattform Node-RED ist dabei, mit der sich auch komplexere Steuerungen visuell programmieren lassen, ohne viel Code zu tippen. Wer sein Zuhause gern nach eigenen Vorstellungen automatisieren und dabei Home Assistant einsetzen möchte, findet in dem vorliegenden, lohnenden Buch jede Menge hilfreiche Anregungen und Erklärungen.







