Raspberry Pi
Der Raspberry Pi ist ein kleiner und kostengünstiger Einplatinencomputer. Er wird während der Ausbildung in verschiedenen Bereichen eingesetzt.
Inhaltsverzeichnis
- 1 Beschaffung
- 2 Inbetriebnahme
- 2.1 Baue den Raspberry Pi zusammen.
- 2.2 Betriebssystem-Image herunterladen
- 2.3 Installiere Raspbian auf dem Raspberry Pi.
- 2.4 Fernzugriff über die Konsole aktivieren
- 2.5 Fernzugriff über eine grafische Oberfläche aktivieren
- 2.6 Notiere die MAC-Adressen (Hardware Adressen) der Netzwerkschnittstellen
- 2.7 Bonjourdienst installieren
- 2.8 Hostname ändern
- 2.9 Passwort ändern
- 2.10 Installiere das Paket espeak und die Sprachfiles (espeak-data).
- 2.11 Probleme?
- 3 Hallo Welt: Eine blinkende LED
- 4 Eingabe-Ausgabe-Modul
- 5 Links
Beschaffung
Für den Einsatz eines Raspberry Pi im Unterricht werden folgende Komponenten zwingend benötigt:
- Raspberry Pi 3 (ca. 38 €)
- Gehäuse für den Raspberry Pi (die 40 Pins der GPIO-Schnittstelle müssen von oben gut zugänglich sein). Ein paar Beispiele:
- Pibow 3 Ninja Coupé (Schichtgehäuse) (ca. 10 €)
- Mepro Enclosure Case (Schichtgehäuse) (ca. 7 €)
- OneNineDesign Gehäuse (ca. 6 €)
- USB-Steckernetzteil (2 A, ca. 8 €) (Informationen zu den Netzteilen)
- microSD-Karte Class 10 mit mindestens 16 GB Speicher. (ca. 4 €)
- Eine Analyse verschiedener Karten gibt es bei elinux.org.
Folgende Ergänzungen stehen entweder bereits durch andere Elektronikgeräte wie PCs, Smartphones, Tablets und Digitalkameras zur Verfügung oder müssen neu angeschafft werden.
- Ein einfacher Kopfhörer
- Netzwerkkabel (ca. 3 €)
- Micro USB Kabel (USB 2.0 Typ A Stecker auf USB 2.0 Micro-B-Stecker)
Für die praktische Arbeit mit den GPIO-Pins des Pi müssen folgende Komponenten beschafft werden:
- Box zur Aufbewahrung von Kleinteilen
- Experimentierboard "Breadboard" mit ca. 830 Kontakten (ca. 3 €)
- Steckbrücken "jumper wire" (ca. 4 €)
- Benötigt werden ca. 10 Stück in alle Varianten: männlich-weiblich, weiblich-weiblich, männlich-männlich. Häufig sind Bündel mit 40 Stück erhältlich, die auf 4 Schüler aufgeteilt werden können.
Bezugsquellen
Für den Versand bieten sich folgende Händler an: reichelt elektronik, Alternate, Pollin Electronic oder Conrad. Da die Preise schwanken, lohnt sich ein Vergleich. Auf den Shop-Seiten nach "Starterkit" oder "Bundle" suchen, um Komplettangebote zu erhalten.
Vor der Bestellung bei Amazon-Händlern sollte darauf geachtet werden, aus welchem Land die Teile verschickt werden. Bei außereuropäischen Händlern sind lange Lieferzeiten einzuplanen.
Conrad hat viele Komponenten in den Ladengeschäften in Dortmund und Essen auch vorrätig.
Wenn sich mehrere Besteller zusammentun, können hierdurch zusätzlich Versandkosten eingespart werden.
Inbetriebnahme
Vor dem ersten Einsatz, muss auf dem Raspberry Pi ein Betriebssystem auf einer SD-Karte installiert werden. Wir verwenden die verbreitete Linux-Distribution Raspbian.
Im MagPi-Magazin werden in einem Troubleshooting Guide verschiedene Probleme bei der Einrichtung des Pi angesprochen. Schaue dort nach, wenn es Schwierigkeiten gibt.
Baue den Raspberry Pi zusammen.
Betriebssystem-Image herunterladen
Option 1: direkter Download
Ein aktuelles Image von Raspbian oder Raspbian lite gibt es auf dem Server des ITA-Wiki oder unter raspberrypi.org/downloads.
Lade Raspian (nicht Lite) herunter und entpacke das Archiv. Darin findest du eine img-Datei.
Anfänger, die Probleme mit der Installation haben, können auf die einfachere Installationsmethode NOOBS zurückgreifen.
Option 2: Download über einen BitTorrent-Client
Der langsame Download über den Webserver von raspberrypi.org kann mit einem BitTorrent-Client deutlich beschleunigt werden. Unter Windows, Linux und Mac kann hierfür z.B. Transmission genutzt werden. In Transmission kann unter "Editieren", "Eigenschaften", "Netzwerk" mit der Option "Lokale Peersuche verwenden" der Download innerhalb eines lokalen Netzes erheblich beschleunigt werden. Hierfür muss ein Bonjour-Dienst installiert sein (s.u.).
Installiere Raspbian auf dem Raspberry Pi.
Kopiere das Image auf eine SD-Karte.
Option 1: Mit dem dd-Befehl unter Linux
Unter Linux oder MacOS kann dies mit dem Befehl 'dd' geschehen.
Option 2: Mit dem Win32 Disk Imager unter Windows
Für Windows kann hierfür das Programm Win32 Disk Imager genutzt werden.
Eine ausführliche Anleitung für beide Varianten befindet sich in der Leseprobe des Raspberry Pi Buches.
Eine weitere kurze Anleitung ist in Ausgabe 36 von The MagPi (ab Seite 16). Auch der Setup-Guide von der RapberryPi-Foundation hält nützliche Informationen bereit.
Fernzugriff über die Konsole aktivieren
- Um den Fernzugriff mit ssh zu aktivieren, muss eine Datei mit dem Namen "ssh" im Verzeichnis "boot" abgelegt werden. [1]
- Damit sich der Pi direkt in ein WLAN-Netz einbucht, kann eine Datei "wpa_supplicant.conf" in dem Verzeichnis "boot" abgelegt werden [2][3]. Ihr Aufbau:
# Datei wpa_supplicant.conf in der Boot-Partition der SD-Karte network={ ssid="wlan-name" psk="ganz-geheimes-passwort" key_mgmt=WPA-PSK }
Fernzugriff über eine grafische Oberfläche aktivieren
Das "Remote Desktop Protocol" erlaubt die Steuerung des Pi über eine grafische Oberfläche. Dafür muss der Dienst "xrdp" auf dem Pi installiert werden. Als Client für den Zugriff gibt es unter Windows die "Remote Desktop-Verbindung" und unter Linux "rdesktop".
Bei der aktuellen Version von Raspbian wird der RealVNC-Server mitinstalliert, der nicht mit xrdp zusammenarbeitet. Daher ist vor der Installation von xrdp eine Deinstallation des VNC-Servers notwendig.
$ sudo apt-get remove realvnc-vnc-server
Nun kann xrdp installiert werden.
$ sudo apt-get install xrdp
Notiere die MAC-Adressen (Hardware Adressen) der Netzwerkschnittstellen
Notiere die MAC-Adresse des Pi - am besten direkt auf dem Gehäuse. Sie beginnen mit B8:27:EB und du erhältst sie mit dem Befehl
$ ip link show
Da der Pi ab Version 3 über eine Ethernet-Schnittstelle mit einem Kabel (eth0) und einen WLAN-Chip (wlan0) verfügt, existieren mehrere Adressen. Notiere sie alle!
Mehr Informationen stehen auf den Seiten des Elektronik Kompendiums
Bonjourdienst installieren
Um einen Rechner ohne einen DNS-Server über dessen Name zu erreichen, existiert "Multicast DNS" (mDNS).
Option 1: Windows Rechner für den Zugriff
Um auf den Pi über dessen Name zugreifen zu können, muss auf dem eigenen Windows-Laptop ein Bonjourdienst installiert werden - z.B. der Bonjour Druckdienst für Windows (von Apple). Danach ist der Pi unter hostname.local erreichbar - also standardmäßig raspberrypi.local.
Option 2: Linux oder Apple-Rechner für den Zugriff
Bei Linux und MacOS kann die Installation entfallen, da die Dienste "avahi" unter Linux und "Bonjour" unter macOS bereits installiert sind.
Hostname ändern
Damit sich der Pi namentlich von den anderen Pis unterscheidet, muss der Hostname geändert werden.
Option 1: SD-Karte im Linuxrechner
Stecke die SD-Karte in einen Linuxrechner und suche die Date "/etc/hostname" auf der SD-Karte. Darin kannst du einen neuen Hostnamen eintragen.
Option 2: Verbindung mit der seriellen Schnittstelle
Verbinde einen Rechner über die serielle Schnittstelle mit dem Pi. Hierfür benötigst du einen Adapter, der zwischen dem USB-Port und den GPIO-Pins des Pi angeschlossen wird. Mit dem Programm putty (Windows) oder screen (Linux) kannst du dich dann auf den Pi verbinden.
Nach dem Verbinden kannst du mit dem Befehl "sudo raspi-config" den Hostname ändern.
Option 3: Über das Netzwerk
Du kannst den Pi in einem Netzwerk oder einer direkten Verbindung unter dem Name "raspberrypi.local" erreichen.
- Windows: Verbinde dich mit dem Programm putty per SSH auf raspberrypi.local verbinden (Bonjour-Dienst notwendig)
- Linux: Mit ssh auf raspberrypi.local verbinden
Nach dem Verbinden kannst du den Hostname mit "sudo raspi-config" ändern.
Passwort ändern
Verbinde dich mit dem Pi und ändere das Passwort. Notiere es und merke es dir gut. Dies kannst du mit "passwd pi" tun.
Installiere das Paket espeak und die Sprachfiles (espeak-data).
Hiermit wird der Pi um eine Sprachausgabe erweitert.
$ sudo apt-get install espeak espeak-data
Über die Audioausgabe kann der Pi seine eigene IP-Adresse ausgeben, damit wir ihn im Netz wiederfinden, ohne einen Monitor jedesmal anschließen zu müssen. Die Anleitung IP-Sprachausgabe einrichten, beschreibt das genauere Vorgehen.
Probleme?
Notiere bei Problemen die genaue Fehlermeldung oder mache ein Bild davon.
Hallo Welt: Eine blinkende LED
In deinem ersten kleinen Projekt soll eine LED zum Blinken gebracht werden. Du benötigst dafür folgendes Zubehör:
- 1 Breadboard
- 2 Jumper-Wire (Female-Male)
- 1 Widerstand mit 150 Ω
- 1 Leuchtdiode (LED) der Farbe deiner Wahl
Wähle den richtigen Widerstand aus. Überlege, welche Farbringe auf dem Bauteil sein müssen. Überprüfe deine Auswahl durch eine Widerstandsmessung mit dem Multimeter.
Hast du die richtigen Bauteile ausgewählt, kannst du die folgende Schaltung auf dem Steckbrett aufbauen.
Um die Pins am Raspberry Pi richtig abzuzählen, informiere dich auf https://pinout.xyz über die Pinbelegung. Achte darauf, dass du die Pins 2 und 4 (mit 5 V) nicht versehentlich verwendest.
Auf dem Steckbrett stehen viele Kontakte für den Aufbau der Schaltung zur Verfügung. In jeden Kontakt passt ein Beinchen eines Bauteils. Manche Kontakte sind miteinander verbunden. Schaue dir folgendes Bild an, um herauszufinden, wie dein Steckbrett von innen aussieht.
Wie funktioniert die Schaltung?
Die Leuchtdiode benötigt zum Leuchten eine elektrische Spannung. Um den Strom zu begrenzen, muss zusätzlich ein Vorwiderstand in Reihe geschaltet werden. Die Spannung kommt vom Raspberry Pi. Pin 16 ist ein GPIO-Pin, der sich über ein kleines Python-Programm ein- oder ausschalten lässt. Der Stromkreis wird über den Masse-Pin (Ground, GND) Pin 6 geschlossen. Da der Strom nur in eine Richtung durch die LED fließen kann, musst du darauf achten, dass die LED richtig herum in der Schaltung steckt.
Das Programm
Mit folgendem Programmtext kannst du die Schaltung testen:
import RPi.GPIO as GPIO import time LED = 23 # GPIO 23 (Pin 16) GPIO.setmode(GPIO.BCM) # Nummerierung BCM wählen GPIO.setup(LED, GPIO.OUT) # LED-Pin als Ausgang print("Hallo Welt") try: while True: GPIO.output(LED, True) # LED an print("blink") time.sleep(0.5) GPIO.output(LED, False) # LED aus time.sleep(1) except KeyboardInterrupt: GPIO.cleanup()
Und jetzt?
Hier ein paar Vorschläge:
- Verändere die Blink-Geschwindigkeit der LED.
- Erweitere die Schaltung um eine weitere LED.
- Lass beide Leuchtdioden im Gegentakt blinken.
Eingabe-Ausgabe-Modul
Im Unterricht wird ein Eingabe-Ausgabe-Hardware-Modul erstellt und über Software angesteuert. Viele Informationen darüber inkl. einer Dokumentation ist unter dem Projektnamen eapi bei github verfügbar.
Das E/A-Modul ist eine kleine Platine, die über zwei Taster für Eingaben und drei Leuchtdioden (rot, gelb und grün) für Ausgaben verfügt. Die Ansteuerung erfolgt über die GPIO-Schnittstelle des Raspberry Pi. Es wird an fünf GPIO-Pins des PI angeschlossen und benötigt zusätzlich einen 3,3-V-Pin und einen Masse-Pin für die Spannungsversorgung.
Die Software liegt als Modul im Python-Package-Index (PyPi) unter dem Namen eapi. Sie kann mit sudo pip3 install eapi installiert werden. Wenn die Installation nur lokal für einen User erfolgen soll, heißt der Befehl pip3 install --user eapi.
Unter Windows gibt es kein sudo. Daher kann dieser Befehl unter Windows ohne sudo ausgeführt werden.
Links
- Webseite von RaspberryPi
- Raspbian - Das Betriebssystem für den RaspberryPi. Es basiert auf dem Betriebssystem Debian.
- Win32 Disk Imager schreibt unter Windows Disk-Images auf SD-Karten. Unter Linux klappt dies mit dem dd-Befehl.
- Raspberry Pi bei Wikipedia
- The MagPi (Ausgabe 36) - in dieser Ausgabe werden die ersten Schritte mit dem Raspberry Pi ab Seite 16 ausführlich beschrieben.
- Raspberry Pi - Das umfassende Handbuch ist ein dickes Buch über den Raspberry Pi. Die ersten Kapitel stellt der Verlag kostenlos zur Verfügung. Für den Einstieg reichen sie. Die Schule hat eine Ausgabe in der IT-Bibliothek im Raum zwischen R.44 und R.46 deponiert.
- Kostenloses Themenheft: Unterrichten mit dem Raspberry Pi
- pinout.xyz zeigt die Pin-Belegung der GPIO-Pins des Pi zusammen mit typischen Code-Schnipseln in Python.
- Materialien von Herrn Bakera und Herrn Gummlich