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.
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.
Inhalt
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/
- Steckverbinder:
- Modell A+: wie Modell B+, jedoch
- ohne Ethernet
- mit nur 1 USB-Anschluss
- mit nur 256 MB RAM
- kleinere Abmessungen
- siehe auch: http://www.raspberrypi.org/products/model-a-plus/, http://www.raspberrypi.org/raspberry-pi-model-a-plus-on-sale/
- 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
- ohne Ethernet
- mit nur 1 USB-Anschluss
- mit nur 256 MB RAM
- siehe auch: http://www.raspberrypi.org/products/model-a/
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:
Modell B+: offizielle Zeichnung auf der Raspberry Pi-Webseite
Modell B / A: Es existieren leider keine offiziellen Maße bzw. Zeichnungen; Einige Anwender haben die Maße, Steckverbinderpositionen usw. jedoch per Schieblehre ausgemessen, und eine vermaßte Zeichnung erstellt:
http://openlab.com.au/raspberry-pi-dimensions-and-pinout/,
http://openlab.com.au/wp-content/uploads/2013/04/Raspberry_Pi_Dimensions.png
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:
[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
Modell B+/A+ GPIO-Pins, RPi-Ecke links oben Modell B+/A+ GPIO-Pins, RPi-Ecke rechts unten
- Modell A / B:
- Steckverbinder P1, Pin 1..26(Steckverbinder P5, Pin 1..8)
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, 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, 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.
Linux-Image oder NOOBS herunterladen:
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
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.
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.
- Class-Angabe: Die "Class"-Angabe gibt die minimale Lese- und
Schreibgeschwindigkeit einer (leeren) SD-Karte in MB/s
(106Byte/s) an:
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:
- pIO: http://www.quilix.com/pio
- Adafruit microSD-Adapter: http://www.adafruit.com/products/966
Bei diesem Adapter steht die microSD-Karte allerdings deutlich über die Raspberry Pi Platine hinaus; dafür kann hier die microSD-Karte gewechselt werden, ohne den Adapter zu entfernen. - Vergleich zwischen pIO und Adafruit: http://www.recantha.co.uk/blog/?p=2922
- Eigenbau: http://code.google.com/p/raspberry-pi-rs-micro-sd-adapter/
- weitere: http://www.diygadget.com/low-profile-microsd-to-sd-card-adapter-for-raspberry-pi.html,
http://afterthoughtsoftware.com/products/rassd
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.
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.
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 |
Anleitung für einen seriellen Login über USB:
- 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 linuxSD-Karte entfernen und in Raspberry Pi stecken
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.
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.
- 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:- 1.8": 1.8inch TFT LCD + Switch Shield
- 2.4"/2.8": Raspberry PI LCD Adapter Kit for ITDB02 displays
- 2" - 7": unser AdvaBoard RPi1 mit TFT-Displays in den Größen 2.4", 3.2", 4.3", 5.0" und 7.0"
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-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 |
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:
- Reichelt
- Farnell (nur für Geschäftskunden)
- HBE-Shop (Farnell-Fachhändler für Privatkunden)
- RS Components
- Pollin
Weitere Händler sind unter http://elinux.org/Buying_RPi zu finden.
Links
- Raspberry Pi-Hauptseite / Blog
- Raspberry Pi FAQs
- Raspberry Pi Wiki
- Raspberry Pi Forum
- Raspberry-Pi-Seite von Farnell
- Raspberry-Pi-Seite von element14
- Raspberry-Pi-Seite von RS