Raspberry Pi: Unterschied zwischen den Versionen

Aus ITA-Wiki
Wechseln zu: Navigation, Suche
itawiki>Marco Bakera
(Installiere Raspbian auf dem Raspberry Pi.: Installation genauer erläuter)
(Betriebssystem installieren und Basiskonfiguration)
 
(178 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 6: Zeile 6:
 
Für den Einsatz eines Raspberry Pi im Unterricht werden folgende Komponenten zwingend benötigt:
 
Für den Einsatz eines Raspberry Pi im Unterricht werden folgende Komponenten zwingend benötigt:
   
# Raspberry Pi 3 (ca. 38 €)
+
# Raspberry Pi 4B (kleinste Ausstattung ist ausreichend, ca. 45 €)
 
# Gehäuse für den Raspberry Pi (die 40 Pins der GPIO-Schnittstelle müssen von oben gut zugänglich sein). Ein paar Beispiele:
 
# 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 €)
 
#* Pibow 3 Ninja Coupé (Schichtgehäuse) (ca. 10 €)
 
#* Mepro Enclosure Case (Schichtgehäuse) (ca. 7 €)
 
#* Mepro Enclosure Case (Schichtgehäuse) (ca. 7 €)
 
#* OneNineDesign Gehäuse (ca. 6 €)
 
#* OneNineDesign Gehäuse (ca. 6 €)
# USB-Steckernetzteil (2 A, ca. 8 €) ([http://www.elektronik-kompendium.de/sites/raspberry-pi/2002021.htm Informationen zu den Netzteilen])
+
# USB-C Steckernetzteil (2 A, ca. 8 €) ([http://www.elektronik-kompendium.de/sites/raspberry-pi/2002021.htm Informationen zu den Netzteilen])
  +
# Adapter von USB auf Ethernet
# microSD-Karte Class 10 mit mindestens 16 GB Speicher. (ca. 4 €)
 
  +
# microSD-Karte Class 10 mit mindestens 16 GB Speicher. (ca. 5 €)
:: Eine Analyse verschiedener Karten gibt es bei [http://elinux.org/RPi_SD_cards elinux.org].
 
  +
:: Eine Analyse verschiedener Karten gibt es bei [http://elinux.org/RPi_SD_cards elinux.org] und bei [https://www.raspberrypi.org/documentation/installation/sd-cards.md raspberrypi.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.
 
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 €)
 
* 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:
 
Für die praktische Arbeit mit den GPIO-Pins des Pi müssen folgende Komponenten beschafft werden:
Zeile 28: Zeile 27:
 
*: 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.
 
*: 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.
   
  +
Optional kann ein HDMI-USB-Dongle für das Debugging hilfreich sein. Dieses [https://youtu.be/aJ9Panlp_qw Video] ([https://peertube.fidonet.io/videos/watch/2d64346b-1249-44b3-ae69-0ff1c2bf7245 mirror]) beschreibt die Funktion.
   
 
=== Bezugsquellen ===
 
=== Bezugsquellen ===
   
Für den Versand bieten sich folgende Händler an: [https://www.reichelt.de/ reichelt elektronik], [https://www.alternate.de/ Alternate], [https://www.pollin.de Pollin Electronic] oder [https://www.conrad.de/ce/ Conrad]. Da die Preise schwanken, lohnt sich ein Vergleich. Auf den Shop-Seiten nach "Starterkit" oder "Bundle" suchen, um Komplettangebote zu erhalten.
+
Für den Versand bieten sich folgende Händler an: [https://www.reichelt.de/ reichelt elektronik], [https://www.alternate.de/ Alternate], [https://www.pollin.de Pollin Electronic] oder [https://www.conrad.de/ce/ Conrad]. Da die Preise schwanken, lohnt sich ein Vergleich. Auf den Shop-Seiten kann man 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.
 
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.
   
  +
Die offiziellen Seite von Raspberry Pi Foundation verlinkt [https://www.raspberrypi.org/products/raspberry-pi-4-model-b/ verschiedene Shops].
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.
+
Wenn sich mehrere Besteller:innen zusammentun, können hierdurch zusätzlich Versandkosten eingespart werden.
   
 
== Inbetriebnahme ==
 
== Inbetriebnahme ==
   
  +
Diese Anleitung geht davon aus, dass Sie entweder mindestens Windows 10 oder ein aktuellen Linux- oder MacOS-Betriebssystem verwenden.
Vor dem ersten Einsatz, muss auf dem Raspberry Pi ein Betriebssystem auf einer SD-Karte installiert werden. Wir verwenden die verbreitete Linux-Distribution [https://www.raspbian.org/ Raspbian].
 
   
  +
Vor dem ersten Einsatz, muss auf dem Raspberry Pi ein Betriebssystem auf einer SD-Karte installiert werden.
=== Baue den Raspberry Pi zusammen. ===
 
=== Installiere Raspbian auf dem Raspberry Pi. ===
 
* Ein aktuelles Image von [https://it.tbs1.de/NOOBS_latest.zip NOOBS] bzw. [https://it.tbs1.de/raspbian_latest.zip Raspbian] oder [https://it.tbs1.de/raspbian_lite_latest.zip Raspbian lite] gibt es auch auf dem Server des ITA-Wiki oder unter [https://www.raspberrypi.org/downloads/ raspberrypi.org/downloads].
 
* Installiere das Betriebssystem
 
** Eine ausführliche Anleitung befindet sich in der [https://www.rheinwerk-verlag.de/raspberry-pi_3872/ Leseprobe des Raspberry Pi Buches].
 
** Eine kurze Anleitung ist in [https://www.raspberrypi.org/magpi-issues/MagPi36.pdf Ausgabe 36 von The MagPi (ab Seite 16)].
 
** Auch der [https://www.raspberrypi.org/help/noobs-setup/ Setup-Guide] von der RapberryPi-Foundation hält nützliche Informationen bereit.
 
   
  +
Führe die folgenden Schritte nacheinander durch.
* Um den Fernzugriff mit ssh zu aktivieren, muss eine Datei mit dem Namen "ssh" im Verzeichnis "boot" abgelegt werden. [https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/]
 
* Damit sich der Pi direkt in ein WLAN-Netz einbucht, kann eine Datei "wpa_supplicant.conf" in dem Verzeichnis "boot" abgelegt werden [https://www.raspberrypi.org/blog/another-update-raspbian/][https://kofler.info/raspberry-pi-zero-w-ausprobiert/]. Ihr Aufbau:
 
   
  +
=== Zusammenbau des Raspberry Pi ===
# Datei wpa_supplicant.conf in der Boot-Partition der SD-Karte
 
network={
 
ssid="wlan-name"
 
psk="ganz-geheimes-passwort"
 
key_mgmt=WPA-PSK
 
}
 
   
  +
Baue das Gehäuse und den Pi zusammen. Lege SD-Karte, SD-Kartenleser, USB-Ethernet-Adapter und Netzteil bereit.
=== Installiere das Paket espeak und die Sprachfiles (espeak-data). ===
 
Hiermit wird der Pi [[IP-Sprachausgabe einrichten|um eine Sprachausgabe erweitert]]. Über die Audioausgabe wird der Pi später seine eigene IP-Adresse ausgeben, damit wir ihn im Netz wiederfinden, ohne einen Monitor jedesmal anschließen zu müssen.
 
   
  +
=== Betriebssystem installieren und Basiskonfiguration ===
$ sudo apt-get install espeak espeak-data
 
   
  +
[[Datei:Pi imager.png|Pi Imager|mini]]
=== Für den Fernzugriff musst du noch xrdp installieren. ===
 
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.
 
   
  +
Nutze den [https://www.raspberrypi.org/software/ Raspberry Pi Imager] und installiere das Betriebssystem "Raspberry Pi OS". Ein Anleitung findest du [https://www.raspberrypi.com/documentation/computers/getting-started.html#using-raspberry-pi-imager hier].
$ sudo apt-get remove realvnc-vnc-server
 
   
  +
Nimm über den Button "Einstellungen bearbeiten" folgende Einstellungen vor (sollte die Optionen fehlen, kann Sie über Strg-Shift X eingeblendet werden):
Damit wir unter Windows eine Remote-Desktop Verbindung zum Pi herstellen können, muss xrdp installiert werden.
 
   
  +
# ''Hostname festlegen'': Dies ist der Name des Pi, über den er im Netz zu finden ist. Wähle einen eindeutigen Namen. Verzichte auf Leerzeichen und Umlaute im Hostnamen und verwende am besten nur Klein- und Großbuchstaben ohne öäüß. Er darf nicht wie dein Laptop heißen.
$ sudo apt-get install xrdp
 
  +
# ''SSH aktivieren'': SSH (Secure SHell) ermöglicht, den sicheren Zugriff auf die Kommandozeile eines Rechners.
  +
# ''Benutzername und Passwort setzen'': WICHTIG! Notiere diese Daten.
  +
# ''WiFi einrichten'' mit den Zugangsdaten des Schul-WLAN
   
  +
'''Notiere alle vorgenommenen Einstellungen (Hostname, Benutzername, Passwort, Wifi-Zugangsdaten) in einem Dokument und verwahre es sicher.'''
=== Notiere die MAC-Adressen (Hardware Adressen) der Netzwerkschnittstellen ===
 
Notiere sie am besten direkt auf dem Gehäuse. Sie beginnen mit <tt>B8:27:EB</tt> und du erhältst sie mit dem Befehl
 
   
$ ip link show
 
   
  +
==== Funktionsprüfung ====
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!
 
   
  +
# Schließe den Pi mit einem Netzteil an eine Steckdose an.
Mehr Informationen stehen auf den [http://www.elektronik-kompendium.de/sites/raspberry-pi/1910021.htm Seiten des Elektronik Kompendiums]
 
  +
# Verbinde ihn mit einem Ethernetkabel direkt mit dem PC/Laptop. Zwei LED an den Ethernetbuchse des Pi zeigen an, ob eine Verbindung besteht.
  +
# Öffne ein Terminal oder die Powershell und versuche ihn mit <tt>ping HOSTNAME.local</tt> zu erreichen. <br />'''Hinweis:''' Bei manchen Windowsversionen funktioniert der direkte Zugriff ggf. über den Hostnamen nicht mehr. Durch die Eingabe von <tt>ping -4 HOSTNAME.local </tt> in der Eingabeaufforderung, erhält man die IPv4 Adresse des Raspberry Pi. Mit dieser IP-Adresse ist der Fernzugriff möglich.
  +
# Wenn alles geklappt hat, bekommst du eine Antwort vom Pi. Sollte es nicht sofort klappen, hab etwas Geduld! Der erste Start des neuen Betriebssystems dauert etwas länger. Erst wenn der "ping" funktioniert, kannst du fortfahren.
  +
# Verbindung mit SSH: Öffne die Powershell(Windows) oder ein Terminal (Linux, MacOS) und stelle eine Verbindung mit <tt>ssh BENUTZERNAME@HOSTNAME.local</tt> her.
   
  +
==== Pi herunterfahren und mit dem Internet verbinden ====
===Bonjourdienst installieren===
 
Um auf den Pi über dessen Name zugreifen zu können, muss auf dem '''eigenen''' Windows-Laptop ein Bonjourdienst installiert werden - z.B. der [https://support.apple.com/kb/DL999?locale%3Dde_DE Bonjour Druckdienst für Windows (von Apple)]. Danach ist der Pi unter ''hostname.local'' erreichbar - also standardmäßig ''raspberrypi.local''.
 
   
  +
Der Pi kann nach dem Ändern des Hostname eindeutig identifiziert und daher in einem lokalen LAN oder im WLAN betrieben werden. Fahre dazu den Pi mit <tt>sudo halt</tt> oder <tt>sudo poweroff</tt> herunter.
Bei Linux und MacOS kann die Installation entfallen.
 
   
  +
Achtung! Ziehe nicht einfach den Netzstecker des Pi, ohne ihn korrekt herunterzufahren. Dies kann zu Beschädigungen der Hardware führen.
Der hostname des Pi sollte über ''raspi-config'' in den erweiterten Einstellungen geändert werden.
 
   
  +
Der Pi kann mit einem LAN-Kabel mit dem Raumnetz/LAN verbunden und damit in das Internet gebracht werden. Nach dem Start ist er unter dem neuen Namen erreichbar - Endung <tt>.local</tt> nicht vergessen. Prüfe mit <tt>ping HOSTNAME.local</tt>, ob du den Pi erreichen kannst.
=== Bringe alles mit ===
 
Bringe den Pi, einen Kopfhörer, ein Ethernetkabel, ein USB-Kabel (und alles, was du sonst noch besorgt hast) mit.
 
   
  +
=== Fernzugriff über eine grafische Oberfläche aktivieren (VNC) ===
=== Probleme?===
 
  +
Notiere bei Problemen die genaue Fehlermeldung oder mache ein Bild davon.
 
  +
==== Virtual Network Computing (VNC) ====
  +
  +
Mit dem VNC-Protokoll kann man über das Netzwerk auf den Bildschirm eines entfernten Rechners zugreifen. Für den Raspberry Pi ist es
  +
in der [https://www.raspberrypi.com/documentation/computers/remote-access.html#vnc VNC-Dokumentation] beschrieben.
  +
  +
Lade einen VNC-Viewer wie z.B. [https://www.realvnc.com/download/viewer/ RealVNC] herunter und verbinden dich mit deinem Pi.
  +
  +
Neben der Bildübertragung bietet der Zugriff über VNC auch die Möglichkeit, Dateien zu übertragen.
  +
  +
Wenn die Verbindung scheitert, muss der VNC-Server aktiviert werden. Dies ist in der [https://www.raspberrypi.com/documentation/computers/remote-access.html#vnc Dokumentation] unter "Enabling the VNC Server" beschrieben.
  +
  +
Sollte die Fehlermeldung "Cannot currently show the desktop" auftauchen, muss die Auflösung in der raspi-config unter "Advanced Options" → "Resolution" geändert werden. Vermutlich ist die eingestellte Auflösung zu gering. [https://www.tomshardware.com/how-to/fix-cannot-currently-show-desktop-error-raspberry-pi]
  +
  +
Falls das Bild zu klein ist, kann die Bildschirmauflösung über "Einstellungen → Raspberry Pi Konfiguration → Auflösung festlegen" geändert werden. Alternativ kann über SSH auf dem Pi mit dem Befehl <tt>vncserver</tt> ein virtueller Bildschirm erzeugt werden. Auf diesen kann man sich mit <tt>HOSTNAME.local:1</tt> verbinden.
  +
  +
===== Probleme mit VNC =====
  +
  +
In der aktuellen Version von Raspberry Pi OS (Stand Dezember 2023) gibt es Probleme mit dem wayland Window Manager und VNC [https://help.realvnc.com/hc/en-us/articles/14110635000221-Raspberry-Pi-5-Bookworm-and-RealVNC-Connect]. Mit dieser Vorgehensweise sollte VNC benutzbar sein. Alles muss über SSH ausgeführt werden:
  +
  +
:sudo raspi-config → Advanced Options → Wayland → X11 window manager
  +
:sudo raspi-config → Interface Options → VNC → YES → finish
  +
:sudo raspi-config → Display Options → VNC Resolution → Auflösung auswählen, die etwas kleiner ist als die Auflösung des eigenen Laptops (z.B. 1024x768) → finish → reboot
  +
:sudo raspi-config → System Options → Boot / Auto login → Desktop (requiring user to login) → finish → reboot
  +
  +
In einem [https://forums.raspberrypi.com/viewtopic.php?t=357582 Forumspost (Oktober 2023)] wird auch der alternative VNC-Viewer [https://tigervnc.org/ tigerVNC] empfohlen.
  +
  +
Sollte auch dies nicht funktionieren, kann eine alte Version von Pi OS installiert werden. Im Pi Imager ist diese über "Raspberry Pi OS (other)" → "Raspberry Pi OS (Legacy) Full" verfügbar.
  +
  +
== 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.
  +
  +
[[Datei:Ledschaltung.png|200px]]
  +
  +
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.
  +
  +
[[Datei:Breadboard_intern.jpg|400px]]
  +
  +
=== 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 7 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 39 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:
  +
  +
from gpiozero import LED
  +
import time
  +
print("Hallo Welt!")
  +
led = LED(4) # GPIO4 (Pin 7)
  +
while True:
  +
led.on() # LED an
  +
print("blink")
  +
time.sleep(0.5)
  +
led.off() # LED aus
  +
time.sleep(1)
  +
  +
=== Und jetzt? ===
  +
  +
Hier ein paar Vorschläge:
  +
* Verändere die Blink-Geschwindigkeit der LED. Wie schnell kannst du sie maximal blinken lassen?
  +
* Erweitere die Schaltung um eine weitere LED.
  +
* Lass zwei Leuchtdioden im Gegentakt blinken.
  +
  +
== Tastereingabe ==
  +
In einem zweiten kleinen Projekt soll Erkannt werden, ob ein Taster betätigt ist oder nicht. Du benötigst dafür folgendes Zubehör:
  +
* 1 Breadboard
  +
* 3 Jumper-Wire (Female-Male)
  +
* 1 Widerstand mit 1 kΩ
  +
* 1 Widerstand mit 10 kΩ
  +
* 1 Taster
  +
  +
Hast du die richtigen Bauteile ausgewählt, kannst du die folgende Schaltung auf dem Steckbrett aufbauen.
  +
  +
[[Datei:Taster_Schaltung.png|250px]]
  +
  +
Beginne mit dem Taster. Platziere den Taster so, wie auf folgendem Bild dargestellt.
  +
  +
[[Datei:Taster_auf_Breadboard.png|700px]]
  +
  +
=== Das Programm ===
  +
  +
Mit folgendem Programmtext kannst du die Schaltung testen:
  +
  +
from gpiozero import Button
  +
import time
  +
button = Button(23, pull_up=None, active_state=True) # GPIO23 (Pin 16)
  +
while True:
  +
if button.is_pressed: # Taster betätigt?
  +
print("Der Taster ist betätigt.")
  +
else:
  +
print("Der Taster ist nicht betätigt")
  +
time.sleep(0.5)
  +
  +
=== Und jetzt? ===
  +
  +
Hier ein paar Vorschläge:
  +
* Programmiere einen Counter der zählt und ausgibt, wie häufig der Taster betätigt wurde.
  +
* Kombiniere die Taster-Schaltung mit der LED-Schaltung.
  +
* Lass die LED leuchten, wenn der Taster betätigt ist.
  +
  +
== CheatSheet ==
  +
Es gibt einen [https://tbs1-bo.github.io/hardware-101/raspi/ kleinen Infozettel], den du ausdrucken und dem RaspberryPi beilegen kannst. Darauf findest du die wichtigsten Informationen zur Hardware-Ansteuerung.
   
 
== Eingabe-Ausgabe-Modul ==
 
== Eingabe-Ausgabe-Modul ==
Zeile 105: Zeile 207:
 
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.
 
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''.
+
Die Software liegt als Modul im Python-Package-Index (PyPi) unter dem Namen ''eapi''. Sie kann mit ''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 ==
 
== Links ==
   
 
* [https://www.raspberrypi.org/ Webseite von RaspberryPi]
 
* [https://www.raspberrypi.org/ Webseite von RaspberryPi]
  +
* [https://www.raspberrypi.org/blog/raspberry-pi-imager-update-to-v1-6/ Raspberry Pi Imager] ist ein Tool, das bei vielen der oben genannten Schritte weiterhilft. Mit CTRL-SHIFT-X öffnet sich eine Oberfläche, über die Hostname, WiFi-Zugang, Passwort etc. konfiguriert werden können. In [https://www.heise.de/news/Krypto-Tipps-Raspi-Schnelleinrichtung-Street-View-Eigenbau-c-t-uplink-37-8-6034483.html c't uplink 37.8 (ab 24:45)] wird das Vorgehen vorgestellt.
 
* [https://www.raspbian.org/ Raspbian] - Das Betriebssystem für den RaspberryPi. Es basiert auf dem Betriebssystem Debian.
 
* [https://www.raspbian.org/ Raspbian] - Das Betriebssystem für den RaspberryPi. Es basiert auf dem Betriebssystem Debian.
 
* [http://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager] schreibt unter Windows Disk-Images auf SD-Karten. Unter Linux klappt dies mit dem dd-Befehl.
 
* [http://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager] schreibt unter Windows Disk-Images auf SD-Karten. Unter Linux klappt dies mit dem dd-Befehl.
Zeile 118: Zeile 219:
 
* [https://www.raspberrypi.org/magpi-issues/MagPi36.pdf The MagPi (Ausgabe 36)] - in dieser Ausgabe werden die ersten Schritte mit dem Raspberry Pi ab Seite 16 ausführlich beschrieben.
 
* [https://www.raspberrypi.org/magpi-issues/MagPi36.pdf The MagPi (Ausgabe 36)] - in dieser Ausgabe werden die ersten Schritte mit dem Raspberry Pi ab Seite 16 ausführlich beschrieben.
 
* [https://www.rheinwerk-verlag.de/raspberry-pi_3872/ 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.
 
* [https://www.rheinwerk-verlag.de/raspberry-pi_3872/ 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.
* [https://medienistik.wordpress.com/2013/03/27/neues-themenheft-unterrichten-mit-dem-raspberry-pi/ Kostenloses Themenheft: Unterrichten mit dem Raspberry Pi]
 
 
* [http://pinout.xyz/ pinout.xyz] zeigt die Pin-Belegung der GPIO-Pins des Pi zusammen mit typischen Code-Schnipseln in Python.
 
* [http://pinout.xyz/ pinout.xyz] zeigt die Pin-Belegung der GPIO-Pins des Pi zusammen mit typischen Code-Schnipseln in Python.
   
* Materialien von [https://www.bakera.de/dokuwiki/doku.php/schule/raspberry_pi Herrn Bakera] und [https://elektro.schule/doku.php/raspberry Herrn Gummlich]
+
* Materialien von [https://www.bakera.de/schule:raspberry_pi Herrn Bakera] und [https://elektro.schule/doku.php/raspberry Herrn Gummlich]
  +
  +
* [https://www.youtube.com/watch?v=zumnEOAk9aI How To Remotely Access The Raspberry Pi Via Bluetooth (SSH/VNC)] (Video)
  +
* [https://dietpi.com/ dietpi] ist ein minimales Betriebssystem für den Pi

Aktuelle Version vom 4. Oktober 2024, 09:34 Uhr

Der Raspberry Pi ist ein kleiner und kostengünstiger Einplatinencomputer. Er wird während der Ausbildung in verschiedenen Bereichen eingesetzt.

Beschaffung

Raspberry Pi

Für den Einsatz eines Raspberry Pi im Unterricht werden folgende Komponenten zwingend benötigt:

  1. Raspberry Pi 4B (kleinste Ausstattung ist ausreichend, ca. 45 €)
  2. 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 €)
  3. USB-C Steckernetzteil (2 A, ca. 8 €) (Informationen zu den Netzteilen)
  4. Adapter von USB auf Ethernet
  5. microSD-Karte Class 10 mit mindestens 16 GB Speicher. (ca. 5 €)
Eine Analyse verschiedener Karten gibt es bei elinux.org und bei raspberrypi.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.

  • Netzwerkkabel (ca. 3 €)

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.

Optional kann ein HDMI-USB-Dongle für das Debugging hilfreich sein. Dieses Video (mirror) beschreibt die Funktion.

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 kann man 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.

Die offiziellen Seite von Raspberry Pi Foundation verlinkt verschiedene Shops.

Wenn sich mehrere Besteller:innen zusammentun, können hierdurch zusätzlich Versandkosten eingespart werden.

Inbetriebnahme

Diese Anleitung geht davon aus, dass Sie entweder mindestens Windows 10 oder ein aktuellen Linux- oder MacOS-Betriebssystem verwenden.

Vor dem ersten Einsatz, muss auf dem Raspberry Pi ein Betriebssystem auf einer SD-Karte installiert werden.

Führe die folgenden Schritte nacheinander durch.

Zusammenbau des Raspberry Pi

Baue das Gehäuse und den Pi zusammen. Lege SD-Karte, SD-Kartenleser, USB-Ethernet-Adapter und Netzteil bereit.

Betriebssystem installieren und Basiskonfiguration

Pi Imager

Nutze den Raspberry Pi Imager und installiere das Betriebssystem "Raspberry Pi OS". Ein Anleitung findest du hier.

Nimm über den Button "Einstellungen bearbeiten" folgende Einstellungen vor (sollte die Optionen fehlen, kann Sie über Strg-Shift X eingeblendet werden):

  1. Hostname festlegen: Dies ist der Name des Pi, über den er im Netz zu finden ist. Wähle einen eindeutigen Namen. Verzichte auf Leerzeichen und Umlaute im Hostnamen und verwende am besten nur Klein- und Großbuchstaben ohne öäüß. Er darf nicht wie dein Laptop heißen.
  2. SSH aktivieren: SSH (Secure SHell) ermöglicht, den sicheren Zugriff auf die Kommandozeile eines Rechners.
  3. Benutzername und Passwort setzen: WICHTIG! Notiere diese Daten.
  4. WiFi einrichten mit den Zugangsdaten des Schul-WLAN

Notiere alle vorgenommenen Einstellungen (Hostname, Benutzername, Passwort, Wifi-Zugangsdaten) in einem Dokument und verwahre es sicher.


Funktionsprüfung

  1. Schließe den Pi mit einem Netzteil an eine Steckdose an.
  2. Verbinde ihn mit einem Ethernetkabel direkt mit dem PC/Laptop. Zwei LED an den Ethernetbuchse des Pi zeigen an, ob eine Verbindung besteht.
  3. Öffne ein Terminal oder die Powershell und versuche ihn mit ping HOSTNAME.local zu erreichen.
    Hinweis: Bei manchen Windowsversionen funktioniert der direkte Zugriff ggf. über den Hostnamen nicht mehr. Durch die Eingabe von ping -4 HOSTNAME.local in der Eingabeaufforderung, erhält man die IPv4 Adresse des Raspberry Pi. Mit dieser IP-Adresse ist der Fernzugriff möglich.
  4. Wenn alles geklappt hat, bekommst du eine Antwort vom Pi. Sollte es nicht sofort klappen, hab etwas Geduld! Der erste Start des neuen Betriebssystems dauert etwas länger. Erst wenn der "ping" funktioniert, kannst du fortfahren.
  5. Verbindung mit SSH: Öffne die Powershell(Windows) oder ein Terminal (Linux, MacOS) und stelle eine Verbindung mit ssh BENUTZERNAME@HOSTNAME.local her.

Pi herunterfahren und mit dem Internet verbinden

Der Pi kann nach dem Ändern des Hostname eindeutig identifiziert und daher in einem lokalen LAN oder im WLAN betrieben werden. Fahre dazu den Pi mit sudo halt oder sudo poweroff herunter.

Achtung! Ziehe nicht einfach den Netzstecker des Pi, ohne ihn korrekt herunterzufahren. Dies kann zu Beschädigungen der Hardware führen.

Der Pi kann mit einem LAN-Kabel mit dem Raumnetz/LAN verbunden und damit in das Internet gebracht werden. Nach dem Start ist er unter dem neuen Namen erreichbar - Endung .local nicht vergessen. Prüfe mit ping HOSTNAME.local, ob du den Pi erreichen kannst.

Fernzugriff über eine grafische Oberfläche aktivieren (VNC)

Virtual Network Computing (VNC)

Mit dem VNC-Protokoll kann man über das Netzwerk auf den Bildschirm eines entfernten Rechners zugreifen. Für den Raspberry Pi ist es in der VNC-Dokumentation beschrieben.

Lade einen VNC-Viewer wie z.B. RealVNC herunter und verbinden dich mit deinem Pi.

Neben der Bildübertragung bietet der Zugriff über VNC auch die Möglichkeit, Dateien zu übertragen.

Wenn die Verbindung scheitert, muss der VNC-Server aktiviert werden. Dies ist in der Dokumentation unter "Enabling the VNC Server" beschrieben.

Sollte die Fehlermeldung "Cannot currently show the desktop" auftauchen, muss die Auflösung in der raspi-config unter "Advanced Options" → "Resolution" geändert werden. Vermutlich ist die eingestellte Auflösung zu gering. [1]

Falls das Bild zu klein ist, kann die Bildschirmauflösung über "Einstellungen → Raspberry Pi Konfiguration → Auflösung festlegen" geändert werden. Alternativ kann über SSH auf dem Pi mit dem Befehl vncserver ein virtueller Bildschirm erzeugt werden. Auf diesen kann man sich mit HOSTNAME.local:1 verbinden.

Probleme mit VNC

In der aktuellen Version von Raspberry Pi OS (Stand Dezember 2023) gibt es Probleme mit dem wayland Window Manager und VNC [2]. Mit dieser Vorgehensweise sollte VNC benutzbar sein. Alles muss über SSH ausgeführt werden:

sudo raspi-config → Advanced Options → Wayland → X11 window manager
sudo raspi-config → Interface Options → VNC → YES → finish
sudo raspi-config → Display Options → VNC Resolution → Auflösung auswählen, die etwas kleiner ist als die Auflösung des eigenen Laptops (z.B. 1024x768) → finish → reboot
sudo raspi-config → System Options → Boot / Auto login → Desktop (requiring user to login) → finish → reboot

In einem Forumspost (Oktober 2023) wird auch der alternative VNC-Viewer tigerVNC empfohlen.

Sollte auch dies nicht funktionieren, kann eine alte Version von Pi OS installiert werden. Im Pi Imager ist diese über "Raspberry Pi OS (other)" → "Raspberry Pi OS (Legacy) Full" verfügbar.

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.

Ledschaltung.png

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.

Breadboard intern.jpg

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 7 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 39 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:

   from gpiozero import LED
   import time
   print("Hallo Welt!")
   led = LED(4)         # GPIO4 (Pin 7)
   while True:
       led.on()         # LED an
       print("blink")
       time.sleep(0.5)
       led.off()        # LED aus
       time.sleep(1)

Und jetzt?

Hier ein paar Vorschläge:

  • Verändere die Blink-Geschwindigkeit der LED. Wie schnell kannst du sie maximal blinken lassen?
  • Erweitere die Schaltung um eine weitere LED.
  • Lass zwei Leuchtdioden im Gegentakt blinken.

Tastereingabe

In einem zweiten kleinen Projekt soll Erkannt werden, ob ein Taster betätigt ist oder nicht. Du benötigst dafür folgendes Zubehör:

  • 1 Breadboard
  • 3 Jumper-Wire (Female-Male)
  • 1 Widerstand mit 1 kΩ
  • 1 Widerstand mit 10 kΩ
  • 1 Taster

Hast du die richtigen Bauteile ausgewählt, kannst du die folgende Schaltung auf dem Steckbrett aufbauen.

Taster Schaltung.png

Beginne mit dem Taster. Platziere den Taster so, wie auf folgendem Bild dargestellt.

Taster auf Breadboard.png

Das Programm

Mit folgendem Programmtext kannst du die Schaltung testen:

   from gpiozero import Button
   import time
   button = Button(23, pull_up=None, active_state=True)    # GPIO23 (Pin 16)
   while True:
       if button.is_pressed:   # Taster betätigt?
           print("Der Taster ist betätigt.")
       else:
           print("Der Taster ist nicht betätigt")
       time.sleep(0.5)

Und jetzt?

Hier ein paar Vorschläge:

  • Programmiere einen Counter der zählt und ausgibt, wie häufig der Taster betätigt wurde.
  • Kombiniere die Taster-Schaltung mit der LED-Schaltung.
  • Lass die LED leuchten, wenn der Taster betätigt ist.

CheatSheet

Es gibt einen kleinen Infozettel, den du ausdrucken und dem RaspberryPi beilegen kannst. Darauf findest du die wichtigsten Informationen zur Hardware-Ansteuerung.

Eingabe-Ausgabe-Modul

Eingabe-Ausgabe-Modul für den RaspberryPI

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 pip3 install eapi installiert werden. Wenn die Installation nur lokal für einen User erfolgen soll, heißt der Befehl pip3 install --user eapi.

Links

  • Webseite von RaspberryPi
  • Raspberry Pi Imager ist ein Tool, das bei vielen der oben genannten Schritte weiterhilft. Mit CTRL-SHIFT-X öffnet sich eine Oberfläche, über die Hostname, WiFi-Zugang, Passwort etc. konfiguriert werden können. In c't uplink 37.8 (ab 24:45) wird das Vorgehen vorgestellt.
  • 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.
  • pinout.xyz zeigt die Pin-Belegung der GPIO-Pins des Pi zusammen mit typischen Code-Schnipseln in Python.