0

Embedded Linux mit dem Raspberry Pi

für Ein- und Umsteiger

Erschienen am 29.08.2013, 1. Auflage 2013
27,80 €
(inkl. MwSt.)

Lieferbar innerhalb 1 - 2 Wochen

In den Warenkorb
Bibliografische Daten
ISBN/EAN: 9783907857175
Sprache: Deutsch
Umfang: 256 S.
Format (T/L/B): 1.6 x 21 x 14.8 cm
Einband: kartoniertes Buch

Beschreibung

"Embedded Linux mit dem Raspberry Pi" zeigt den Einsatz von Linux auf der populären Hardware-Plattform Raspberry Pi. Der Untertitel "für Ein- und Umsteiger" soll gleichzeitig verdeutlichen, an wen als Leser mit diesem Buch primär gedacht ist. Hier geht es nicht um Linux als alternatives Betriebssystem für den PC, sondern den Einsatz von Linux in einem Embedded System und um das Embedded System selbst. Die Komplexität heutiger Anforderungen an Elektronikkomponenten ist an vielen Stellen mit den klassischen Konzepten um Mikrocontroller kaum umsetzbar. Hinzu kommt der Preiszerfall in diesem Sektor, der für den Einsatz leistungsfähiger 32-Bit-Mikrocontroller, wie ARM- oder Cortex-Derivate, spricht. Während die leistungsschwächeren (8-Bit-) Mikrocontroller meist ohne Betriebssystem betrieben wurden, kommt man bei den 32-Bit-Mikrocontrollern kaum noch um den Einsatz eines Betriebssystems herum. Das Betriebssystem bietet Schnittstellentreiber, Dateisystem, Multi-Threading u.a. und übernimmt damit wiederkehrenden Aufgaben, für die stabile Softwarekomponenten zur Verfügung stehen. Leistungsfähige und schlanke Linux-Derivate können heute auch auf einfacheren Prozessoren eingesetzt werden und sind frei verfügbar. Die verwendete Linux-Distribution Raspbian stellt einen grafischen Desktop zur Verfügung, der hier aber nicht von primärem Interesse ist. Unser primäres Userinterface hier ist klassisch die Kommandozeile, wie sie vielen Mikrocontroller-Programmierern aus deren Projekten als Terminal-Schnittstelle bekannt ist. Ein grafisches Userinterface ist für viele geschlossene Embedded Systems (deeply embedded) ohnehin nicht erforderlich, oder kann durch ein Web-Interface ersetzt werden. Mit dem Einsatz von Linux in einem Embedded System kommt eine Reihe von neuen Ansätzen auf den Umsteiger aus der konventionellen Mikrocontrollerwelt zu, mit denen wir uns hier erst einmal auseinandersetzen werden. Alle gelisteten Quelltexte und einige Erläuterungen sind unter SourceForge abgelegt (http://sourceforge.net/projects/raspberrypisnip/). Zum Buch existiert ausserdem eine Webseite http://www.ckuehnel.ch/Raspi-Buch.html.

Autorenportrait

Dr. Claus Kühnel studierte und promovierte an der Technischen Universität Dresden (D) im Bereich der Informationselektronik. Es folgte eine Ausbildung in Biomedizintechnik.Heute ist er verantwortlich für die Entwicklung von elektronischer Hardware und hardwarenaher Software für Laborgeräte.Zusätzlich zu diesen beruflichen Aufgaben hat er zahlreiche Artikel und Bücher über Mikrocontroller-Themen veröffentlicht.Der Beitrag "Arduino & Co - Die semiprofessionelle Entwicklungs- und Experimentierplattform wird immer professioneller" ist in der Zeitschrift Elektronik embedded 2011 erschienen und wurde von der Redaktion der Zeitschrift ELEKTRONIK als Artikel des Jahres 2011 ausgezeichnet.

Leseprobe

InhaltsangabeInhalt 1. Raspberry Pi 11 2. Linux als Betriebssystem 12 3. Lizenzen 14 4. LinuxFeatures 17 4.1 UserInterface 17 4.2 Linux Architektur 19 4.3 Kernelspace vs. Userspace 20 4.4 Ein/Ausgabe 21 4.5 Board Support Package (BSP) 22 4.6 Zugriffsrechte 22 4.7 Filesysteme 28 4.8 Filesystem Hierarchy Standard (FHS) 29 4.9 Shell 30 4.9.1 Shell Typen 30 4.9.2 Shell Scripts 31 4.10 Daemons 32 5. LinuxPC 33 6. Raspberry Pi Betriebssystem 41 6.1 Vorbereitung der SD-Card 42 6.2 Raspberry Pi Bootprozess 43 6.3 Konfigurationstool raspi-config 44 6.4 Update Upgrade 53 6.5 Raspberry Pi Applikationen 53 6.5.1 Installierte Applikationen 53 6.5.2 Installation & Deinstallation von Software-Paketen 53 6.6 Programmentwicklung auf dem Raspberry Pi 55 6.6.1 Editoren 55 6.6.2 Compilation und Debugging 61 6.6.3 Adafruit WebIDE 63 7. Entwicklungsumgebung für Embedded Linux 64 7.1 Raspberry Pi im Netzwerk 65 7.2 Zugriff von einem Netzwerk-PC 67 7.2.1 Zugriff über LAN 68 7.2.2 Zugriff über WLAN 70 7.3 Zugriff von einem Android Device 72 7.4 Zugriff über VNC 79 7.5 Web Interface 83 8. CPU Boards 87 8.1 Raspberry Pi 87 8.2 Alternative Linux Boards 92 9. Hinweise zur Inbetriebnahme 94 10. Anwendungen 98 10.1 [Shell] - BoardInfo 99 10.2 System Informationen 104 10.2.1 [Shell] - SysInfo 104 10.2.2 [Shell] - aktuelle CPU-Temperatur 105 10.2.3 [Lua] - aktuelle CPU-Temperatur 106 10.2.4 [Shell] - aktuelle CPU-Frequenz 106 10.3 [Shell] - Datum & Uhrzeit 108 10.4 [Shell] - Cron Jobs 109 10.5 Digitale Ein-/Ausgabe 111 10.5.1 [Shell] - Digitale Ein-/Ausgabe 112 10.5.2 [C] Digitale Ein/Ausgabe 114 10.5.3 [Python] - Digitale Ein-/Ausgabe 116 10.5.4 [Lua] - Digitale Ein-/Ausgabe 117 10.6 [Shell] - Ansteuerung RGB LED 119 10.7 SPI und I2C 124 10.7.1 [C] SPI Test 127 10.7.2 [C] ADUmsetzer MCP3208 am SPI 134 10.7.3 [Shell] - I2C Test 141 10.7.4 [C] AD/DASubsystem am I2CBus 142 10.7.5 [C] ADC Pi 147 10.7.6 Comm Pi 153 10.7.7 [C] RasPiComm 155 10.8 PiFace Digital 156 10.8.1 [C] PiFace 158 10.8.2 [Python] - PiFace 160 10.9 Gertboard 161 10.9.1 [C] GPIO 163 10.9.2 [Python] - GPIO 166 10.10 Arduino Bridge 167 10.10.1 [C] Library arduPi 169 10.10.2 [C] GPIO 171 10.10.3 [C] SPI 174 10.10.4 [C] I2CBus 178 10.10.5 [C] ADConverter 179 10.10.6 [C] UART 184 10.11 GNUBLIN-Module 186 10.12 AlaMode 188 10.13 [Shell] - USB 189 10.14 [Shell] - GNU Plot 192 10.15 [Shell] - Integritätstest von Dateien 197 10.16 Webcam 199 10.16.1 USB Webcam 199 10.16.2 PiEye - Webcam Streaming 204 10.16.3 Raspberry Pi Camera 205 10.17 Android Apps 211 10.17.1 RasPi Check 211 10.17.2 Raspberry Control 212 10.18 Smart IO Expansion Card for Raspberry PI 214 11. Benchmarks 216 11.1 UNIX Bench 216 11.2 Cyclictest 219 11.3 CoreMark 222 11.4 Scimark2 223 12. Shell Kommandos 224 13. Referenzen & Links 226 14. Index 232 15. Abbildungsverzeichnis 238 16. Anhang 244 16.1 Weiterführende Informationen 244 16.2 TFTLCDMonitor an Composite RCA 246 16.3 Raspberry Pi vs. ROW 248 16.4 Raspbian - Installierte Pakete 251 Notizen 270