ebook img

Raspberry Pi – Das technische Handbuch: Konfiguration, Hardware, Applikationsentwicklung PDF

377 Pages·2019·26.788 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Raspberry Pi – Das technische Handbuch: Konfiguration, Hardware, Applikationsentwicklung

Klaus Dembowski Raspberry Pi – Das technische Handbuch Konfiguration, Hardware, Applikationsentwicklung 3. Auflage Raspberry Pi – Das technische Handbuch Klaus Dembowski Raspberry Pi – Das technische Handbuch Konfiguration, Hardware, Applikationsentwicklung 3., erweiterte und aktualisierte Auflage Klaus Dembowski Hamburg, Deutschland Hinweis für die E-Book-Ausgabe: Die beiden Umschlagseiten mit der Schnellübersicht der Rasp- berry Pi-Befehle und die Signalbelegungen des GPIO-Ports stehen auf der Internetseite zum Buch. ISBN 978-3-658-27492-4 ISBN 978-3-658-27493-1 (eBook) https://doi.org/10.1007/978-3-658-27493-1 Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar. Springer Vieweg © Springer Fachmedien Wiesbaden GmbH, ein Teil von Springer Nature 2013, 2015, 2019 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung, die nicht ausdrücklich vom Urheberrechtsgesetz zugelassen ist, bedarf der vorherigen Zustimmung des Verlags. Das gilt insbesondere für Vervielfältigungen, Bearbeitungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verar- beitung in elektronischen Systemen. Die Wiedergabe von allgemein beschreibenden Bezeichnungen, Marken, Unternehmensnamen etc. in diesem Werk bedeutet nicht, dass diese frei durch jedermann benutzt werden dürfen. Die Berechtigung zur Benutzung unterliegt, auch ohne gesonderten Hinweis hierzu, den Regeln des Markenrechts. Die Rechte des jeweiligen Zeicheninhabers sind zu beachten. Der Verlag, die Autoren und die Herausgeber gehen davon aus, dass die Angaben und Informationen in diesem Werk zum Zeitpunkt der Veröffentlichung vollständig und korrekt sind. Weder der Verlag, noch die Autoren oder die Herausgeber übernehmen, ausdrücklich oder implizit, Gewähr für den Inhalt des Werkes, etwaige Fehler oder Äußerungen. Der Verlag bleibt im Hinblick auf geografische Zuordnungen und Gebietsbezeichnungen in veröf- fentlichten Karten und Institutionsadressen neutral. Springer Vieweg ist ein Imprint der eingetragenen Gesellschaft Springer Fachmedien Wiesbaden GmbH und ist ein Teil von Springer Nature. Die Anschrift der Gesellschaft ist: Abraham-Lincoln-Str. 46, 65189 Wiesbaden, Germany Vorwort zur 3. Auflage An der Cambridge University in England wurde ab 2006 an der Entwicklung eines Mini- computers gearbeitet, um den Studenten hiermit ein kostengünstiges System für das Pro- grammieren an die Hand geben zu können. Was auf einer Lochrasterplatine mit einem Prozessor der Firma Atmel startete, nahm durch die Verfügbarkeit von leistungsfähigeren und preisgünstigen ARM-Prozessoren im Jahre 2012 Gestalt an, und zwar in Form des ersten Raspberry Pi auf der Basis eines BCM2835 der Firma Broadcom. Seitdem sind ver- schiedene Versionen davon erschienen, was mittlerweile zu über 18 Millionen verkauften Exemplaren geführt und den Raspberry Pi zum beliebtesten Minicomputer weltweit ge- macht hat, denn jeder zweite, der sich privat oder beruflich mit Elektronik beschäftigt, setzt ihn bereits ein. Minicomputer sind natürlich auch zuvor entwickelt worden und laufend kommen an- dere Modelle – auch als vermeintliche Konkurrenz zum Raspberry Pi – auf den Markt. Wie der Raspberry Pi arbeiten Systeme wie Beagle Bone, Cubieboard, Cubietruck, Panda- board oder der Banana Pi nach einem Open-Source-Konzept ebenfalls mit Prozessoren auf ARM-Basis und bieten eigene Communities. Die verschiedenen Versionen vom Banana Pi sehen den Raspberry Pi Boards sogar zum Verwechseln ähnlich, stammen jedoch nicht von der Raspberry Pi Foundation, sondern aus China. Auch wenn die erwähnten Boards teilweise über eine leistungsfähigere Ausstattung als ein Raspberry Pi verfügen und sich in der gleichen Preisregion bewegen, sind sie dazu nicht kompatibel. Selbst Firmen wie Microsoft und Intel haben eigene Lösungen entwi- ckelt, wobei Intel mit Galileo und Edison sowie Microsoft mit ihrer .NET Gadgeteer- Plattform gegen den Raspberry Pi im Grunde genommen gescheitert sind. Ein Raspberry Pi ist für das, was er zu leisten vermag, sowie funktionstechnisch und preislich gesehen in diesem Bereich nach wie vor die erste Wahl. Neben dem preislichen Aspekt sind die uni- verselle Verwendbarkeit, der einfache Zugang zum System und eine gute Unterstützung von Bedeutung. Das hauptsächlich eingesetzte Raspbian-Betriebssystem auf der Basis von Linux lässt sich schnell und einfach einsetzen, wodurch keine Berührungsängste bei den Anwendern entstehen. Embedded Linux als professionell angesehenes System etwa ist demgegenüber aufwendiger und schwieriger zu installieren, zu administrieren und auch anzuwenden. Im V VI Vorwort zur 3. Auflage Gegensatz zu leistungsfähigeren Systemen, die ebenfalls mit einem ARM-Prozessor ar- beiten, sind für die Applikationserstellung mit dem Raspberry Pi keine Profikenntnisse, weder bei der Programmierung noch beim Schaltungsaufbau, notwendig. Ein wesentliches Argument für den Einsatz eines Raspberry Pi ist die Unterstützung einer weltweit sehr aktiven Community, wie sie kein kommerziell orientiertes Unterneh- men anbietet. Gleichwohl sind die Informationen und Lösungen aus der Community kei- neswegs immer fundiert und korrekt, weil viele Raspberry Pi-Enthusiasten – quasi unge- achtet ihrer jeweiligen Kenntnisse und Erfahrungen – etwas dazu beitragen möchten, wie gehaltvoll dies mitunter auch sein mag. Deshalb verwundert es auch nicht, dass meist einfachere Dinge in unzähligen Ausführungen zu finden sind, was sich auch in Zeitschrif- ten und in Buchform niederschlägt, wobei sogar gravierende Fehler seit Jahren weiter- transportiert werden. Verlässliche Informationen zu komplexeren Eigenschaften und The- men des Raspberry Pi lassen sich hingegen kaum finden, was eigene Messungen, Programmierungen und Schaltungsentwicklungen erfordert, wie sie für dieses Buch durchgeführt worden sind. Dementsprechend geht es in der vorliegenden dritten Auflage des Technischen Hand- buchs für den Raspberry Pi weiterhin darum, das Zusammenspiel der Software mit der Hardware zu verdeutlichen, um dem Leser damit das Entwerfen und die Programmierung eigener Applikationen zu ermöglichen. Der Schwerpunkt liegt auf der Hardware mit den Schnittstellen (LAN, WLAN, GPIO, seriell SPI, I2C, I2S, One-Wire), die für die Kommu- nikation und den Datenaustausch mit Sensoren und anderen Einheiten prädestiniert sind. Es geht weniger darum, Linux oder eine bestimmte Programmiersprache zu erlernen oder um den Einsatz spezieller Peripherie. Als vollwertiger Minicomputer kann der Raspberry Pi auch ohne spezielle elektroni- sche Schaltungen und Programmierarbeiten für typische Computeranwendungen wie Of- fice, Internet oder hochauflösendes Video und als Plattform für den Aufbau von Media- centern sowie Drucker- und NAS-Server eingesetzt werden, was im Kapitel 4 behandelt wird. Zu beachten ist dabei, dass der Raspberry Pi weder ein PC, noch ein Notebook und auch kein Smartphone ist, was mitunter vor lauter Begeisterung etwas aus dem Blickfeld gerät, etwa, wenn der Raspberry Pi den heimischen PC ersetzen oder als Player und Re- corder für HDTV oder auch als NAS-Server im Windows-Netzwerk fungieren soll. Es ist wichtig, dass die limitierten Ressourcen des Raspberry Pi stets mit beachtet werden. Der Raspberry Pi 4 Modell B ist für derartige Anwendungen am besten geeignet, weil er bis zu 4 GByte- Speicher, USB 3.0 und zwei HDMI-Anschlüsse bietet. Generell eignet sich der Raspberry Pi aufgrund der Schnittstellenvielfalt und des Open-Source-Betriebssystems Linux hervorragend für die Systementwicklung, sodass er mittlerweile auch im professionellen Bereich als Embedded System, etwa für die Industrie- automatisierung, eingesetzt wird. Viele Proof-of-Concept-Untersuchungen basieren auf einer Raspberry Pi-Plattform. Eine Weiterentwicklung der üblichen Raspberry Pi- Ausführungen für die industrielle Anwendung bieten die Raspberry Pi Compute Modules, Vorwort zur 3. Auflage VII die als Modul angeboten werden und um die jeweils notwendigen Komponenten und Schnittstellen, wie eine 24 V-Versorgung sowie RS232/485 und CAN erweitert werden, was bei entsprechenden Kenntnissen und Erfahrungen in Eigenregie realisiert wird oder auch von Anbietern aus der Industrieautomatisierung hinzugekauft werden kann, worauf im letzten Kapitel näher eingegangen wird. Geesthacht, Januar 2020 Klaus Dembowski Inhaltsverzeichnis 1 Einführung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Intention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Raspberry Pi-Entwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Open Source und Maker Scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Raspberry Pi-Modelle im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Schnellstart ...................................................... 15 2.1 Betriebssystem auf die SD-Karte schreiben . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.2 Anschließen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.1 Netzteil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.2 Tastatur und Maus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2.3 Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.3 Einschalten und booten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3 Hardware ........................................................ 35 3.1 ARM-Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.2 Speichereinheiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.2.1 SDRAM-Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.2.2 Flash-Speicher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.2.3 SD Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.2.4 Embedded Multimedia Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.3 Grafikeinheit – Video Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.3.1 HDMI und DVI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.3.2 Composite Video . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.4 Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3.5 Ethernet und USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 3.5.1 LAN9512- und LAN9514-Controller . . . . . . . . . . . . . . . . . . . . . . . . 72 3.5.2 PHY und MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.5.3 Netzwerkverbindung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.5.4 TAP- und USB-Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.5.4.1 Polyfuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 IX X Inhaltsverzeichnis 3.5.5 LAN7515-Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 3.5.6 USB 3.0-Controller − VL 805 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 3.5.7 Ethernet-Transceiver − BCM5421 . . . . . . . . . . . . . . . . . . . . . . . . . . 81 3.6 WLAN und Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.6.1 CYW43438 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3.6.2 CYW43455 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 3.7 CSI- und DSI-Schaltung − Camera & Display . . . . . . . . . . . . . . . . . . . . . . . 86 3.8 General Purpose Input Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.8.1 Expansion Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.8.2 4 0 Pin Expansion Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 3.8.3 A lternative Belegungen beim Raspberry Pi 4 . . . . . . . . . . . . . . . . . . 96 3.9 Spannungsversorgung und Taktung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 3.10 Taktschaltungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 3.11 Reset-Schaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 4 Konfigurierung und Optimierung .................................... 113 4.1 Raspi-Config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 4.1.1 Länderspezifische Einstellungen − Localisation Options . . . . . . . . . 114 4.1.1.1 Nationale Zeichensätze – Change Locale . . . . . . . . . . . . . 115 4.1.1.2 Gebiet und Zeitzone – Change Timezone . . . . . . . . . . . . . 116 4.1.1.3 Tastatureinstellungen – Change Keyboard Layout . . . . . . . 116 4.1.1.4 WLAN-Ländereinstellung – Change Wi-Fi Country . . . . . 117 4.1.2 Kennwort ändern − Change User Password . . . . . . . . . . . . . . . . . . . 117 4.1.3 Netzwerkeinstellungen − Network Options . . . . . . . . . . . . . . . . . . . 118 4.1.3.1 Computername im Netzwerk − Hostname . . . . . . . . . . . . . 118 4.1.3.2 WLAN-Kennung − WiFi SSID . . . . . . . . . . . . . . . . . . . . . 118 4.1.3.3 Netzwerkadapterbezeichnungen − Network Interface Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.1.4 Start-Funktionen − Boot Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.1.5 Schnittstellen aktivieren − Interfacing Options . . . . . . . . . . . . . . . . . 119 4.1.6 Übertakten − Overclock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.1.7 Erweiterte Optionen − Advanced Options . . . . . . . . . . . . . . . . . . . . 122 4.1.7.1 Dateisystem anpassen − Expand Filesystem . . . . . . . . . . . 122 4.1.7.2 Monitorabstimmung − Overscan, Resolution, Pixel Doubling, GL Driver . . . . . . . . . . . . . . . . . . . . . . . . . 123 4.1.7.3 Speicheraufteilung − Memory Split . . . . . . . . . . . . . . . . . . 124 4.1.7.4 Tonausgang bestimmen − Audio . . . . . . . . . . . . . . . . . . . . 124 4.1.8 Aktualisieren − Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.1.9 Information − About raspi-config . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.2 Netzwerkverbindungen und -Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . 125 4.2.1 Ethernet-Verbindung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 4.2.2 D ynamic Host Configuration Protocol – DHCP . . . . . . . . . . . . . . . . 128 4.2.3 Übersicht und Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.