Advamation-Logo (Druckversion)

Raspberry Pi

Stand:2015-01-09

Der Raspberry Pi ist ein kleiner, sehr preiswerter und in großen Stückzahlen gefertigter Einplatinencomputer auf ARM-Basis, auf dem Linux läuft.

Die Rechenleistung des Raspberry Pi ist zwar deutlich niedriger als die von aktuellen PCs und sogar etwas geringer als die von Intel Atoms, für viele Zwecke ist sie aber dennoch ausreichend. Insbesondere als Basis für einen kleinen embedded-PC z.B. für Steuerungs-/Automatisierungsaufgaben ist der Raspberry Pi sehr gut geeignet.

Foto des Raspberry Pi, Modell B+ Foto des Raspberry Pi, Modell B
Raspberry Pi, Modell B+ Raspberry Pi, Modell B

Auf dieser Seite sollen einige wichtige technische Informationen sowie verschiedene nützliche Hinweise zum Raspberry Pi gesammelt bzw. verlinkt werden, die sonst nur etwas verstreut auf verschiedenen Seiten zu finden sind. Weitere und detailliertere Informationen finden sich teilweise im Raspberry Pi Blog, im Raspberry Pi Wiki, im Raspberry Pi Forum und auf diversen weiteren Webseiten.

Zu beachten ist jedoch, dass:

  • die Raspberry Pi Foundation leider relativ wenig Dokumentation veröffentlicht, und somit die meisten Informationen inoffiziell sind,
  • einige Informationen nur von anderen Seiten übernommen und nicht nachgeprüft wurden, und
  • sich die technischen Daten etc. des Raspberry Pis mit der Zeit ändern können.

Sollten Sie Fehler auf dieser Seite finden, so bitten wir Sie, uns per E-Mail zu benachrichtigen.

Spezifikationen

Modell B+ Modell B, Rev. 2 Modell A+ Modell A
System-on-a-chip Broadcomm BCM2835 / BCM2708 family
CPU 700 MHz ARM11 (ARM1176JZF-S)
GPU Broadcomm VideoCore IV
RAM 512 MB 512 MB 256 MB 256 MB
Speichermedium microSD-Karte SD-Karte microSD-Karte SD-Karte
USB 2.0 4 (interner Hub) 2 (interner Hub) 1 1
Netzwerk 10/100 MBit Ethernet 10/100 MBit Ethernet -- --
Videoausgänge HDMI, Composite (alternativ verwendbar) [1]
Audioausgänge 3.5mm Klinkenbuchse, HDMI
GPIO 26 (+I2C HAT-ID) 17 (P1) + 4 (P5) 26 (+I2C HAT-ID) 17 (P1) + 4 (P5)
Stromversorgung 5V per Micro-USB- oder GPIO-Steckverbinder
Stromverbrauch 650mA / 3.0W 700mA / 3.5W   500mA / 2.5W
Maße 85.6mm * 56mm * 21mm 65mm * 56mm 85.6mm*56mm
Gewicht ca. 42g ca. 40g ? ?
Temperaturbereich 0..70°C (vermutlich)
Betriebssystem Linux
Preis ca. $35 + MWSt. ca. $35 + MWSt. ca. $20 + MWSt. ca. $25 + MWSt.
[1]Modell B+: Composite-Ausgang nur mit Adapter und nur alternativ zur 3.5mm Klinkenbuchse verwendbar.

Siehe auch: http://elinux.org/RPi_Hardware

Modelle

Es existieren verschiedene Modelle und Revisionen des Raspberry Pi. Derzeit werden aber eigentlich nur Modell B+, Modell A+ sowie Modell B Rev. 2 verkauft. Wir empfehlen, für alle neuen Projekte das Modell B+ (bzw. ggf. A+) einzusetzen.

  • Modell B+: Insgesamt verbessertes Modell, insbesondere:
    • Steckverbinder:
      • verbesserte Steckverbinder-Positionen (Steckverbinder nur noch auf 2 Seiten der Platine, bündige Ethernet- und USB-Steckverbinder)
      • 40-poliger GPIO-Steckverbinder
      • 4 USB-Buchsen (statt 2)
      • Composite-Ausgang auf 3.5mm-Klinkenbuchse (zusammen mit 3.5mm-Audio-Ausgang)
    • Befestigung: 4 Bohrlöcher am Rand (statt 2 mitten im Board)
    • Speicherkarte: microSD-Karte statt SD-Karte
    • verbesserte Stromversorgung (Schaltnetzteil, bessere Stabilität)
    • verbesserte Audio-Qualität
    • HAT-Spezifikation
    • 512 MB RAM (wie Modell B Rev. 2)
    • siehe auch: http://www.raspberrypi.org/products/model-b-plus/, http://www.raspberrypi.org/introducing-raspberry-pi-model-b-plus/
  • Modell A+: wie Modell B+, jedoch
  • Modell B: älteres/ursprüngliches Modell
    • Revision 2 / 512MB: aktuelle Version
    • Revision 2 / 256MB: nur 256 MB RAM
      (Die ersten Raspberry Pis der Revision 2 enthielten nur 256 MB RAM. Dies dürften aber nur relativ wenige sein.)
    • Revision 1.0+ECN0001
    • Revision 1.0: erste Version, ähnlich der aktuellen Version, jedoch
      • mit nur 256 MB RAM
      • ohne Befestigungslöcher
      • ohne Steckverbinder P5 (zusätzliche I/O-Pins)
      • ohne Steckverbinder P6 (Reset)
      • mit einigen vertauschten GPIOs, sowie vertauschten I2C-Bussen
        (GPIO0<->GPIO2, GPIO1<->GPIO3, GPIO21<->GPIO27)
      • mit einigen weiteren kleineren Unterschieden [2]
    • siehe auch: http://www.raspberrypi.org/products/model-b/
  • Modell A: wie Modell B Rev. 2, jedoch

