Raspberry Pi

Aus RaumZeitLabor Wiki

Der Raspberry Pi ist ein Einplatinen-Computer, der von der einer englischen Stiftung namens Raspberry Pi Foundation entwickelt wird. Auf einer Platine mit der ungefähren Größe einer Visitenkarte vereint er einen 700Mhz ARM-Prozessor, 128/256MB RAM, USB, 10/100Mbit Ethernet, HDMI, Composite Video, sowie einen SD-Karten-Slot. Es soll 2 Versionen geben, das Modell A mit 128MB RAM und ohne Ethernet für ~25€, und das Modell B mit 256MB RAM und Ethernet für ~35€.

Schnittstellen

Der Raspberry Pi bietet über einen 26poligen Verbinder eine Reihe von interessanten Schnittstellen zur Kommunikation mit Microcontrollern etc.

  • UART
  • SPI
  • I²C
  • Universelle GPIOs

Details dazu gibt es hier [1].

Erweiterungen

Die Raspberry Pi Foundation hat anscheinend vor, ein Erweiterungsboard mit dem Namen "Gertboard" anzubieten. Infos dazu: [2]

PoE-Adapter

Laut FAQ werden die ersten Revisionen kein PoE unterstützen. Daher könnte man hier selber aktiv werden. Der Raspberry Pi erwartet regulierte 5V über einen MicroUSB-Port. Über einen selbstgebauten Splitter mit Spannungsregulierung (vorzugsweise nicht linear) könnte man diese über das Netzwerkkabel transportieren. Pläne folgen.

Use Cases

Wofür könnte man den Raspberry Pi alles einsetzen?

  • Der Hausbus v2.0 wird möglicherweise auf dem Raspberry Pi basieren.

Sammelbestellung

Je nach Versandkosten macht es evtl. Sinn, eine Sammelbestellung zu starten. Interessenten können sich hier eintragen.

  • Sammelbestellungen sind wohl nicht möglich (nur ein Gerät pro Person) --Else 15:05, 9. Feb. 2012 (CET)
Name Anzahl Modell A Anzahl Modell B
tiefpunkt 0 3
the_nihilant 0 2
else 0 3
thinkJD 0 2
TTT 0 1
Docsteel 0 3
Felicitus 0 3

Leistung

RAM

Nachdem man auf der SD-Karte in /boot den Bootloader arm224_start.elf nach /boot/start.elf kopiert und neustartet, hat man den maximalen Arbeitsspeicher zur Verfügung:

pi@raspberrypi:~$ free -m
             total       used       free     shared    buffers     cached
Mem:           218         38        179          0          4         20
-/+ buffers/cache:         12        205
Swap:            0          0          0

Ethernet

Mittels iperf (keine Optionen) konnte ich 94 MBit/s Durchsatz messen. Standardmäßig hat zumindest das Debian-Image des Raspberry Pis kein iptables geladen. Mit iptables wird der Durchsatz vermutlich schlechter.

Mittels wget konnte ich mit 11.2 MB/s (~ 90 MBit/s) laden.

Mittels dd/netcat messe ich deutlich weniger (bei diesem Test muss es irgendein anderes Problem geben):

root@raspberrypi:/home/pi# dd if=/dev/zero bs=5M count=100 | nc -l -p 7000
524288000 bytes (524 MB) copied, 74.8077 s, 7.0 MB/s

(Maximal 7,2 MB/s gemessen, minimal 6,9 MB/s)

SATA-Festplatte via USB2SATA

Ich habe eine Seagate ST2000DL (2 TiB) mit einem USB2SATA-Adapter (Noname) angeschlossen. Folgende Geschwindigkeiten werden erreicht:

root@raspberrypi:/home/pi# dd if=/dev/sda of=/dev/null bs=5M count=100
524288000 bytes (524 MB) copied, 24.1694 s, 21.7 MB/s
root@raspberrypi:/home/pi# dd if=/dev/zero of=/dev/sda bs=5M count=100
524288000 bytes (524 MB) copied, 31.0694 s, 16.9 MB/s

Wohingegen ich auf meiner Workstation folgende Geschwindigkeiten erreiche:

midna ~ $ s dd if=/dev/sdd of=/dev/null bs=5M count=100
524288000 bytes (524 MB) copied, 16,6109 s, 31,6 MB/s
midna ~ $ s dd if=/dev/zero of=/dev/sdd bs=5M count=100
524288000 bytes (524 MB) copied, 17,8588 s, 29,4 MB/s

Bei meiner Workstation scheint also entweder USB oder der Adapter der Flaschenhals zu sein (USB2 schafft 60 MB/s laut Spec, die Festplatte auch). Beim Raspberry Pi hingegen ist der Raspberry Pi selbst der Flaschenhals.

Wenn ich auf ein Dateisystem schreibe und der Kernel daher cachen kann, fällt das nicht mehr so ins Gewicht:

root@raspberrypi:/mnt/2t# dd if=/dev/zero of=150M bs=1M count=150
157286400 bytes (157 MB) copied, 5.6233 s, 28.0 MB/s

SATA-Festplatte via USB2SATA übers Netz

Wenn man den Raspberry Pi als billige NAS benutzen will, hat man folgendes Problem:

root@raspberrypi:/home/pi# dd if=/dev/sda bs=5M count=100 | nc -l -p 7000
524288000 bytes (524 MB) copied, 109.542 s, 4.8 MB/s
root@raspberrypi:/home/pi# dd if=/dev/sda bs=5M count=100 | nc -l -p 7000
524288000 bytes (524 MB) copied, 95.8238 s, 5.5 MB/s
root@raspberrypi:/home/pi# dd if=/dev/sda bs=5M count=100 | nc -l -p 7000
524288000 bytes (524 MB) copied, 95.4676 s, 5.5 MB/s

Man büßt also ca. 2 MB/s an Netzwerk-Performance ein. Das liegt daran, dass der Ethernet-Port via USB angebunden ist:

smsc95xx 1-1.1:1.0: eth0: register 'smsc95xx' at usb-bcm2708_usb-1.1, smsc95xx USB 2.0 Ethernet