Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

Embedded Linux findet in immer mehr Bereichen verwendung und dementsprechend erscheinen immer mehr Entwicklungsboards um den Einstieg in das embedded Linux zu erleichtern. Eines dieser Boards ist das Raspberry Pi. Dieser Artikel soll Neulingen dabei helfen den Einstieg in das embedded Linux zu erleichtern und dabei etwas Erfahrung mit dem Raspberry Pi zu sammeln.


(Dieser Artikel ist noch in Arbeit)


Die ersten Schritte

Herzstück dieses Boards ist ein BCM2835 SoC von Broadcom der mit einer Taktfrequenz von 700MHz arbeitet. Ein SoC ist ein "System on a
300px-Raspberry Pi Photo.jpg
Chip" d.h ein komplettes System in Form eines einzigen ICs. Der BCM2835 beinhaltet aus 256MB RAM, einen ARM11 Prozessorkern und einer GPU. Das Raspberry Pi beinhaltet u.a. zwei USB-Ports, ein HDMI Anschluss, ein SD-Kartenslot und einen LAN Anschluss.

SD-Karten Setup

Bevor mit dem Raspberry Pi losgelegt werden kann, muss erst eine SD-Karte mit einem Debian Image erstellt werden. <br\>Hierbei ist darauf zu achten, dass für die SD-Karte möglichst keine Class 10 Karte und keine Karte mit einer großen Speicherkapazität verwendet werden, da es bei Karten mit großer Speicherkapazität sowie bei Class 10 Karten mit sehr hoher Wahrscheinlichkeit vorkommen kann das die Karte vom Raspberry Pi nicht erkannt werden.<br\> Bei diesen zwei Karten kann ich jedoch versichern das sie funktionieren.

SD-Karte erstellen unter Windows

  1. Das Image unter: http://www.raspberrypi.org/downloads downloaden
  2. Den Win32 DiskImager unter: https://launchpad.net/win32-image-writer downloaden
  3. Das Image entpacken
  4. SD-Karte in einen Kartenleser einlegen
  5. Win32 DiskImager starten
  6. Die SD-Karte und das Image im DiskImager auswählen
  7. Auf "Write" klicken (VORSICHT: Alle Daten auf der Karte werden gelöscht)
  8. Sobald der Schreibvorgang abgeschlossen wurde auf "OK" klicken
  9. DiskImager schließen
  10. SD-Karte in das Raspberry Pi einlegen

SD-Karte erstellen unter MAC OS

SD-Karte erstellen unter Linux

Die erste Inbetriebnahme

Jetzt da das Image fertig ist müsst ihr nur noch eine USB-Tastatur, eine USB-Maus, einen Bildschirm und das Powerkabel anschließen. Optional kann das Raspberry Pi noch mittels LAN an einen PC oder an einen Router angeschlossen werden. Dies wird aber erst später benötigt. Nach einiger Zeit sollte auf dem Bildschirm ein "raspberrypi login" erscheinen. Der Loginname lautet standardmässig "pi" und das standard Passwort ist "raspberry". <br\>Wichtig ist, dass das Raspberry Pi erstmal nur das Layout für amerikanische Tastaturen besitzt, sprich die Taste "Z" auf einer deutschen Tastatur ergibt den Buchstaben "Y".

Passwort ändern

Nach der Anmeldung solltet ihr das Passwort für den Benutzernamen "pi" ändern. Dies wird so gemacht:

$ passwd
  Das aktuelle Passwort
  Das neue Passwort
  Wiederholung vom neuen Passwort

Admin Account anlegen

Der nächste Schritt ist das anlegen eines Root-Accounts und die festlegung eines Root-Passwortes. Der Root-Account kann mit einem Administrator-Account unter Windows oder MAC OS gleichgesetzt werden. Er wird wie folgt angelegt:

$ sudo su 
  Neues Root-Passwort
  Wiederholung vom neuen Passwort

LAN-Verbindung aktivieren