Das Modell und die Revision eines laufenden Raspberry Pis können aus dem Revision :-Eintrag in /proc/cpuinfo abgelesen werden [3]:

/proc/cpuinfo Modell / Revision
Revision:  
0x02 Modell B, Revision 1.0
0x03 Modell B, Revision 1.0+ECN0001
0x04 / 0x05 / 0x06 Modell B, Revision 2.0, 256 MB RAM
0x07 / 0x08 / 0x09 Modell A, Revision 2.0, 256 MB RAM
0x0d / 0x0e / 0x0f Modell B, Revision 2.0, 512 MB RAM
0x10 Modell B+, Revision 1.0, 512 MB RAM
0x11 Compute Module, Revision 1.0, 512 MB RAM
0x12 Modell A+, Revision 1.0, 256 MB RAM

Zudem kann der Hersteller abgelesen werden:

  • 0x04 / 0x08 / 0x0e / 0x10 / 0x11 / 0x12: Sony
  • 0x05 / 0x09 / 0x0f: Quisda
  • 0x06 / 0x07 / 0x0d: Egoman
[2]Alle Unterschiede sind auf http://www.raspberrypi.org/archives/1929 zu finden.
[3]http://elinux.org/Rpi_HardwareHistory, http://www.raspberrypi.org/phpBB3/viewtopic.php?f=63&t=32733

Maße

  • Maßzeichnung:

  • Platinen-Größe:

    • Modell B+: 85mm * 56mm * 20mm
    • Modell A: 65mm * 56mm * ??
    • Modell B: 85.6mm * 56mm * 21mm
    • Modell A: 85.6mm * 56mm * ??
  • Höhe (Modell B/B+):

    • ca. 16-17mm oberhalb der Platine
    • ca. 1.6mm Platinendicke
    • ca. 3mm (Modell B+) bzw. 3.8mm (Modell B) unterhalb der Platine
  • Befestigungslöcher:

    • Modell B+:
      • Anzahl:4
      • Durchmesser: 2.75mm (für M2.5)
      • Abstände: 58 * 49mm
      • Position: siehe Zeichnung
    • Modell B Rev. 2 [4]:
      • Anzahl: 2
      • Durchmesser 2.9mm (für M2.5; manche M3-Schrauben funktionieren ebenfalls)
      • Abstände von der Micro-USB-Ecke:
        • x 25.5mm, y 18.0mm
        • x 80.1mm, y 43.6mm
[4]http://www.raspberrypi.org/archives/2691,
http://www.raspberrypi.org/wp-content/uploads/2012/12/Raspberry-Pi-Mounting-Hole-Template.png

I/O-Steckverbinder / GPIOs

Siehe auch: http://elinux.org/Rpi_Low-level_peripherals

Die Nummerierung der GPIOs orientiert sich an der internen Nummerierung im Broadcomm Prozessor (z.B. GPIO7). Da dies für Anwender leider wenig intuitiv ist, wird von uns die Nummerierung anhand der Pin-Position bevorzugt (z.B. P1-26).

Zu beachten ist, dass alle GPIOs mit 3.3V laufen, und nicht 5V-tolerant sind! Werden 5V-tolerante Eingänge benötigt, so sollte eine zusätzliche externe Elektronik (z.B. Spannungsteiler oder CPLD) dazwischengeschaltet, oder eine entsprechende Erweiterungsplatine (z.B. unser AdvaBoard RPi1) verwendet werden. Erweiterungsplatinen können darüber hinaus den Anschluss externer Peripherie an den Raspberry Pi und die Steckverbinder vereinfachen, indem sie z.B. getrennte und in einer sinnvollen Reihenfolge belegte Steckverbinder für Digital-/Analog-I/O, SPI, I2C, RS232 usw. verwenden (siehe z.B. AdvaBoard RPi1).


