Der Raspberry
Last updated
Was this helpful?
Last updated
Was this helpful?
Benötigt wird hierbei ein Mac oder Linux Computer, der Pi und eine microSD Karte. Das Betriebssystem kann gedownloaded werden. "Raspbian with Desktop" ist ausreichend, oder wenn gar keine grafische Oberfläche benötigt wird am besten die "Lite" Version verwenden. Das heruntergeladene Zip sollte nun entpackt werden.
Nach Download des OS, wird die SD-Karte mit dem Computer verbunden und ein Terminal geöffnet. Mit dem Befehl diskutil list
wird eine Liste der angeschlossenen Datenträger angezeigt, und die SD-Karte sollte sich unter dem Bezeichner disk2
finden. Mit dem Befehl: diskutil unmountDisk /dev/disk2
wird die Karte nun ausgeworfen, damit sie neu bespielt werden kann. Nun kann das OS auf die Karte übertragen werden, mit dem Befehl: sudo dd if=Downloads/2019*.img
sollte ein Fehler erscheinen, ist höchstwahrscheinlich der Benutzer nicht berechtigt das Programm sudo
zu verwenden. Um dies zu umgehen wird zu erst der Befehl: su superuser
eingeben und mit dem Administrator Passwort quittiert. Danach ein sudo su
und der Administrator ist angemeldet, nun noch mal ein dd if=Downloads/2019*.img of=/dev/rdisk2 bs=1m
. Nach dem Fertigstellen des Befehls, sollte nun das Administrator-berechtigte Fenster geschlossen werden.
Die bespielte SD-Karte kann nun in den Pi eingesteckt werden. Wenn ein Raspbian mit Desktop installiert wurde, empfiehlt sich die Einrichtung über einen HDMI Monitor mit Hilfe einer Tastatur und Maus (min. 2.5 A Netzteil benötigt).
Der Standard Login für den Pi lautet: pi:raspberry
(Hier ist zu beachten das die Standart Tastatur einstellungen qwerty sind!). Als erstes sollte der Zugang über ssh aktiviert werden. Dafür wird auf dem Pi ein Terminal geöffnet und dann der Befehl sudo raspi-config
eingegeben. Unter Punkt 1 sollte als erstes das passwort für den User pi geändert werden. Unter Punkt 4 kann danach die Sprache und Tastatur Layout angepasst werden.
Nun unter Punkt 5 "Interfacing Options" wird der ssh-Zugang aktiviert. Jetzt kann der Bildschirm wieder entfernt werden, durch Anschluss eines LAN-Kabels erhält der Pi nun eine IP und kann wie unter diesem Abschnitt (link) beschrieben, im Netzwerk identifiziert werden. Anschließend kann über einen Client die ssh Verbindung hergestellt werden (mit ssh pi@192.168.2.X
).
Nach dem Zugriff über ssh
(link erklärung) wird über den Befehl:
der Paketindex des Programmes apt
aktualisiert. Anschließend werden mit:
alle veralteten Pakete automatisch aktualisiert (dies schließt aber keine manuell installierten Pakete mit ein, zum Beispiel Python Pakete).
Um dafür zu sorgen, dass der Raspberry die IP-Adressen aushändigt, muss eine Software namens isc-dhcp-server
mit Hilfe von sudo apt install isc-dhcp-server
installiert werden. Die Konfiguration dieser Software ist relativ aufwendig und kompliziert, da sie sich über mehrere Dateien erstreckt. Der Server sollte nach der pivCCU (link) installiert werden, auf keinen Fall davor.
Zuerst wird die IPv6 Funktionalität des Pi deaktiviert in dem mit dem Befehl sudo nano /etc/sysctl.conf
eine Zeile: net.ipv6.conf.all.disable_ipv6 = 1
unten angefügt wird. Dann wird die Konfiguration mit sudo sysctl -p
neu eingelesen.
Nun wird mit sudo /etc/default/isc-dhcp-server
der dortige IPv6 Eintrag komplett gelöscht und hinter IPv4 wird eth0
eingetragen: INTERFACESv4="eth0"
.
Um sie zu updates reicht ein simples sudo apt update
und sudo apt upgrade -y
, da während der Installation von piVCCU
die entsprechenden Paketquellen zur Paketliste hinzugefügt werden.
Während der Installation muss unbedingt darauf geachtet werden, bei Schritt 7 die IP-Adresse statisch zu definieren. Hier wird folgendes eingetragen:
Die Auslastung des Raspberrys kann auf vielfältige Art und Weise erkundet werden. Einmal über das Programm htop
das CPU und RAM Auslastung aller Prozesse in echtzeit auflistet. Dann kann ebenfalls das Netzwerk mit sudo iftop
betrachtet werden und schlussendlich die Festplatten (bzw. SD-Karten) Auslastung mit: sudo iotop
. Sollte eines der Programme fehlen, kann es ganz einfach über sudo apt install PROGRAMM
nachinstalliert werden.
Die Ansicht im Speedport sollte nicht zur Rate gezogen werden, da der Raspberry statische DHCP-leases (sozusagen IP-Adressen Tickets) verteilt und der Speedport keinen Einfluss darauf nehmen kann. Stattdessen eignet sich die App Lanscan
auf dem Mac und Fing
auf einem mobilen Endgerät, um zuverlässig hostnamen, IP's und MAC-Adressen zu ermitteln.
Nun erhält das Gerät mit der entsprechenden MAC-Adresse (ethernet) immer die selbe IP.
Lorem Ipsum
Um die derzeitigen Zugriffsrechte und Besitzer einer Datei anzuzeigen, wird der Befehl ls -la
ausgeführt.
Das Verzeichnis Desktop
gehört den Benutzer pi
und der Gruppe pi
. Die Buchstaben am Anfang stehen für die Zugriffsrechte. r = read, also lesen, w = write, schreiben, x = execute, ausführen. Wie zu sehen ist, gibt es drei Blöcke der Buchstaben. Der erste Block aus drei Buchstaben beschreibt die Rechte des Eigentümers. Die nächsten beiden stehen für die Gruppe normalen Benutzer, und die letzten Buchstaben für benutzer denen das verzeichnis nicht gehört und nicht der Gruppe angehören (öffentlich).
Um nun die Zugriffsrecht zu ändern wird zum Beispiel folgendes ausgeführt:
Dies fügt dem shellscript test.sh
die Ausführungsrechte hinzu, dass heißt das Script kann nun ausgeführt werden. Um den Besitzer einer Datei zu ändern wird folgendes gemacht:
Dies ändert den Besitzer zu majuss
und der Gruppe majuss
.
Die einfachste Datei-Manipulation geht mit dem Programm touch
von statten.
Erstellt einfach eine leere Datei mit dem entsprechenden Namen.
Um ein Verzeichnis zu erstellen wird folgendes ausgeführt:
mkdir
also "make directory" erstellt ein leeres Verzeichnis mit dem entsprechenden Namen. Um nun das wd
(working directory) also das "Arbeitsverzeichnis" in das eben erstellte zu wechseln, wird: cd test123
ausgeführt. Der Pfad zum derzeitigen Arbeitsverzeichnis kann mit pwd
(path working directory) eingesehen werden.
Um eine Datei zu bewegen wird der derzeitige Pfad zu Datei/ Verzeichnis und der zukünftige benötigt: mv test.txt Desktop/
.
Das Kopieren erfolgt analog mit dem Programm cp
: cp test.txt test2.txt
. Für ein Verzeichnis wird hier jedoch der Parameter -r
(recusrive) benötigt: mv -r test123 Desktop/
Das Löschen sollte mit größter Sorgfalt verwendet werden, gelöschte Dateien sind nicht wiederherstellbar (da Flashspeicher ihre freien Blöcke bereinigen). rm test.txt
löscht eine Datei, wobei rm -rf test123
ein Verzeichnis löscht.
Um beliebige Textdateien wie zB. .yaml
oder .txt
Dateien auf dem Raspberry zu editieren wird am besten der Editor nano
verwendet. Um ihn zu verwenden wir er einfach aufgerufen und als Parameter der Pfad zur Datei angegeben. zB.:
Um nicht jedes mal den Benutzer auf root
wechseln zu müssen, wird das Programm sudo
verwendet. Es führt dazu, dass der folgende Befehl mit Administratorrechten ausgeführt wird. zB.:
Dies ist immer dann notwendig, wenn Dateien editiert werden sollen, die dem Nutzer pi
nicht gehören. Oder wenn Programme ausgeführt werden sollen, die generell administrative Rechte benötigen, zB. das Programm shutdown
.
Der Raspberry wird über die Kommandozeile gesteuert. Dies erfolgt über das Programm ssh
(secure shell). Es basiert auf ein schlüsselbasiertes Kryptographieverfahren und gehört zu den sichersten Anwendungen der Welt. Beim erzeugen der Authentifizierungsschlüssel mit ssh-keygen
wird ein sogenannter privater und öffentlicher Schlüssel im Verzeichnis /home/pi/.ssh/
erzeugt. Der private Schlüssel in der Datei id_rsa
sollte niemals herausgegeben oder verschickt werden, da er das einloggen in alle Geräte ermöglicht wo der öffentliche Schlüssel aus der Datei id_rsa.pub
(pub für public) hinterlegt ist. Um sich nun sicher auf ein Gerät einzuloggen wird ssh pi@192.168.1.55
ausgeführt. Wenn noch kein Schlüssel hinterlegt wurde, bzw. die Einstellungen noch relativ unsicher sind, wird er nun nach dem Passwort für den Benutzer pi
fragen. Nachdem es eingegeben und mit Enter bestätigt wurde, kann nun nano ausgeführt werden um den öffentlichen Schlüssel des Clients (Mac) einzutragen.
Mit dem Befehl: curl -L https://install.pivpn.io | bash
wird das Installationsprogramm für openVPN auf dem Pi heruntergeladen und ausgeführt. Die Einrichtung ist relativ simpel und es kann eigentlich fast alles mit enter bestätigt werden. Lediglich die IP-Adresse sollte auf die DynDNS geändert werden. Nach der Installation muss der Pi neugestartet werden.
Danach wird mit: pivpn add
ein Profil hinzugefügt und entsprechend der Name des Clients und ein Passwort vergeben. Das erstelle Profil befindet sich dann in /home/pi/ovpns/
es wird einfach mit Hilfe von Forklift
kopiert und dann mit Visual Studio Code
geöffnet und Zeile vier wird geändert:
Der Port sollte auf etwas wie 50700
geändert werden, um zu verhindern, dass Fremde online das VPN leicht aufspüren können. Nun wird der Port im Router weitergeleitet, dazu im Routermenü auf Internet -> Portfreischaltung -> Port-Umleitungen und Port-Weiterleitungen
dort auf das Plus und die Weiterleitung benennen und den Pi auswählen. Nun wird der UDP Port 50700
auf den lokalen Port 1194
weitergeleitet.
Bei einige Programmen empfiehlt es sich einen automatisierten Neustart zu programmieren. Die Prozessorbelastung durch amazon-dash
wird zB. mit der Zeit immer höher, höchstwahrscheinlich weil eine Variable nicht korrekt deklariert wird. HomeAssistant sollte zB. einmal in der Woche neu gestartet werden, um dies zentralisiert und korrekt zu tun, sollten sogenannte crontabs
angelegt werden. Hierzu einfach sudo crontab -e
aufrufen (beim ersten Aufruf wird nach dem Editor gefragt, einfach nano
mit der 1
bestätigen). Hier werden nun unten folgende Zeilen hinzugefügt:
Cups ist eine Art Vermittler-Software die beliebige Drucker über das Netzwerk freigibt, damit diese direkt über zB. iOS ausgewählt werden können. Der Server wird mit Hilfe von sudo apt install cups
installiert. Danach kann auf das Webinterface des Servers über einen Browser zugegriffen werden: 192.168.2.X:631
das X
durch die eigentliche IP-Adresse des PIs ersetzen.
Oftmals wird der Neustart durch das warten auf die Beendigung einiger Dienste verzögert. Dies kann beschleunigt werden, indem das TimeOut verringert wird.
Uninstall unrar-free
.
Make sure you have a source repository by editing /etc/apt/sources.list
.
Sync the apt database.
Create a working directory and move into it. The unrar-nonfree
command will be built in this directory.
Install the dependencies required by unrar-nonfree
.
Download the unrar-nonfree
sources and build the .deb
package.
Install the generated .deb
package. Its name varies depending on the version of unrar-nonfree
.
The working directory you have created in step 4 will be removed at next boot; there is no use to delete it.
Die folgende Liste gibt einen Überblick welche Software auf dem Raspberry läuft:
Cups Druckserver
HomeAssistant
piVCCU
amazon-dash
isc-dhcp-server
piVPN
Ein Paket namens piVCCU
ermöglicht die Installation einer virtuellen CCU auf einem Raspberry. Zu finden ist es auf der . Die Installation ist relativ aufwendig und sollte stets exakt nach ausgeführt werden.
Nach der Installation ist die CCU im Netzwerk erreichbar. Um ihre IP herauszufinden einfach eine der Methoden ausführen. Falls ihre IP-Adresse manuell gesetzt werden soll, einfach den Befehl sudo nano /var/lib/piVCCU/userfs/etc/config/netconfig
ausführen und die entsprechenden Zeilen anpassen:
Die CCU funktioniert nicht ohne entsprechende Hardware. Um die CCU an einem Raspberry zu verwenden wird folgendes Modul verwendet: .
Da der Speedport diese Funktion nicht unterstützt (lediglich hostnamen können vergeben werden, diese funktionieren aber nicht in einigen Integrationen von Hass) verteilt der Pi die IP-Adressen mit Hilfe eines DHCP-Servers (Dynamic Host Configuration Protocol, dynamisches Host Konfigurations-Protokoll). Dieser wird mit Hilfe dieser installiert. Nach dem er installiert wurde, kann mit Hilfe des Befehls: nano /etc/dhcp/dhcpd.conf
die IP-Adresse, MAC und Hostname eingetragen werden. Um die MAC Adresse des Geräts zu ermitteln, siehe diesen . Die Auflistung für ein Gerät sieht dann zum Beispiel so aus:
Im Editor selbst kann nur die Tastatur und die Pfeiltasten zu Navigation eingesetzt werden. Um ihn zu verlassen und die Datei zu speichern, wird ctrl + x
gedrückt und danach y
um zu bestätigen, dass die Datei überschrieben werden soll. Sollte eine Meldung erscheinen, dass die Permissions / Zugriffsrechte nicht ausreichen sind sollte der Editor mit Hilfe von gestartet werden.
Dateien die dem Benutzer pi
gehören (Besitzrechte können mit ls -la
) können auch komfortabel mit Visual Studio Code
und Forklift
editiert werden. Hierzu wird Forklift
geöffnet und in der Favoritenleiste links der Raspberry ausgewählt. Nun kann auf dem Raspberry Dateisystem erkundet werden. Um Dateien mit Visual Studio Code
zu öffnen, empfiehlt es sich die Datei recht zu klicken und dann unter dem "Öffnen mit"-Menü, Visual Studio Code
auszuwählen. Nun wird die Datei in ein temporäres Verzeichnis kopiert und kann editiert werden. Beim speichern, kopiert Forklift
die Datei automatisch wieder auf den Raspberry, vorausgesetzt der Benutzer pi
besitzt die entsprechenden .
In einem anderen Terminal Fenster auf dem Client Gerät sollte nun cat .ssh/id_rsa.pub
ausgeführt werden. Der erscheinende Schlüssel im Format: ssh-rsa AAAABHIUGDFIHEOWIJREWIUHWEFQOWIEHGZTRZOIHJKBHVGCDRZE
sollte nun vollständig kopiert werden. Zurück zum Fenster mit geöffneten nano
wird der Schlüssel hier einfach eingefügt und die .
Die genaue Syntax der Cron-Notation kann in einem nachvollzogen werden.
Zuerst MEGAcmd downloaden (von der offiziellen mega.nz Seite). Es sollte das Raspbian .deb Paket gewählt werden. Anschließend den Download link kopieren und auf dem Raspberry mit wget
herunterladen oder per Forklift vom Client auf den Pi kopieren und anschließen mit dpkg -i *.deb
installieren. Nun sind sämtliche MEGAcmd command line Programme installiert. Mit dem Aufruf von mega-login 'email' 'password'
einloggen. Danach mit mega-sync 'LOKALER_PFAD' 'MEGA_PFAD'
eine neue Synchronisationsregel erstellen.