Dieses Buch wurde von Michael Margolis, zusammen mit Nick Weldin, geschrieben, um Sie die erstaunlichen Dinge entdecken zu lassen, die man mit Arduino machen kann.
Arduino ist eine Familie von Mikrocontrollern (kleinen Computern) und eine Umgebung zur Software-Entwicklung, die es Ihnen leicht macht, Programme (sog. Sketches) zu entwickeln, die mit der physikalischen Welt interagieren. Mit Arduino entwickelte Dinge können auf Berührungen, Töne, Wärme und Licht reagieren. Diese Technik, auch physical computing genannt, wird in den unterschiedlichsten Dingen, vom iPhone bis zur Automobilelektronik verwendet. Arduino ermöglicht es jedermann – auch Menschen ohne Programmier- oder Elektronikkenntnisse –, diese mächtige und komplexe Technik zu nutzen.
Im Gegensatz zu den meisten technischen Kochbüchern wird keinerlei Erfahrung mit Soft- und Hardware vorausgesetzt. Dieses Buch richtet sich an Leser, die Computertechnik nutzen wollen, um mit ihrer Umgebung zu interagieren. Es ist für Leute gedacht, die eine schnelle Lösung für ihre Hard- und Softwareprobleme suchen. Die Rezepte bieten die Informationen, die Sie benötigen, um eine große Bandbreite von Aufgaben zu erledigen. Sie enthalten auch Details, die Ihnen dabei helfen, Lösungen an Ihre Bedürfnisse anzupassen. Ein auf 600 Seiten beschränktes Buch kann nicht den allgemeinen theoretischen Hintergrund vermitteln. Daher finden Sie überall im Buch Links auf externe Referenzen. Im Abschnitt »Was ausgelassen wurde«Section finden sich einige allgemeine Referenzen für diejenigen ohne Programmier- und Elektronikkenntnisse.
Wenn Sie keine Programmiererfahrung haben – vielleicht haben Sie eine gute Idee für ein interaktives Projekt, verfügen aber nicht über das notwendige Wissen, um es bauen zu können –, hilft Ihnen dieses Buch, das zu lernen, was Sie zum Schreiben funktionierender Programme brauchen. Dazu verwenden wir Beispiele, die über 200 gängige Aufgaben behandeln.
Wenn Sie über Programmiererfahrung verfügen, aber nicht mit Arduino vertraut sind, sorgt das Buch für ein schnelleres produktives Arbeiten, indem es demonstriert, wie man Arduino-spezifische Fähigkeiten in ein Projekt integriert.
Wenn Sie bereits mit Arduino vertraut sind, werden Sie den Inhalt nützlich finden, der Ihnen neue Techniken anhand praktischer Beispiele vermittelt. Das hilft Ihnen bei komplexeren Projekten, indem es zeigt, wie man Probleme mit Hilfe Ihnen möglicherweise noch nicht bekannter Techniken löst.
Erfahrene C/C++-Programmierer finden Beispiele für den Einsatz der auf niedriger Ebene angesiedelten AVR-Ressourcen (Interrupts, Timer, I2C, Ethernet etc.), die bei der Entwicklung von Anwendungen mit der Arduino-Umgebung helfen.
Das Buch enthält Informationen, die ein breites Spektrum der Arduino-Fähigkeiten abdecken. Sie reichen von grundlegenden Konzepten und gängigen Aufgaben bis hin zu fortgeschrittenen Techniken. Jede Technik wird in einem Rezept erläutert, das zeigt, wie man eine bestimmte Fähigkeit implementiert. Sie müssen den Inhalt nicht der Reihe nach lesen. Nutzt ein Rezept eine Technik, die in einem anderen Rezept behandelt wird, finden Sie eine Referenz auf das andere Rezept, d.h., die Details werden nicht an mehreren Stellen wiederholt.
Chapter 1, Erste Schritte führt in die Arduino-Umgebung ein und erläutert die Arduino-Installation.
Die nächsten Kapitel führen in die Arduino-Software-Entwicklung ein. Chapter 2, Den Sketch machen lassen, was Sie wollen, behandelt grundlegende Softwarekonzepte und Aufgaben. Chapter 3, Mathematische Operatoren nutzen zeigt, wie man die gängigsten mathematischen Funktionen verwendet.
Chapter 4, Serielle Kommunikation beschreibt, wie man den Arduino mit Ihrem Computer und anderen Geräten verbindet und mit ihnen kommuniziert. Seriell ist die für Arduino gängigste Methode der Ein- und Ausgabe, die im gesamten Buch von vielen Rezepten genutzt wird.
Chapter 5, Einfacher digitaler und analoger Input führt eine Reihe grundlegender Techniken zum Lesen digitaler und analoger Signale ein. Darauf aufbauend zeigt Chapter 6, Werte von Sensoren einlesen, wie man Bauelemente nutzt, die es Arduino ermöglichen, Berührungen, Töne, Positionen, Wärme und Licht wahrzunehmen.
Chapter 7, Visuelle Ausgabe behandelt die Steuerung von Licht. Die Rezepte zeigen, wie man ein oder mehrere LEDs einschaltet und Helligkeit und Farbe kontrolliert. Dieses Kapitel erläutert, wie man Strichskalen und numerische LED-Displays ansteuert und wie man Muster und Animationen mit LED-Arrays erzeugt. Für Einsteiger enthält das Kapitel zusätzlich eine allgemeine Einführung in die digitale und analoge Ausgabe.
Chapter 8, Physische Ausgabe erklärt, wie man mit dem Arduino Dinge mittels Motoren bewegen kann. Es werden unterschiedlichste Motortypen behandelt: Spulen, Servomotoren, Gleichstrom- und Schrittmotoren.
Chapter 9, Audio-Ausgabe zeigt, wie man mit de Arduino Töne über ein Ausgabegerät wie einen Lautsprecher erzeugt. Es behandelt einfache Töne und Melodien und das Abspeichern von WAV-Dateien und MIDI.
Chapter 10, Externe Geräte fernsteuern beschreibt Techniken, mit denen Sie mit nahezu jedem Gerät interagieren können, das irgendeine Form von Fernbedienung nutzt: Fernseher, Audiogeräte, Kameras, Garagentore, Haushaltsgeräte und Spielzeug. Es baut auf den Techniken zur Verbindung des Arduino mit anderen Bauelementen und Modulen auf.
Chapter 11, Displays nutzen behandelt die Verbindung mit Text- und LC-Displays. Es zeigt, wie man diese Geräte anbindet, um Text auszugeben, Wörter scrollt und hervorhebt und spezielle Symbole und Zeichen erzeugt.
Chapter 12, Datum und Uhrzeit behandelt die in Arduino fest integrierten zeitbezogenen Funktionen und stellt zusätzliche Techniken für Zeitverzögerungen, zur Zeitmessung und reale Zeit- und Datumsangaben vor.
Chapter 13, Kommunikation per I2C und SPI behandelt die I2C-(Inter-Integrated Circuit-) und SPI-(Serial Peripheral Interface-)Standards. Diese Standards bieten eine einfache Möglichkeit, Informationen digital zwischen Sensoren und dem Arduino zu übertragen. Das Kapitel zeigt, wie man I2C und SPI nutzt, um gängige Bauelemente anzubinden. Es zeigt auch, wie man zwei oder mehr Arduino-Boards für Multiboard-Anwendungen über I2C miteinander verbindet.
Chapter 14, Drahtlose Kommunikation behandelt die drahtlose Kommunikation mittels XBee und anderen Wireless-Modulen. Die Beispiele reichen vom einfachen Drahtlos-Ersatz für serielle Ports bis hin zu Mesh-Netzwerken, die mehrere Boards mit mehreren Sensoren verbinden.
Chapter 15, Ethernet und Netzwerke beschreibt die vielen Möglichkeiten, wie Sie Arduino fürs Internet benutzen können. Es enthält Beispiele, die zeigen, wie man Web-Clients und -Server erstellt und nutzt und erläutert die gebräuchlichen Internet-Protokolle.
Arduino Softwarebibliotheken sind der übliche Ansatz, um die Arduino-Umgebung um zusätzliche Funktionen zu erweitern. Chapter 16, Bibliotheken nutzen, ändern und aufbauen erläutert, wie man Softwarebibliotheken nutzt und modifiziert. Es enthält auch eine Anleitung zur Entwicklung eigener Bibliotheken.
Chapter 16, Bibliotheken nutzen, ändern und aufbauen behandelt die fortgeschrittenen Programmiertechniken, und die Inhalte sind etwas technischer als die Rezepte in den vorherigen Kapiteln, weil sie Dinge abdecken, die ansonsten von freundlichen Arduino-Kumpels erledigt werden.
Die Rezepte aus diesem Kapitel können dazu eingesetzt werden, um einen Sketch effizienter zu schreiben, sie können Ihnen dabei helfen, die Performance zu verbessern und den Code schlanker zu schreiben.
Die Anhänge sowie Kapitel 17 und 18 wurden nicht übersetzt. Sie stehen in Englisch als Download auf unserer Webseite zur Verfügung.
Anhang A enthält eine Übersicht der im Buch verwendeten Komponenten.
Anhang B erklärt, wie man Schaltpläne und Datenblätter verwendet.
Anhang C bietet eine kurze Einführung in die Verwendung von Steckbrettern, den Anschluss und Einsatz externer Stromversorgungen und Batterien sowie der Nutzung von Kondensatoren zur Entstörung.
Anhang D enthält Tipps zur Behebung von Compiler- und Laufzeitproblemen.
Anhang E behandelt Probleme mit elektronischen Schaltungen.
Anhang F enthält Tabellen mit den Funktionen der einzelnen Pins bei Standard-Arduino-Boards.
Anhang G enthält Tabellen mit den ASCII-Zeichen.
Anhang H erklärt, wie man Code für ältere Releases anpasst, damit er unter Arduino 1.0 korrekt läuft.
Das Buch bietet nicht genug Platz, um Elektronik in Theorie und Praxis zu erläutern, auch wenn Anleitungen für den Bau der in den Rezepten verwendeten Schaltungen gegeben werden. Für genauere Informationen sei der Leser auf das im Internet zahlreich vorhandene Material oder auf die folgenden Bücher verwiesen:
Make: Elektronik (ISBN 978-3-89721-601-3) von Charles Platt
Arduino für Einsteiger (ISBN 978-3-86899-232-8) von Massimo Banzi
Die elektronische Welt mit Arduino entdecken (ISBN 978-3-89721-319-7) von Erik Bartmann
Making Things Talk (ISBN 978-3-86899-162-8) von Tom Igoe
Dieses Kochbuch erklärt, wie man Code schreibt, der bestimmte Arbeiten erledigt, es ist jedoch keine Einführung in die Programmierung. Wichtige Programmierkonzepte werden kurz erklärt, doch der Platz reicht nicht aus, um auf die Details einzugehen. Wenn Sie mehr über die Programmierung lernen wollen, sei auf das Internet verwiesen.
Nicht in die deutsche Übersetzung aufgenommen wurden die Kurzkapitel »Advanced Coding and Memory Handling«, »Using the Controller Chip Hardware« sowie die Anhänge, um einen akzeptablen Verkaufspreis für das Buch zu gewährleisten.
Diese Kapitel sind als Originalkapitel in PDF-Form von unserer Webseite www.oreilly.de downloadbar.
Für das gesamte Buch wurde der Code maßgeschneidert, um das Thema des jeweiligen Rezepts ganz deutlich zu machen. Infolgedessen wurden gängige Kürzel vermieden, insbesondere in den frühen Kapiteln. Erfahrene C-Programmierer verwenden häufig mächtige, aber sehr knappe Ausdrücke, die für Anfänger etwas schwer verständlich sind. Zum Beispiel werden in den frühen Kapiteln Variablen mit expliziten Ausdrücken inkrementiert, die für Nichtprogrammierer leicht verständlich sind:
result = result + 1; // Zähler inkrementieren
und nicht in der von erfahrenen Programmierern üblicherweise genutzten Kurzform, die das Gleiche macht:
result++; // Inkrement mittels Postinkrement-Operator
Es steht Ihnen natürlich frei, den von Ihnen bevorzugte Stil zu verwenden. Anfängern sei versichert, dass die Kurzform keinerlei Vorteil bei Performance oder Codegröße bringt.
Einige Programmierausdrücke sind so gängig, dass wir ihre Kurzform verwenden. Zum Beispiel werden Schleifen immer wie folgt geschrieben:
for(int i=0; i < 4; i++)
was mit folgendem identisch ist:
int i; for(i=0; i < 4; i = i+1)
Weitere Details zu diesen und anderen im Buch verwendeten Ausdrücken finden Sie in Chapter 2.
Gute Programmierpraxis verlangt, dass die verwendeten Werte gültig sind, d.h., dass man sie prüft, bevor man sie in Berechnungen nutzt. Damit sich der Code aber auf das eigentliche Rezept konzentriert, haben wir nur sehr wenige Fehlerprüfungen eingefügt.
Diese Ausgabe wurde für Arduino 1.0 aktualisiert. Der gesamte Code wurde mit dem neuesten Arduino 1.0 Release Candidate getestet, der zur Drucklegung verfügbar war (RC2). Der Download-Code für diese Ausgabe wird bei Bedarf online aktualisiert, um die finale Release 1.0 zu unterstützen. Besuchen Sie also die Buch-Website, um den neuesten Code zu erhalten. Der Download enthält eine Datei namens changelog.txt, die den Code beschreibt, der sich von der gedruckten Version unterscheidet.
Obwohl viele Sketches mit früheren Arduino-Releases laufen, müssen Sie die Endung von .ino in .pde ändern, um den Sketch in eine Pre-1.0-IDE zu laden. Wenn Sie nicht auf Arduino 1.0 migriert sind und gute Gründe haben, bei einer älteren Release zu bleiben, können Sie den Beispielcode der ersten Ausgabe nutzen (verfügbar unter http://shop.oreilly.com/product/9780596802486.do), der mit den Releases 0018 bis 0022 getestet wurde. Beachten Sie, dass viele Rezepte der zweiten Ausgabe erweitert wurden, weshalb wir ein Upgrade auf Arduino 1.0 empfehlen. Hilfe zur Migration älteren Codes finden Sie in Anhang H (steht als Download bereit).
Dort finden Sie auch einen Link zum Fehlerverzeichnis. Das Fehlerverzeichnis gibt Ihnen die Möglichkeit, uns über (Druck-)Fehler und andere Probleme mit dem Buch zu informieren. Fehler sind auf der Seite sofort sichtbar und werden von uns bestätigt, sobald wir sie überprüft haben. O’Reilly kann die Fehler in zukünftigen Auflagen und auf Safari korrigieren.
Wenn Sie Probleme haben, Beispiele ans Laufen zu bekommen, überprüfen Sie in der Datei changelog.txt des aktuellsten Downloads, ob der Sketch aktualisiert wurde. Falls das Ihr Problem nicht löst, sehen Sie sich Anhang D (steht als Download bereit) an, das die Behebung von Softwareproblemen behandelt. Falls Sie mehr Hilfe benötigen, ist das Arduino-Forum ein guter Ort, um Fragen zu stellen: http://www.arduino.cc.
Wenn Sie dieses Buch mögen – oder auch nicht –, sollten es die Leute unbedingt erfahren. Amazon-Rezensionen sind eine beliebte Möglichkeit, Ihre Zufriedenheit und andere Kommentare mit anderen zu teilen. Sie können auch auf der O’Reilly-Site zu diesem Buch einen Kommentar hinterlassen.
In diesem Buch werden die folgenden typographischen Konventionen verwendet:
wird für Pfad-, Datei- und Programmnamen, Internetadressen, Domainnamen und URLs verwendet, sowie für neue Begriffe, wenn sie zum ersten Mal im Text auftauchen.
Nichtproportionalschrift
wird für Kommandozeilen und Optionen verwendet, die Sie wortwörtlich eingeben müssen. Ebenso bei Namen und Schlüsselwörtern in Programmen, einschließlich Methoden-, Variablen- und Klassennamen sowie HTML-Tags.
Nichtproportionalschrift fett
wird für Hervorhebungen im Programmcode verwendet.
Nichtproportionalschrift kursiv
wird für Text verwendet, der durch Benutzereingaben ersetzt werden muss.
Zeigt einen Tipp, eine Empfehlung oder einen allgemeinen Hinweis an.
Zeigt eine Warnung an.
Dieses Buch soll Ihnen bei der Arbeit mit Arduino helfen. Den Code, den wir hier zeigen, dürfen Sie generell in Ihren Programmen und Dokumentationen verwenden. Sie brauchen uns nicht um Genehmigung zu bitten, sofern Sie nicht große Teile des Codes reproduzieren. Wenn Sie zum Beispiel ein Programm schreiben, das mehrere Codeabschnitte aus diesem Buch verwendet, brauchen Sie unser Einverständnis nicht. Doch wenn Sie eine CD-ROM mit Codebeispielen aus O'Reilly-Büchern verkaufen wollen, müssen Sie sehr wohl eine Erlaubnis einholen. Eine Frage mit einem Zitat und einem Codebeispiel aus diesem Buch zu beantworten, erfordert keine Erlaubnis, aber es ist nicht ohne Weiteres gestattet, große Teile unseres Textes oder Codes in eine eigene Produktdokumentation aufzunehmen.
Wir freuen uns über eine Quellenangabe, verlangen sie aber nicht zwingend. Zu einer Quellenangabe gehören normalerweise der Titel, der Autor, der Verlag und die ISBN, zum Beispiel: »Arduino Kochbuch, von Michael Margolis mit Nick Weldin (O’Reilly). Copyright 2012 Michael Margolis, Nicholas Weldin, 978-86899-353-0.«
Wenn Sie das Gefühl haben, dass Ihr Einsatz unserer Codebeispiele über die Grenzen des Erlaubten hinausgeht, schreiben Sie uns bitte eine E-Mail an permissions@oreilly.com.
Nick Weldins Beitrag war für die Fertigstellung dieses Buches von unschätzbarem Wert. Das Buch war zu 90 Prozent fertig, als Nick an Bord kam – und ohne sein Können und seinen Enthusiasmus wären es wohl immer noch nur 90 Prozent. Seine Erfahrung mit Arduino-Workshops für die unterschiedlichsten Anwender macht die Ratschläge in diesem Buch für unseren breiten Leserkreis nutzbar. Danke, Nick, für dein Wissen und dein geniales, kollaboratives Wesen.
Simon St. Laurent war der Lektor bei O’Reilly, der als Erster Interesse an diesem Buch bekundet hat. Und letztlich war er auch derjenige, der es zusammengehalten hat. Seine Unterstützung und Aufmunterung hielten uns bei der Stange, während wir die Unmengen an Material durchgingen, die nötig waren, um dem Thema Genüge zu tun.
Brian Jepson half mir dabei, mit dem Schreiben dieses Buches anzufangen. Sein umfassendes Wissen in Bezug auf Arduino und sein Bemühen, Technik mit einfachen Worten zu vermitteln, setzten einen hohen Standard. Er war die ideale führende Hand, um dieses Buch zu formen und Technik für die Leser wirklich zugänglich zu machen. Wir sind Brian auch für den XBee-Inhalt in Chapter 14 dankbar.
Brian Jepson und Shawn Wallace waren die Betreuer für diese zweite Ausgabe und lieferten wertvolle Hinweise zur Verbesserung der Genauigkeit und Klarheit des Inhalts.
Audrey Doyle arbeitete unermüdlich daran, Schreibfehler und grammatikalische Fehler aus dem ursprünglichen Manuskript zu tilgen und die allzu verwickelten Ausdrücke zu entwirren.
Philip Lindsay arbeitete in der ersten Auflage am Inhalt von Chapter 15, Ethernet und Netzwerke mit. Adrian McEwen, der führende Entwickler von zahlreichen Ethernet-Erweiterungen für Arduino 1.0, steuerte wertvolle Hinweise für dieses Kapitel bei, um alle Release-Neuerungen zu erfassen.
Mikal Hart schrieb die Rezepte zu GPS und der seriellen (Software-)Schnittstelle. Mikal war dafür die natürliche Wahl – nicht nur, weil er die Bibliotheken geschrieben hat, sondern auch weil er ein Arduino-Enthusiast ist, mit dem die Zusammenarbeit ein Vergnügen ist.
Arduino wird durch die Kreativität des Arduino-Kernentwicklerteams möglich: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino und David Mellis. Im Namen aller Arduino-Nutzer möchte ich unseren Dank für ihre Bemühungen ausdrücken, diese faszinierende Technik einfach nutzbar zu machen, aber auch für ihren Großmut, sie frei zugänglich zu machen.
Ein besonderer Dank geht an Alexandra Deschamps-Sonsino, deren Tinker London Workshops wichtige Erkenntnisse über die Bedürfnisse der Benutzer lieferten. Dank auch an Peter Knight, der alle Arten cleverer Arduino-Lösungen sowie die Basis für eine Reihe von Rezepten in diesem Buch bereitgestellt hat .
Im Namen aller, die von Benutzern beigesteuerte Arduino-Bibliotheken heruntergeladen haben, möchte ich den Autoren danken, die großzügig ihr Wissen geteilt haben.
Die Verfügbarkeit eines großen Spektrums an Hardware macht Arduino so spannend – Dank dafür gebührt den Anbietern, die eine große Menge toller Bauelemente vorhalten und unterstützen. Die nachfolgenden Firmen haben die in diesem Buch verwendete Hardware bereitgestellt: SparkFun, Maker Shed, Gravitech und NKC Electronics. Weitere hilfreiche Anbieter waren Modern Device, Liquidware, Adafruit, MakerBot Industries, Mindkits, Oomlout und SK Pang.
Nick möchte allen danken, die in Tinker London involviert waren, insbesondere Alexandra, Peter, Brock Craft, Daniel Soltis und all den Leuten, die über Jahre bei den Workshops geholfen haben.
Nicks abschließender Dank gilt seiner Familie: Jeanie, Emily und Finn, die es ihm erlaubten, diese Sache während der Sommerferien durchzuziehen (und natürlich viel länger dauerte, als sie ursprünglich dachten), sowie an seine Eltern Frank und Eva, die ihn dazu erzogen, Dinge auseinanderzunehmen.
Zu guter Letzt möchte ich folgenden Leuten danken:
Joshua Noble, der mich O’Reilly vorstellte. Sein Buch Programming Interactivity sei all denen wärmstens empfohlen, die ihr Wissen um Interaktivität erweitern wollen.
Robert Lacy-Thompson, der mir sehr früh bei der ersten Auflage seine Hilfe anbot.
Mark Margolis für seine Unterstützung und Hilfe als Diskussionspartner bei der Konzeption und Entwicklung dieses Buches.
Ich danke meinen Eltern, die mir halfen zu erkennen, dass die kreativen Künste und Technik keine distinktiven Entitäten sind und dass sie zu außergewöhnlichen Ergebnissen führen können, wenn man sie miteinander kombiniert.
Und schließlich wäre dieses Buch ohne die Unterstützung meiner Frau, Barbara Faden, weder begonnen noch fertiggestellt worden. Mein aufrichtiger Dank gilt ihrer Motivation, ihrem sorgfältigen Lesen des Manuskripts und ihre Beiträge dazu.
Die Neuauflage dieses Buchs folgt recht schnell auf die erste (die Erstauflage wurde nicht ins Deutsche übersetzt). Das wurde durch die Veröffentlichung von Arduino 1.0 nötig. Das genannte Ziel von 1.0 besteht darin, signifikante Änderungen einzuführen, die den Weg für zukünftige Verbesserungen ebnen. Leider funktioniert damit einiger Code nicht nicht mehr, der für ältere Software geschrieben wurde. Das hat dazu geführt, dass Code in vielen Kapiteln des Buches geändert werden musste. Die meisten Änderungen finden sich in Chapter 15, Ethernet und Netzwerke und Chapter 13, Kommunikation per I2C und SPI, doch alle Rezepte dieser Ausgabe wurden auf 1.0 migriert und viele wurden dahingehend aktualisiert, dass sie neue Features dieser Release nutzen. Wenn Sie eine Release vor Arduino 1.0 nutzen, können Sie den Code der ersten Auflage des Buches herunterladen.
Anhang H (steht als Download bereit) wurde hinzugefügt, um die Änderungen zu beschreiben, die mit Arduino Release 1.0 eingeführt wurden. Er erläutert, wie man älteren Code an Arduino 1.0 anpasst.
Rezepte für nicht mehr weit verbreitete Bauelemente wurden für aktuelle Bauteile aktualisiert, und einige neue Sensoren und Drahtlosgeräte wurden hinzugefügt.
An die O’Reilly-Site gepostete Fehler wurden behoben. Wir danken den Lesern, die sich die Zeit genommen haben, uns darüber zu informieren.
Wir denken, dass Ihnen die Verbesserungen an Arduino 1.0 und an dieser Auflage des Arduino Kochbuchs gefallen werden. Die erste Auflage ist gut angekommen. Die konstruktive Kritik teilte sich zwischen Leuten auf, die es technischer haben wollten, und Leuten, die es sich weniger technisch wünschten. Bei einem Buch, bei dem wir auf nur ca. 600 Seiten beschränkt sind (damit es bezahl- und tragbar bleibt), scheint das für ein gutes Gleichgewicht zu sprechen.