Modell B+ / A+:

Steckverbinder P1, Pin 1..40

Lage der GPIO-Pins, Modell B+/A+
Modell B+/A+ GPIO-Pins, RPi-Ecke links oben
Lage der GPIO-Pins, Modell B+/A+
Modell B+/A+ GPIO-Pins, RPi-Ecke rechts unten

Modell A / B:
Steckverbinder P1, Pin 1..26
(Steckverbinder P5, Pin 1..8)
Lage der GPIO-Pins, Modell A/B Lage der GPIO-Pins, Modell A/B
Modell A/B GPIO-Pins, RPi-Ecke links oben Modell A/B GPIO-Pins, RPi-Ecke rechts unten

P1:

26 I/Os (Modell B+/A+) bzw. 17 I/Os (Modell B/A; nur Pin P1-1..P1-26)

GPIO-Steckverbinder P1
GPIO-Steckverbinder P1, RPi-Ecke rechts unten
Pin GPIO-Nummer Standard-Funktion Alternativ-Funktionen
    allg. UART I2C/SPI BSCL PCM
P1-1 +3.3V Ausgang, max. 50mA          
P1-2 +5V, Stromversorgung          
P1-3 GPIO2 [r] I/O     I2C1 SDA    
P1-4 +5V (=P1-2)          
P1-5 GPIO3 [r] I/O     I2C1 SCL    
P1-6 Masse / Ground          
P1-7 GPIO4 I/O GPCLK0        
P1-8 GPIO14 UART-TX I/O TXD0/1      
P1-9 Masse / Ground          
P1-10 GPIO15 UART-RX I/O RXD0/1      
P1-11 GPIO17 I/O   RTS0/1 SPI1-CE1    
P1-12 GPIO18 I/O PWM0   SPI1-CE0 SDA/MOSI PCM_CLK
P1-13 GPIO27 [r] I/O          
P1-14 Masse / Ground          
P1-15 GPIO22 I/O          
P1-16 GPIO23 I/O          
P1-17 +3.3V Ausgang (=P1-1)          
P1-18 GPIO24 I/O          
P1-19 GPIO10 I/O     SPI0-MOSI    
P1-20 Masse / Ground          
P1-21 GPIO9 I/O     SPI0-MISO    
P1-22 GPIO25 I/O          
P1-23 GPIO11 I/O     SPI0-SCLK    
P1-24 GPIO8 I/O     SPI0-CE0    
P1-25 Masse / Ground          
P1-26 GPIO7 I/O     SPI0-CE1    
P1-27 ID_SD          
P1-28 ID_SC          
P1-29 GPIO5 I/O GPCLK1        
P1-30 Masse / Ground          
P1-31 GPIO6 I/O GPCLK2        
P1-32 GPIO12 I/O PWM0        
P1-33 GPIO13 I/O PWM1        
P1-34 Masse / Ground          
P1-35 GPIO19 I/O PWM1   SPI1-MISO SCL/SCLK PCM_FS
P1-36 GPIO16 I/O   CTS0/1 SPI1-CE2    
P1-37 GPIO26 I/O          
P1-38 GPIO20 I/O GPCLK0   SPI1-MOSI MISO PCM-DIN
P1-39 Masse / Ground          
P1-40 GPIO21 I/O GPCLK1   SPI1-SCLK CE PCM-DOUT

Standardmäßig sind die GPIOs P1-8 und P1-10 als UART konfiguriert.

[r](1, 2, 3)

Bei Revision 1 gilt stattdessen:

  • P1-3: GPIO0, I2C0 SDA
  • P1-5: GPIO1, I2C0 SCL
  • P1-13: GPIO21
Modell B/A P5 (ab Rev. 2, standardmäßig ohne eingelötete Stiftleiste):

4 I/Os, gedacht als 2. I2C oder PCM-Ausgang

GPIO-Steckverbinder P5
GPIO-Steckverbinder P5, RPi-Ecke rechts unten
Pin GPIO-Nummer Standard-Funktion Alternativ-Funktionen
P5-1 5V  
P5-2 +3.3V (max. 50mA, zusammen mit P1)
P5-3 GPIO28 I/O I2C0 SDA, PCM CLK
P5-4 GPIO29 I/O I2C0 SCL, PCM FS
P5-5 GPIO30 I/O PCM DIN
P5-6 GPIO31 I/O PCM DOUT
P5-7 Masse / Ground  
P5-8 Masse / Ground  

Zu beachten ist, dass P5 dazu gedacht ist, eine Stiftleiste auf der Unterseite einzulöten, und deshalb die Reihenfolge der Pin-Nummerierung umgekehrt ist als bei P1.

Performance