Jetzt wird noch der SSH-Server vom Raspberry Pi aktiviert. Dadurch hat man die Möglichkeit das Raspberry Pi von einem anderen Rechner aus zu bedienen, solange sich beide Geräte in einem Netzwerk befinden. Dazu aber später mehr. Das SSH wird wie folgt aktiviert:

$ sudo mv /boot/boot_enable_ssh.rc /boot/boot.rc 

Anschließend wird das Raspberry Pi neu gebootet:

$ su root
  Passwort von "Root" eingeben
$ shutdown -r now

Nach dem Neustart sollte vor dem "raspberrypi login" ein "starting OpenBSD Secure Shell Server: sshd" erscheinen. Dann ist der SSH-Server aktiviert und kann verwendet werden. Die IP-Adresse vom Raspberry Pi findet ihr so heraus:

$ip addr

Das Raspberry Pi gibt nun folgendes zurück:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether b8:27:eb:ac:5e:2a brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.25/24 brd 192.168.178.255 scope global eth0

Die IP-Adresse meines Boards lautet also "192.168.178.25".


Fernzugriff auf das Raspberry Pi

Da nicht immer die Möglichkeit besteht das Raspberry Pi mit einem Monitor und einer Tastatur bzw. einer Maus zu verbinden (weil es z.B. irgendwo verbaut ist), haben wir SSH aktiviert. Nun wollen wir dies auch mal nutzen. Wir verbinden also unser Raspberry Pi mittels eines LAN-Hub, eines Routers oder direkt mit einem PC. Anschließend benötigen wir noch ein Programm welches SSH unterstützt. Ich verwende für Windows das Programm PuTTY. Das Programm wird gedownloadet und anschließend installiert. Unter Linux kann das Programm einfach über das Softwarecenter gedownloadet werden. Nach dem Öffnen sieht das Programm so aus:

http://img827.imageshack.us/img827/1535/puttyq.jpg

Nun wird bei "Host Name" die IP-Adresse des Boards eingegeben (bei mir wäre dies 192.168.178.25). Als Port wird 22 (Standard für SSH) angegeben und bei "Connection type" wird der Haken bei "SSH" gesetzt. Als nächstes könnt ihr bei "Saved Sessions" noch einen Namen eingeben unter dem das Profil gespeichert wird und nach einem Klick auf "Save" wird das Profil gespeichert. Sobald ihr nun einen Doppelklick auf den Namen macht, öffnet sich ein Fenster und nach kurzer Zeit sollte dies hier erscheinen:

http://img839.imageshack.us/img839/2576/putty2.jpg

Dort könnt ihr euch nun ganz normal anmelden. PuTTY verhält sich anschließend exakt genauso wie die Konsole direkt auf dem Raspberry Pi.

Datentransfer mit dem Raspberry Pi

Nun wollen wir Dateien zwischen dem Raspberry Pi und unserem PC austauschen. Dies ermöglicht später einen Upload von fertig geschriebenen Programmen o.ä. Der Datenaustausch geschieht auch wieder über LAN, allerdings werden für Windows und Linux unterschiedliche Programme verwendet. Für Windows kann das Programm FileZilla verwendet werden.<br\> Da es sich aber empfiehlt für die Programmierung auf ein Linux-System zu wechseln, verwende ich das Programm "SecPanel".<br\> Ein Linuxsystem wird benötigt, da die späteren Programme irgendwann zuviele Includes usw. haben und die Kompilierung auf dem Raspberry Pi sehr lange dauern könnte. Aus diesem Grund verwende ich ein Linux Betriebssystem um das Programm dort direkt cross-kompilieren zu können. Mit einem Windows-Betriebssystem geht dies aber nicht.<br\> Aber darauf gehe ich später nochmal etwas genauer ein, wenn die ersten Programme geschrieben werden. Für die Leute die aber weiterhin Windows benutzen wollen, empfiehlt sich eine VM (z.B. Virtual Box).


--Kampi 18:20, 5. Jul 2012 (CEST)


LiFePO4 Speicher Test