Ziel Installieren des Betriebssystems Raspian auf einem Raspberry mit anschließender Konfiguration und Installation weiterer Programme unter Linux. Greifen Sie auf diese Dienste von einer zweiten Arbeitsstation zu. Steuern Sie die GPIO - Pins via Konsole an. Schreiben Sie im Anschluss ein kleines Programm in C, mit dem Sie GPIO - Pins auslesen und ansteuern, welches Sie auf dem Raspberry kompilieren und ausführen. Vorbereitung Grundkenntnisse Linux Zugriff auf die GPIO des Raspberry Pis unter Linux via Terminal mit Shell-Komandos via C-Programm mit der Bibliothek wiringpi Was ist FTP? Was ist SSH? Was ist der Apache unter Linux? Aufgabenstellung 1. 2. 3. 4. 5. 6. 7. 8. 9. Installieren Sie mit Hilfe eines Praktikumsbetreuers das Image auf der SD Karte. Schließen Sie den Raspberry an und versorgen Sie die Platine mit Strom. Führen Sie die grundsätzliche Konfiguration des Raspberrys durch (Option 1 bis 5). Konfigurieren Sie das Netzwerk und greifen Sie per SSH auf das System zu. Aktualisieren Sie das System. Installieren Sie die Anwendungen HTOP, MC, Apache2 und ProFTPd. Testen Sie die Anwendung von der zweiten Station aus. Steuern Sie eine die an die GPIO-Pins angeschlossene LED via Konsole an. Schreiben Sie ein kleines C-Programm, mit dem Sie mindestens einen an die GPIO-Pins angeschlossenen Taster auswerten und mindestens eine LED ansteuern. Seite 1 von 9
Versuchsaufbau Abbildung 1: Versuchsaufbau Durchführung: 1 Installation Image auf der SD - Karte Installieren Sie mithilfe des Programms Win32 Disk Imager das Image auf der SD Karte. Das Programm benötigt administrative Rechte, einer der Praktikumsbetreuer wird Ihnen dabei helfen. Das Image liegt auf der Festplatte mit dem Buchstaben C. Das Image wird mit dem Button Write auf die SD Karte geschrieben. (Bestätigen das Sie ) Abbildung 2: Win32 Disk Imager Wenn der Vorgang abgeschlossen ist, können Sie die SD Karte in den vorgesehenen Slot an dem Raspberry stecken. Seite 2 von 9
2 Starten des Raspberry Pis Nachdem die installierte SD Karte im Raspberry vorhanden ist, können Sie den Raspberry mit Strom versorgen. War der Raspberry bereits mit Strom versorgt, müssen Sie die Versorgung unterbrechen und neu anschließen! 3 Konfiguration Sie sehen auf dem Monitor, wie der Raspberry bootet. Nach dem ersten Bootvorgang sehen Sie das Raspberry Pi Software configuration tool (raspi-config), wo Sie die wichtigsten Einstellungen vornehmen können. Sollte sich das Raspberry Pi Software configuration tool nicht öffnen, wechseln Sie mit [STRG] +[ ALT] + [F1] zur ersten Konsole und starten Sie mit: sudo raspi-config das Raspberry Pi configuration tool. Abbildung 3: Raspberry Pi Software Configuration Tool In dem Versuch sind nur die Punkte 1 bis 5 interessant. Bei Punkt 5 sind auch alle Unterpunkte zu bearbeiten. Anmerkungen: 3 Boot Options: B4 Desktop Autologin Desktop GUI, automatically logged in as pi user ausgewählen 4 Wait for Network at Boot: deaktivieren 5 Internationalisation Options I1 de_de.utf-8 UTF-8 selektiert werden. Ein Eintrag wird mit der Leertaste selektiert. I3 Change Keybord Layout ist die Konfiguration nicht offensichtlich. Wählen Sie zuerst Generic 105 (Intl). Danach wählen Sie die Sprache, wenn German nicht im Auswahlfenster steht, wählen Sie Other aus. Jetzt können Sie das Menü verlassen indem die [TAB] oder die [->] Taste drücken und FINISH auswählen. Danach den Raspberry neu starten. Seite 3 von 9
4 Konfiguration Netzwerk Wechseln Sie nach dem Bootvorgang zur ersten Konsole ([STRG] + [ALT] + [F1]). Mit [STRG] + [ALT] + [F7] gelangen Sie wieder auf dem Desktop. Melden Sie sich wenn nötig jetzt mit dem Benutzernamen pi und dem gewähltem Passwort an. Der Raspberry bekommt per DHCP eine Adresse zugewiesen, mit der Sie nicht kommunizieren können. Sie müssen daher die Einstellung von Hand vornehmen. Geben Sie dafür sudo nano /etc/network/interfaces ein, es öffnet sich ein Texteditor. Nun ersetzen Sie: iface eth0 inet manual durch: auto eth0 iface eth0 inet static address 192.168.20.150 netmask 255.255.255.0 gateway 192.168.20.5 dns-nameservers 192.168.20.5 192.168.20.6 Schließen Sie die Datei durch drücken von STRG + X dann J und dann noch ENTER. Ändern Sie als nächstes den Port des SSH Servers. Geben Sie dafür sudo nano /etc/ssh/sshd_config ein. Ändern Sie die Option Port von 22 auf 222. Speichern und Schließen Sie die Datei auf die gleiche Weise. Seite 4 von 9
Abbildung 4: sshd_config geöffnet in nano Nun müssen die beiden Dienste neu gestartet werden, geben Sie dafür die beiden folgenden Befehle ein sudo /etc/init.d/networking restart sudo /etc/init.d/ssh restart Jetzt können Sie von der zweiten Station aus, auf den Raspberry zugreifen. Verwenden Sie dafür das Programm Putty. Sollten Sie Probleme haben, überprüfen Sie zuerst die IP Konfiguration mit dem Befehl ifconfig. Seite 5 von 9
Abbildung 5: Terminal - Ausgabe zu ifconfig Abbildung 6: erfolgreich Anmeldung via Putty Seite 6 von 9
5 Aktualisierung des Systems Aktualisieren Sie das System mit den Befehlen apt-get update und optional apt-get upgrade. 6 Anwendungen installieren Installieren Sie danach die die folgende Anwendungen htop, mc, apache2 und proftpd und testen Sie diese. Sie können Anwendungen mit dem Befehl apt-get install <Packetname> <Packetname2> installieren. Der Befehl sudo führt Befehle als Administrator aus. 7 Test der Anwendung Abbildung 7: Default (index) - Webseite des Apache - Webservers Seite 7 von 9
8 Ansteuern der GPIO - Pins via Konsole Zum Anschluss der Testplatine an den Raspberry Pi wenden Sie sich an einen Praktikumsbetreuer! Die Testplatine wird mit einem Flachbandkabel an den GPIO - Steckverbinder des Raspberry Pis angeschlossen. Dabei ist darauf zu achten, das die Testpaltine richtig herum angeschlossen wird! Pin 1 des Wannensteckers ist auf der Testplatine durch einen roten Punkt markiert und dieser muss entsprechend mit dem Pin 1 der GPIO - Stiftleiste des Raspberrys verbunden werden. Abbildung 8: Raspberry Pi mit richtig angeschlossenen Testboard Wie die Elemente (LEDs und Taster) der Testplatine den GPIO - Pins zugeordnet sind ist in Abbildung 9: GPIO - Testplatine dargestellt. Seite 8 von 9
Abbildung 9: GPIO - Testplatine 9 C-Programm Nutzen Sie für den Zugriff auf die GPIO die Bibilothek: wirinigpi compile: start: gcc -Wall -o ProgramName SourceFileName.c -lwiringpi with root privilege (sudo./programm) or change privilege of the Programfile Protokoll Erwartet wird die Abgabe eines Protokolls über die durchgeführten Konfigurationen sowie deren Ergebnisse und Auswirkungen. Empfehlenswert ist dabei die Einbindung entsprechender Screenshots, diese können unter Windows auf zwei Wegen erstellt werden. [ALT] + [Druck] Zwischenablage [STRG] + [V] (einfügen) z.b. in Paint Mithilfe des Snipping Tool s, was auf allen virtuellen Maschinen und manchen physischen Computern installiert ist Screenshots unter Raspbian: [Druck] Bild wird im png-format mit Datum, Uhrzeit und Auflösung im Dateinamen im home-verzeichnis des aktuellen Nutzers abgelegt Seite 9 von 9