CPU:
Die CPU-Rechenleistung des Raspberry Pi entspricht angeblich in etwa der eines Intel Pentium2 mit 300MHz [5].
Overclocking:

Der Raspberry Pi darf (ohne Garantieverlust) bis auf 1 GHz übertaktet werden. Allerdings sollte dann in jedem Einzelfall geprüft werden, ob der übertaktete Raspberry Pi noch stabil läuft. Darüber hinaus treten vermehrt Instabilitäten und Datenverluste im Zusammenhang mit übertakteten Raspberry Pis und Class 6-/Class 10-SD-Karten auf. [6]

Wir würden generell nicht empfehlen, den Raspberry Pi zu übertakten. Bei Verwendung von Class-6- oder Class-10-SD-Karten raten wir darüber hinaus dringend vom Übertakten ab.

GPU:
Die GPU-Leistung beträgt angeblich 1 GPixel/s / 1.5GTexel/s / 24 GFLOPs, was etwa dem Xbox-1-Niveau entspricht [5].
USB:
Der Raspberry Pi erreicht USB-Transferraten um die 30 MB/s [7].
Allerdings ist zu beachten, dass sich meist mehrere Geräte diese USB-Transferrate teilen, da z.B. auch Ethernet beim Raspberry Pi über USB angebunden ist.

Einige Benchmarks sind auf der Seite http://elinux.org/RaspberryPiPerformance zu finden.

[5](1, 2) http://elinux.org/RPi_FAQ#How_powerful_is_it.3F
[6]http://www.raspberrypi.org/archives/tag/overclocking,
http://elinux.org/RPi_FAQ#Will_it_overclock.3F,
http://elinux.org/RPiconfig#Overclocking
[7]

getestet mit einem schnellen USB-Stick:

root@raspberrypi:~# dd if=/dev/sda of=/dev/null bs=32M count=10 iflag=direct
10+0 records in
10+0 records out
335544320 bytes (336 MB) copied, 10.6428 s, 31.5 MB/s

Stromaufnahme

Spezifizierte Stromaufnahme:

  • Modell A: 500mA
  • Modell B: 700mA
  • Modell B+: ca. 650mA

Gemessene Stromaufnahme des Raspberry Pi (Modell B, Rev. 1), ohne Netzteil-Verluste:

Testbedingung Stromaufnahme Anmerkungen
Boot 0.3 A ohne eingesteckte Peripherie (HDMI, Tastatur etc.)
LAN + SSH 0.3 A nur LAN-Kabel eingesteckt, kein HDMI, keine Tastatur
LAN + SSH + 100% CPU-Last 0.3 - 0.4 A "
LAN + SSH + USB-WLAN-Stick 0.50 - 0.55 A "

Linux

Auf dem Raspberry Pi läuft ein normales, vollwertiges Linux [8]. Linux-Images für den Raspberry Pi können von der Raspberry-Pi-Webseite heruntergeladen werden. Dabei existieren derzeit offizielle Images für Debian Linux, Raspbian, Arch Linux, Pidora; darüber hinaus gibt es viele Linux-Distributionen mit Rasbperry Pi-Unterstützung und ein Installationsprogramm namens NOOBS.

  1. Linux-Image oder NOOBS herunterladen:

  2. Linux-Image auf SD-Karte transferieren:

    Nach dem Download muss das Image -- wie auf der Download-Seite oder im Raspberry Pi Wiki für Anfänger bzw. Fortgeschrittene beschrieben -- auf eine SD-Karte transferiert werden. Benutzt man dazu Linux und dd, so sollte der Parameter oflag=direct verwendet werden, da ohne diesen Parameter das Kopieren deutlich länger dauert, z.B.:

    dd if=2013-09-25-wheezy-raspbian.img of=/dev/sd... bs=1M oflag=direct
    
  1. SD-Karte in Raspberry Pi stecken und Raspberry Pi ans Stromnetz anschließen.

    Beim 1. Booten muss dazu üblicherweise ein HDMI-Monitor und eine USB-Tastatur angesteckt sein, um den Raspberry Pi zu konfigurieren. Soll der Raspberry Pi jedoch ohne Monitor/Tastatur gebootet und konfiguriert werden, so kann -- wie weiter unten beschrieben -- eine serielle Konsole verwendet werden.

  2. Raspberry Pi konfigurieren, z.B. per sudo raspi-config (Falls ein Monitor angeschlossen ist, wird der raspi-config-Konfigurationsdialog direkt beim 1. Booten angezeigt.)

Die Boot-Dauer des Raspberry Pi ist dabei stark vom gewählten Betriebssystem und dessen Konfiguration abhängig. Insbesondere die Verwendung von systemd -- die z.B. bei Arch Linux standardmäßig aktiviert ist -- kann die Boot-Dauer erheblich reduzieren (z.B. 13s statt 24s).

