====== - Raspberry Pi ======
===== - Aufsetzen =====
**Aufbau**
Bildschirmtisch öffnen:
* Verriegelung unter dem Tisch öffnen
* Bildschirm aufrichten
* wieder verriegeln
Kabel anschliessen:
* Tastatur und Maus an USB
* Bildschirm an HDMI
* Netzteil NOCH NICHT anschliessen (Der Raspi startet, sobald er eingesteckt wird. Es gibt keinen Ein-/Aus-Schalter.)
* SD-Card einlegen. Sie ist bereits vorinstalliert.
**Erster Start**
* Netzteil an Mikro-USB einstecken.
* Das Gerät startet, und das dauert etwas...
* Der Konfigurationsassistent startet:
* Ländereinstellungen auswählen, am sinnvollsten wäre Switzerland, Swiss High German, Zurich.
* Benutzername und Passwort festlegen. Dieser Benutzer ist der Oberboss.
* WLAN auswählen: Campus-Guest, Schlüssel: ksr_guest
* Browser auswählen
* Updates NICHT DURCHFÜHREN, also 'skip'
* Restart, fertig.
** Raspi beschriften**
* mit P-Touch
===== - Konsolenbefehle =====
**Navigation in der Konsole:**
cd my_folder # in Unterordner navigieren, cd = change directory
cd .. # in übergeordneten Ordner zurückkehren
pwd # aktuellen Pfad ausgeben (print working directory)
ls # zeige Dateien und Unterordner im aktuellen Ordner an, ls = list
ls -a # auch versteckte Dateien
ls -l # detaillierte Liste (Grösse, Rechte, Datum usw.).
ls -lh # wie letzter, aber human-readable, z.B. 1.2K statt 1200
tree # baumartige Darstellung aller Unterordner, muss ev. installiert werden sudo apt ...
**Ordner**
mkdir my_folder # neuen Ordner erstellen
rmdir my_folder # Ordner löschen
**Dokumente**
touch my_file.txt # neues File erstellen
nano my_file.txt # File im Konsoleneditor Nano öffnen und bearbeiten
vim my_file.txt # alternativer Editor
cat my_file.txt # Inhalt direkt im Terminal anzeigen
rm my_file.txt # File löschen
cp quelle ziel # File/Ordner kopieren
mv quelle ziel # File/Ordner verschieben
**Suchen**
find . -type f -name my_file.txt # suche im aktuellen Ordner nach File
find . -type f -iname my_file.txt # wie oben, aber Gross-/Kleinschreibweise wird ignoriert
grep -ri "text in doc" # suche nach File, welches Inhalt hat, -r: rekursiv in Unterordner, -i: G/k ignorieren
**Software installieren**
sudo apt install vlc # Paketmanager um Programm (hier VLC Player zu installieren), sudo = superuse do (als Admin ausführen), alternativ: sudo apt-get ...
==== Aufgaben ====
Löse alle folgende Aufgaben auf dem Raspberry Pi **ausschliesslich in der Konsole** mithilfe der Befehle oben.
1. Navigiere durch die Ordnerstruktur des Raspberry Pi und verschaffe dir einen Überblick. Verwende Befehle wie `cd, ls, pwd, tree`.
1. Erstelle folgende Ordnerstruktur mit den angegebenen (leeren) Dokumenten:
- allgemeinwissen
- witze
- informatik
- algorithmen
- hello_world.py
- arduino
- flachwitze.txt
1. Füge dem Dokument `flachwitze.txt` deinen liebsten Flachwitz hinzu.
1. Kopiere das Dokument `flachwitze.txt` dann an den richtigen Ort (in Ordner `witze`).
1. Lösche das ursprüngliche Dokument.
1. Navigiere an den Ursprung der Ordnerstruktur und zeige sie mit dem tree-Befehl an.
1. Suche nach dem Dokument `flachwitze.txt`
1. Suche nach einem Wort, welches im Witz vorkommt.
1. Öffne nun das Python-File `hello_world.py` und füge die Zeile `print("Hello World!")` hinzu.
1. Führe das Python File dann in der Konsole aus: `python hello_world.py`. Der Output sollte direkt in der Konsole angezeigt werden.
===== - Weitere Einstellungen =====
Alle Operationen dieses Abschnitt erfolgen in der Kommandozeile mit dem Befehl
sudo raspi-config
**Hostname**
Gib deinem Raspi einen Namen:
* System Options
* Hostname
* Lesen, eingeben, bestätigen
**VNC**
Aktivierung:
* Interface Options
* VNC
* einschalten, bestätigen
Verwendung:
Um mit deinem PC per VNC auf den Raspi zuzugreifen, musst du
* ins WLAN **Campus-Guest** wechseln
* einen VNC-Client installieren (zB. **Real-VNC**)
* die IP-Adresse deines Raspis ermitteln (ifconfig)
* im VNC-Client diese IP-Adresse eingeben und verbinden
* dein früher vergebenes Passwort noch wissen...
**SSH**
Aktivierung:
* Interface Options
* SSH
* einschalten, bestätigen
Verwendung:
Um mit deinem PC per SSH auf den Raspi zuzugreifen, musst du
* ins WLAN Campus-Guest wechseln
* den SSH-Client **putty** herunterladen (nur auf dem PC. Mac: einfach in der Kommandozeile)
* die IP-Adresse deines Raspis ermitteln (ifconfig)
* im putty diese IP-Adresse eingeben und verbinden
* dein früher vergebenes Passwort noch wissen...
===== - Tools =====
File Manager
* Installiere den Midnight-Commander
* Verwende dazu apt in der Kommandozeile.
Office
* Installiere das quelloffene Paket Libre Office.
* Verwende dazu apt in der Kommandozeile.
==== Aufgaben ====
* Kopiere mittels SSH (bzw. scp) je eine bestehende Word-, Powerpoint- und Exceldatei von deinem PC auf den Raspi, und zwar in deine persönlichen Dokumente.
* Öffne diese Dateien, ändere einige Kleinigkeiten und speichere die Änderungen.
* Kopiere die geänderten Dateien auf deinen Rechner zurück und teste, ob alles richtig aussieht ;-)
==== Hausaufgabe auf Dienstag, 11.03. ====
* Raspberry Pi Imager auf den eigenen PC herunterladen
* SD-Karte am PC anschliessen. Falls es am PC kein SD-Kartenlaufwerk gibt, hat es in der Mediothek oder in der IT welche zur Ausleihe.
* Raspberry Pi Imager starten und folgende Optionen auswählen:
* Raspberry Pi Modell: **Raspberry Pi 3**
* Betriebssystem (OS): **Raspberry Pi OS Lite (64Bit)**
* SD-Karte: Eingesteckte Karte auswählen
* Starten mit **Weiter**.
* ...vorher festgelegte OS-Anpassungen...: **Nein**
* ...wirklich fortfahren: **Ja**
* Es folgt ein längerer Schreib- und Verifiziervorgang.
* Schliesslich kann die Karte entnommen werden - Hausaufgabe erledigt.
===== - Server aufsetzen =====
**Aufbau**
Bildschirmtisch öffnen:
* Verriegelung unter dem Tisch öffnen
* Bildschirm aufrichten
* wieder verriegeln
Kabel anschliessen:
* Tastatur und Maus an USB
* Bildschirm an HDMI
* Netzteil NOCH NICHT anschliessen (Der Raspi startet, sobald er eingesteckt wird. Es gibt keinen Ein-/Aus-Schalter.)
* SD-Card einlegen. Sie ist bereits vorinstalliert.
**Erster Start**
* Netzteil an Mikro-USB einstecken.
* Das Gerät startet, und das dauert etwas...
* Der Konfigurationsassistent startet:
* Keyboard Layout: German Switzerland (2x)
* Benutzername und Passwort festlegen. Dieser Benutzer ist der Oberboss.
* Nur wird die Anmeldung mit den neuen Benutzerdaten verlangt.
* WLAN ist noch blockiert und muss aktiviert und konfiguriert werden: **sudo raspi-config**
* System Options
* Wireless LAN
* Country: CH
* SSID: Campus-EFIF
* Schlüssel: AeRV1GI4g_r7
* Hostname setzen
* Interface Options
* SSH: aktivieren
* Neustart
===== - Feste IP-Adresse zuweisen =====
'Normale' Client-Computer haben gewöhnlich keine feste IP-Adressen, sondern erhalten sie dynamisch zugewiesen. Sie kann somit ändern.
Server sollten immer die gleiche IP-Adresse haben, damit sie zuverlässig gefunden werden können.
** Netzwerk-Konfiguration**
* Nach dem Neustart und der Anmeldung am besten bis auf weiteres sudoer werden: sudo -i
* nmtui
* Wi-Fi::Campus-EFIF > edit
* IPv4: Automatic \> Manual
* Show
* Addresses:
* Add
* eintragen gemässe Liste unten, aber richtig, zB. für Rejda: **172.16.251.201/24** (also inkl. 24-Bit-Netzwerkmaske)
* Gateway (für alle): **172.16.251.254**
* DNS servers: 172.16.1.100 und 172.16.1.104
* IPv6: Automatic > Disabled
* ok, back, quit
* Netzwerkeinstellungen anzeigen: ip r
* Stimmt nicht? > reboot
** Netzwerk-Adressen**
^ Name ^ Vorname ^ IP-Adresse |
| Bajramoska | Rejda | 172.16.251.201 |
| Camani | Lorenzo | 172.16.251.202 |
| Capizzi | Mirea | 172.16.251.203 |
| Cetina | Dylan | 172.16.251.204 |
| Copellini | William | 172.16.251.205 |
| Cremonese | Joris | 172.16.251.206 |
| Fleming | Rico | 172.16.251.207 |
| Herzig | Laurin | 172.16.251.208 |
| Horn | Dimitri | 172.16.251.209 |
| Keskin | Zeynep | 172.16.251.210 |
| Kreis | Jona | 172.16.251.211 |
| Oberthaler | Rian | 172.16.251.212 |
| Osti | Luca | 172.16.251.213 |
| Schmid | Andrin | 172.16.251.214 |
| Skenderi | Hamza | 172.16.251.215 |
| Stölzle | Johannes | 172.16.251.216 |
| Subramaniam | Darvin | 172.16.251.217 |
| Testolin | Davide | 172.16.251.218 |
| Wirth | Aaron | 172.16.251.219 |
| Zendeli | Luan-Nebi | 172.16.251.220 |
| Zhabrovets | Andrii | 172.16.251.221 |
**SSH testen**
Um mit deinem PC per SSH auf den Raspi zuzugreifen, musst du
* ins WLAN **Campus-EFIF** wechseln
* aber keine manuelle IP vergeben!
* im putty die vorher gesetzte IP-Adresse eingeben und verbinden
* dein früher vergebenes Passwort noch wissen...
* Tipp: Die IP-Adresse kann in putty zusammen mit einem aussagekräftigen Namen gespeichert werden.
===== - Webserver installieren =====
...zum Beispiel mit [[https://pimylifeup.com/raspberry-pi-nginx|dieser Anleitung]]
* PHP-FPM wird nicht benötigt.
===== - Websites Basics =====
[[gf_informatik:web_sca:websites|Unterlagen GFIF]]
{{ :ef_informatik:efif_websites.pdf |Slides EFIF Websites}}
Aufträge JS:
* Auftrag I: Schnaps-Bier-Sirup
* Auftrag II: [[https://sca.ksr.ch/doku.php?id=gf_informatik:web_sca:websites#auftragdies_und_das|Auftrag Dies und das (inkl. Tipps)]]