[8]Im Gegensatz zu Routern und einigen anderen kleinen ARM-Rechnern (wie z.B. Carambola oder Gnublin), auf denen häufig nur ein spezielles embedded-Linux (meist OpenWRT) läuft.

SD-Karten

Kompatibilität:
Laut http://elinux.org/RPi_SD_cards sind nicht alle SD-Karten mit dem Raspberry Pi kompatibel; insbesondere einige "Class 10"-Karten sind wohl etwas problematisch.
Kapazität:

Die Kapazität von SD-Karten wird üblicherweise in GB = 109Byte = 1 Mio. Bytes angegeben. Dies unterscheidet sich von dem im Computerbereich häufig verwendeten GiB = 230Byte.

Eine SD-Karten-Kapazität von 8 GB entspricht daher ca. 8000000000 Byte bzw. 7,45 GiB:

Kartengröße Byte GiB
4 GB ca. 4 000 000 000 ~ 3.72 GiB
8 GB ca. 8 000 000 000 ~ 7.45 GiB
16 GB ca. 16 000 000 000 ~ 14.9 GiB
32 GB ca. 32 000 000 000 ~ 29.8 GiB
Geschwindigkeit:

Die Geschwindigkeit der SD-Karte hat einen gewissen Einfluss auf die Raspberry Pi-Performance.

Bei SD-Karten sind üblicherweise zwei Geschwindigkeitswerte angegeben:

  • Class-Angabe: Die "Class"-Angabe gibt die minimale Lese- und Schreibgeschwindigkeit einer (leeren) SD-Karte in MB/s (106Byte/s) an:
    • "Class 2": 2 MB/s
    • "Class 4": 4 MB/s
    • "Class 6": 6 MB/s
    • "Class 10": 10 MB/s
    • "Class U1" / "UHS Class 1": 10 MB/s
    • "Class U3" / "UHS Class 3": 30 MB/s
  • MB/s-Angabe: Die häufig zusätzlich angegebene Geschwindigkeit in "MB/s" liegt meist deutlich oberhalb der Class-Angabe, entspricht üblicherweise der maximal erreichbaren Lesegeschwindigkeit.

Neben der reinen Datenübertragungsrate sind die Zugriffszeit und die Geschwindigkeit beim Schreiben kleiner Datenblöcke relevant. Leider geben die Hersteller hierzu keine Informationen bekannt, so dass diese nur durch Tests der jeweiligen Karten ermittelt werden können.

Die Lese-Geschwindigkeit ist bei vielen SD-Karten relativ ähnlich; die Haupt-Geschwindigkeitsunterschiede ergeben sich beim Schreiben, insbesondere beim Schreiben vieler kleiner Dateien. Schnelle Karten erreichen selbst beim Schreiben von kleinen Dateien noch mindestens 1MB/s, mittelschnelle einige 100kB/s, langsame unter 100kB/s.

Die Ergebnisse eigener Tests sind in der unten stehenden Tabelle angegeben. Informationen zu weiteren SD-Karten können im Raspberry Pi Wiki unter http://elinux.org/RPi_SD_cards gefunden werden.

Testtabelle:

SD-Karten:

Hersteller Modell Größe Klasse RPi- lesen [MB/s] schreiben [MB/s] Bootdauer
      komp.? RPi CrystalDiskMark RPi CrystalDiskMark Raspbian Arch
        dd seq. 512K 4k dd seq. 512k 4k    
SanDisk
Ultra 30MB/s
SDSDU-008G
8 GB Class 10 +   34.5 33.2 4.3   14.2 1.4 1.2    
SanDisk
Ultra 30MB/s
SDSDU-016G
16 GB Class 10 +   34.4 33.2 4.1   13.1 1.4 2.1    
SanDisk
Extreme 45MB/s
SDSDX-016G
16 GB Class U1 +   34.4 33.8 5.4   14.3 12.3 2.5 24s 13s
nicht mehr erhältliche Karten:
Sandisk Ultra 15MB/s 2 GB   + 22.6               27s  
Samsung MB-SS4GA 4 GB Class 4 + 22.0 21.7 20.7 2.8-3.2   6.9 0.9 0.1-0.3 26-27s  
Samsung MB-SS8GA 8 GB Class 6 + 22.6               26s  

microSD-Karten:

Hersteller Modell Größe Klasse RPi- lesen [MB/s] schreiben [MB/s] Bootdauer
      komp.? RPi CrystalDiskMark RPi CrystalDiskMark Raspbian Arch
        dd seq. 512K 4k dd seq. 512k 4k    
RaspberryPi microSD-Karte 8 GB Class 4 +                    
Samsung plus MB-MP 8G 8 GB Class 6 + 17.5               27s 17s
Transcend TS16GUSDHC6 16 GB Class 6 + 22.7               26s  
Sandisk Ultra (SU32G) 32 GB Class U1 + 21.4               25s  

Testbedingungen:

  • lesen/schreiben RPi: gemessen unter Raspbian mit dd if=/dev/... of=/dev/null bs=32M count=10 iflag=direct bzw. dd of=/dev/... if=/dev/zero bs=32M count=10 oflag=direct.

  • CrystalDiskMark: Windows-PC, Kartenleser Transcend RDF5 an USB 2.0, 5*1000MB, seq. read/write und random read/write

  • Bootdauer: Zeit bis zum Login-Prompt auf der Konsole,
    Raspbian: Standard-Raspbian mit SysVInit,
    Arch: Standard-Arch Linux mit systemd
  • Wie bei allen Benchmarks unterliegen auch diese Werte gewissen (Mess-)Schwankungen.

Größe/Überstand:

Da sich der SD-Karten-Halter des Raspberry Pi am Rand der Platine befindet, steht eine eingesteckte SD-Karte ca. 17.5mm über die Platine hinaus. Ist dies nicht gewünscht, so kann eine microSD-Karte mit einem speziellen Adapter verwendet werden:

Alternativ besteht bei einigen SD-Karten die Möglichkeit, diese zu "kürzen": Die Gehäuse einiger SD-Karten sind nur etwa bis zur Hälfte mit Elektronik gefüllt, die andere Hälfte ist leer. Bei diesen SD-Karten könnte die leere Hälfte abgeschnitten (und das Gehäuse wieder versiegelt) werden. Hierzu eignen sich insbesondere SD-Karten von SanDisk, da diese oft ein halbdurchsichtiges Gehäuse besitzen, und man dadurch die unbenutzten Teile des Gehäuses erkennen kann (siehe Foto). Neuere SD-Karten von SanDisk besitzen jedoch leider stattdessen häufig ein schwarzes, nichtdurchsichtiges Gehäuse.

SanDisk SDSDX-016G von hinten
halbleere SanDisk SDSDX-016G von hinten
(zum Vergrößern anklicken)

serielle Konsole / serieller Login (über USB)

Die für den Raspberry Pi angebotenen SD-Karten-Linux-Images sind darauf ausgelegt, dass man den Raspberry Pi zunächst mit einem angeschlossenen HDMI-Display und einer angeschlossenen USB-Tastatur startet, und den Raspberry Pi darüber konfiguriert. Nach der Konfiguration kann der Raspberry Pi dann auch ohne Display/Tastatur betrieben werden, und z.B. über das Netzwerk administriert werden.

Will man jedoch beim 1. Start an den Raspberry Pi kein HDMI-Display und keine Tastatur anschließen, so muss man:

  • entweder das Linux-Image derart abändern, dass dies nicht notwendig ist, z.B. indem man eine Netzwerkkonfiguration integriert. Dies ist allerdings nur mit guten Linux-Kenntnissen zu bewerkstelligen.

  • oder die serielle Konsole von Linux verwenden, und den Raspberry Pi von einem anderen Computer aus bedienen. Dazu benötigt man allerdings ein paar Adapter.

    Eine serielle Konsole ist im Übrigen nicht nur bei der Installation nützlich, sondern oft auch bei der Administration hilfreich, falls der Raspberry Pi (zeitweise oder dauerhaft) nicht über das Netzwerk erreichbar ist.

Teile für eine serielle Konsole
RS232-TTL-Umsetzer (links), USB-RS232-TTL-Umsetzer (mitte), 2 USB-Seriell-Adapter + Null-Modem (rechts)

Für die 2. Lösung benötigt man normalerweise einige Drähte und einen RS232-TTL-Umsetzer (oder einen USB-RS232-TTL-Umsetzer), um die serielle Schnittstelle auf dem GPIO-Steckverbinder des Raspberry Pi mit der seriellen Schnittstelle eines anderen Computers zu verbinden. [9] Verbindet man sich damit mit dem Raspberry Pi, so bekommt man (a) sämtliche Bootmeldungen des Kernels zu sehen und kann sich (b) über die serielle Leitung einloggen.

Alternativ dazu kann man auch 2 USB-Seriell-Umsetzer und einen sogenannten "Nullmodem"-Stecker verwenden. Das Linux-Image muss dann geringfügig angepasst werden. Allerdings bekommt man in diesem Fall die Bootmeldungen des Kernels nicht zu sehen, sondern kann sich "nur" einloggen, was aber oft ausreicht. Der Vorteil dieser Lösung ist, dass dies insgesamt einfacher sein dürfte: Sie kommt ohne "Bastelarbeit" aus, benötigt keinen Zugang zu den GPIO-Pins und keine konfigurierten UART-Pins (P1-8 / P1-10), funktioniert auch bei Raspberry Pis, die in ein Gehäuse eingebaut sind, und verwendet gängigere Adapter.

Serielle Konsole über USB
Serielle Konsole über USB

Anleitung für einen seriellen Login über USB:

  1. Linux-Image anpassen:
  • SD-Karte mit Raspberry-Pi-Linux-Image an PC anschließen (z.B. mittels Kartenleser)

  • Folgende Zeile zum Ende der Datei /etc/inittab auf der SD-Karte hinzufügen:

    # for Debian Linux:
    T1:23:respawn:/sbin/getty -L ttyUSB0 115200 linux
    
    # for Arch Linux:
    # S1:12345:respawn:/sbin/agetty ttyUSB0 115200 linux
    
  • SD-Karte entfernen und in Raspberry Pi stecken

  1. USB-Seriell-Adapter anschließen:

    2 USB-Seriell-Adapter mittels Nullmodem verbinden und die beiden Enden (USB-A-Stecker) am Raspberry Pi und am PC einstecken.

    Besitzt der PC noch eine serielle Schnittstelle, so kann dort direkt der Nullmodem-Stecker angesteckt und auf den 2. USB-Seriell-Adapter verzichtet werden. In diesem Fall muss unter 3. /dev/ttyUSB0 durch /dev/ttyS0 ersetzt werden.

    Manche USB-Seriell-Adapter werden vom Raspberry Pi derzeit noch nicht erkannt. In diesem Fall sollte ein anderer Adapter (mit einem anderen Chipsatz) verwendet werden.

  2. Serielle Konsole verbinden:

Hierbei gibt es unter Linux mehrere Programme:

Programm Aufruf Beenden
screen screen /dev/ttyUSB0 115200 Ctrl-A
minicom minicom -b 115200 -o -c on -D /dev/ttyUSB0 Ctrl A Z q
picocom picocom -b 115200 -i -r /dev/ttyUSB0 Ctrl-A Ctrl-X
putty putty -serial -sercfg 115200 /dev/ttyUSB0 Fenster schließen
gtkterm gtkterm, Configuration -> Port Fenster schließen

Informationen zu weiteren Programmen und zur Nutzung unter Windows finden sich auf http://elinux.org/RPi_Serial_Connection.

Zu beachten ist, dass:

  • minicom Probleme mit der Farbdarstellung bei raspi-config hat
  • putty und gtkterm unter X laufen, und grafisch konfiguriert werden können (Schnittstelle /dev/ttyUSB0, Baudrate 115200)
  • Falls mehrere USB-Seriell-Adapter am PC betrieben werden, oder falls ein USB-Seriell-Adapter mehrfach ein- und ausgesteckt wurde, muss evtl. /dev/ttyUSB0 durch /dev/ttyUSB1, /dev/ttyUSB2 o.ä. ersetzt werden.
  • Der Nutzer auf dem PC unter Linux üblicherweise der Gruppe "dialout" angehören muss, um auf die serielle Schnittstelle/den USB-Seriell-Adapter zugreifen zu dürfen. Dies kann durch adduser USERNAME dialout als root und newgrp dialout als Anwender bewerkstelligt werden.
  1. Raspberry Pi booten. Sobald der Raspberry Pi gebootet hat, erscheint (evtl. nach der Eingabe von <Enter>) eine Login-Aufforderung im screen/minicom/picocom/putty/gtkterm-Fenster auf dem PC. Nach dem Login kann der Raspberry Pi z.B. per sudo raspi-config grundlegend konfiguriert werden.
[9]http://elinux.org/RPi_Serial_Connection

Bugs/Fehler

  • I2C "clock-stretching" Fehler: I2C-Sensoren und andere I2C-Geräte, die "clock-stretching" verwenden, können aufgrund eines Fehlers im Raspberry Pi nicht zuverlässig direkt am Raspberry Pi betrieben werden.

Erweiterungen

Aufgrund der vielfältigen Anwendungsmöglichkeiten und der weiten Verbreitung des Raspberry Pi gibt es mittlerweile ganze Menge Erweiterungen. Eine Übersicht ist im Raspberry Pi Wiki zu finden: http://elinux.org/RPi_Expansion_Boards

Wir bieten ebenfalls einige Erweiterungen an, z.B. das AdvaBoard RPi1 (inkl. Echtzeituhr, 5V-toleranten Eingängen, Analog-Eingängen, einem optionalen TFT-Display, separaten Steckverbindern für verschiedene Schnittstellen, Power-Management usw.).

TFT-Display

Eine der interessanten Erweiterungen für den Raspberry Pi ist der Anschluss eines TFT-Displays. Dafür gibt es mehrere Möglichkeiten:

  • Anschluss per GPIO (bis 7.0")
  • Anschluss per HDMI (ab 7.0")
  • Anschluss per Composite (Cinch-Stecker)
  • Anschluss per USB (leider nur theoretisch, da alle uns bekannten USB-Displays nur unter Windows funktionieren)
  • Anschluss per DSI (leider nur theoretisch, da es leider keine Dokumentation zum DSI-Port des Raspberry Pi gibt bzw. geben wird)

Siehe auch: http://elinux.org/RPi_Screens

HDMI

HDMI-Displays gibt es ab 7.0". Die HDMI-Displays lassen sich nochmals unterteilen in:

  • kleinere Displays bis ca. 15" (z.B. von Faytech), meist mit Touchscreen, die relativ selten sind, und
  • größere Displays ab ca. 17"/19", meist ohne Touchscreen, die als "Standard-Computermonitore" erhältlich, und meist günstiger als die kleineren Displays sind.

Statt einem HDMI-Display kann auch ein DVI-Display und ein einfacher DVI-HDMI-Adapter verwendet werden. Verwendet man einen VGA-HDMI-Konverter (ca. 10 - 30€), so kann man sogar ein VGA-Display an den Raspberry Pi anschließen.

GPIO / SPI

TFT-Displays, die an die GPIO-Pins bzw. per SPI angeschlossen werden können, gibt es von ca. 1.5" bis 7.0". Viele dieser Displays enthalten einen (resistiven) Touchscreen. Beim Anschluss gibt es wiederum mehrere Möglichkeiten:

  • direkter Anschluss an den Raspberry Pi:
    Kleine Displays mit einer SPI- oder parallelen 8-Bit-Schnittstelle können prinzipiell direkt an die Raspberry Pi I/Os angeschlossen werden. Es existiert ein Projekt mit genau diesem Ziel, das zudem Framebuffer-Treiber für diese Displays (1.5" - 3.2") entwickelt:
  • Anschluss über eine Erweiterungsplatine:
    Die bessere, einfacher zu verwendende und flexiblere (aber auch etwas teurere) Variante ist der Anschluss über eine Erweiterungsplatine. Damit lässt sich -- je nach Ausgestaltung der Erweiterungsplatine -- eine größere Bandbreite an Displays anschließen (z.B. 2" - 7") und eine höhere Framerate erreichen. Uns bekannte derartige Erweiterungen sind:

Zudem wäre es hierbei möglich, gleichzeitig mehrere Displays am Raspberry Pi zu betreiben.

Composite

Prinzipiell könnten auch per "Composite Video" (NTSC / PAL) Displays an den Raspberry Pi angeschlossen werden, z.B. Fernsehmonitore oder kleine Video-Monitore bzw. Rückfahrkamera-Monitore, wie sie in Autos verwendet werden. Diese Displays sind zwar meist relativ billig, allerdings ist die Anzeigequalität dabei auch deutlich schlechter als bei HDMI- oder GPIO/SPI-Displays; zudem sind die Pixel häufig nicht quadratisch (!).

Wir würden generell von derartigen Displays abraten. Lediglich als billige Video-Displays sind sie evtl. brauchbar; für alles andere sind sie unserer Ansicht nach nicht geeignet.

PoE (Power over Ethernet)

Der Raspberry Pi kann auch per PoE (Power over Ethernet) mit Strom versorgt werden. Dazu ist ein PoE-Splitter mit einer Ausgangsspannung von 5V sowie ein Adapter vom Stromanschluss des PoE-Splitters auf Micro-USB notwendig.

PoE-Stromadapterfür RPi
PoE-Stromanschluss-Adapter: Eigenbau (links), gekaufe Adapter (rechts)

Häufig besitzen PoE-Splitter als Stromausgang eine Hohlstecker-Buchse 5.5/2.1mm. Im obigen Bild sind (a) dazu passender, selbst gebauter Adapter für den Raspberry Pi sowie (b) eine Kombination aus zwei am Markt erhältlichen Adaptern [10] zu sehen. Bevor der Stromadapter eingesteckt wird, sollte auf jeden Fall überprüft werden, ob der PoE-Splitter auf eine Ausgangsspannung von 5V eingestellt ist!

PoE + Raspberry Pi
PoE + Raspberry Pi

Zu beachten ist allerdings, dass über PoE insgesamt maximal 12.95 W zur Verfügung stehen (bei PoE+: max. 21.9 W). Bei dem spezifizierten maximalen Stromverbrauch des Raspberry Pi (5V, 700mA) dürfen also maximal 3 Raspberry Pis gleichzeitig über das selbe PoE-Netz versorgt werden.

[10]

z.B.:

Bezugsquellen

Einzelne Raspberry Pis zu unseren Produkten bekommen Sie direkt bei uns. Größere Mengen bekommen Sie jedoch etwas günstiger in den Online-Shops einiger Händler, z.B. bei:

Weitere Händler sind unter http://elinux.org/Buying_RPi zu finden.