Difference between revisions of "Raspberry Pi Setup de"

From MuonPi-Wiki
Jump to navigation Jump to search
(Created page with "This article will introduce to you, how to set up a Raspberry Pi from scratch with all software needed to run the detector hardware. DISCLAIMER: If not stated otherwise, this...")
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
This article will introduce to you, how to set up a Raspberry Pi from scratch with all software needed to run the detector hardware.
+
In diesem Artikel wird erklärt, wie man einen Raspberry Pi von Grund auf mit der notwendigen Software für die Detektorhardware einrichtet.
  
DISCLAIMER: If not stated otherwise, this tutorial is developed on Raspian 10 Buster.
+
DISCLAIMER: Wenn nicht anders angegeben, wurde dieses Tutorial für Raspian 10 Buster entwickelt.
  
 
__TOC__
 
__TOC__
  
= Initial Setup =
+
= Erstmaliges Setup =
(Requirements: Raspberry Pi version 2 or above (with 40-pin GPIO connector) )
+
(Anforderungen: Raspberry Pi Version 2 oder höher (mit 40-pin GPIO-Anschluss) )
* Create a fresh install of Raspbian Buster operating system e.g. from [https://www.raspberrypi.org/downloads/raspberry-pi-os/ here] on microSD card (any version with or without desktop)
+
* Erstelle eine frische Installation des Betriebssystems Raspbian Buster z. B. von [https://www.raspberrypi.org/downloads/raspberry-pi-os/ hier] auf microSD-Karte (beliebige Version mit oder ohne Desktop).
* Change the default password of the user "pi". This is strongly recommended, since connections through ssh will be enabled in the next step which should always have a strong authentication metric. Change it with <code>sudo raspi-config</code> >> Change User Password or on the command line with <code>passwd</code>
+
* Ändere das Standardpasswort des Benutzers "pi". Dies wird dringend empfohlen, da im nächsten Schritt Verbindungen über ssh aktiviert werden, die immer eine starke Authentifizierungsmetrik haben sollten. Ändere es mit <code>sudo raspi-config</code> >> Change User Password oder auf der Kommandozeile mit <code>passwd</code>
* Enable the serial interface (UART) and disable the login shell via the UART. In terminal: <code>sudo raspi-config</code> >> Interfacing Options >> Serial >> Login shell over serial: No >> Enable serial hardware: Yes
+
* Aktiviere die serielle Schnittstelle (UART) und deaktiviere die Login-Shell über die UART. Im Terminal: <code>sudo raspi-config</code> >> Schnittstellenoptionen >> Seriell >> Login-Shell über Seriell: Nein >> Serielle Hardware einschalten: Ja
* Enable I2C Interface: In terminal: <code>sudo raspi-config</code> >> Interfacing Options >> I2C >> Enable: Yes >> Reboot optional
+
* I2C-Schnittstelle aktivieren: Im Terminal: <code>sudo raspi-config</code> >> Interfacing Options >> I2C >> Enable: Ja >> Reboot optional
* Enable SSH: The SSH protocol is needed if you want to remotely configure your headless Raspberry Pi. In a terminal: <code>sudo raspi-config</code> >> Interfacing Options >> SSH >> Enable: Yes >> Reboot
+
* SSH aktivieren: Das SSH-Protokoll wird benötigt, wenn Sie Ihren kopflosen Raspberry Pi aus der Ferne konfigurieren wollen. In einem Terminal: <code>sudo raspi-config</code> >> Interfacing Options >> SSH >> Enable: Ja >> Reboot
* Configure the network connection: By default, the RPi is configured to automatically obtain an IP address when a connection is available and DHCP in your local network is active (this should be the case for most local/home networks).
+
* Konfiguriere die Netzwerkverbindung: Standardmäßig ist der RPi so konfiguriert, dass er automatisch eine IP-Adresse bezieht, wenn eine Verbindung verfügbar ist und DHCP im lokalen Netzwerk aktiv ist (dies sollte bei den meisten lokalen/Heimnetzwerken der Fall sein).
* If you prefer a fixed IP address in a local network: edit the file /etc/dhcpcd.conf. Use the template and uncomment the "Example Static IP Configuration" section with your desired IP address.
+
* Wenn eine feste IP-Adresse in einem lokalen Netzwerk bevorzugt wird: Bearbeite die Datei /etc/dhcpcd.conf. Verwende die Vorlage und kommentiere den Abschnitt "Example Static IP Configuration" mit der gewünschten IP-Adresse aus.
* If network access should be established via WiFi, either configure it via the network configuration wizard in the graphical desktop environment (usually network icon in the system bar), or manually following these steps (either method is fine):
+
* Wenn der Netzwerkzugang über WiFi hergestellt werden soll, konfiguriere ihn entweder über den Netzwerkkonfigurationsassistenten in der grafischen Desktop-Umgebung (normalerweise das Netzwerksymbol in der Systemleiste) oder führe die folgenden Schritte manuell aus (beide Methoden sind in Ordnung):
** Make sure that the wpa_supplicant package is installed:<code>sudo apt install wpasupplicant</code>
+
** Stelle sicher, dass das Paket wpa_supplicant installiert ist:<code>sudo apt install wpasupplicant</code>
** edit the file /etc/wpa_supplicant/wpa_supplicant.conf:<code>sudo nano /etc/wpa_supplicant/wpa_supplicant.conf</code>
+
** Bearbeite die Datei /etc/wpa_supplicant/wpa_supplicant.conf:<code>sudo nano /etc/wpa_supplicant/wpa_supplicant.conf</code>
the configuration should look like this (non-relevant lines not shown):
+
die Konfiguration sollte wie folgt aussehen (nicht relevante Zeilen werden nicht angezeigt):
 +
 
  
 
  update_config=1
 
  update_config=1
Line 26: Line 27:
 
         key_mgmt=WPA-PSK
 
         key_mgmt=WPA-PSK
 
  }
 
  }
Enter your WiFi's SSID and password in the indicated fields.
+
Trage die SSID und das Passwort des WLANs in die angezeigten Felder ein.
Finally, restart the system that the changes take effect.
+
Starte abschließend das System neu, damit die Änderungen wirksam werden.
Optionally, update your system by:
+
Optional kann das System aktualisiert werden, indem man folgende Zeilen eingibt:
 
  sudo apt update && sudo apt upgrade
 
  sudo apt update && sudo apt upgrade
  
You should have a fully configured Raspbian system by now and are ready-to-go to set up the MuonPi in the next step.
+
Jetzt sollte ein ein vollständig konfiguriertes Raspbian-System vorhanden sein und der MuonPi kann im nächsten Schritt eingerichtet werden.
  
 
= MuonPi Setup =
 
= MuonPi Setup =
(Requirements: a MuonPi board plugged onto the GPIO connector of the RPi)
+
(Voraussetzungen: ein MuonPi-Board, das auf den GPIO-Anschluss des RPi gesteckt wird)
* First, add the MuonPi apt repository to your system:
+
* Zunächst muss das MuonPi apr Repository zum System hinzugefügt werden:  
 
  wget -qO - <nowiki>https://archive.muonpi.org/muondetector.public.key</nowiki> | sudo apt-key add -  
 
  wget -qO - <nowiki>https://archive.muonpi.org/muondetector.public.key</nowiki> | sudo apt-key add -  
  
 
  sudo sh -c "echo deb <nowiki>https://archive.muonpi.org/raspbian buster main</nowiki> > /etc/apt/sources.list.d/muondetector.list"
 
  sudo sh -c "echo deb <nowiki>https://archive.muonpi.org/raspbian buster main</nowiki> > /etc/apt/sources.list.d/muondetector.list"
* Update the repositories:
+
* Aktualisierung der Repositories:
 
  sudo apt update
 
  sudo apt update
* Install the muondetector-daemon package and it's dependencies:
+
* Installierung des Pakets muondetector-daemon und seiner Abhängigkeiten:
 
  sudo apt install muondetector-daemon
 
  sudo apt install muondetector-daemon
* Optional: install the Graphical User Interface (GUI) program to monitor and control the MuonPi locally
+
* Optional: Installierung des Graphical User Interface (GUI) Programms, um den MuonPi lokal zu überwachen und zu steuern
 
  sudo apt install muondetector-gui
 
  sudo apt install muondetector-gui
* The GUI can connect to the MuonPi over network as well, so it can be installed on other computers in the local network. Currently, binary packages for Raspbian, Ubuntu and Windows are available. The Linux-based versions can be installed from the package repositories (execute steps 1,2 and 4 from this list). The Windows program can be downloaded directly from https://archive.muonpi.org and installed by simply unpacking the zip-archive.
+
* Die GUI kann sich auch über das Netzwerk mit dem MuonPi verbinden, so dass sie auch auf anderen Computern im lokalen Netzwerk installiert werden kann. Derzeit sind Binärpakete für Raspbian, Ubuntu und Windows verfügbar. Die Linux-basierten Versionen können aus den Paket-Repositories installiert werden (dazu sind  die Schritte 1,2 und 4 aus dieser Liste auszuführen). Das Windows-Programm kann direkt von https://archive.muonpi.org heruntergeladen und durch einfaches Entpacken des Zip-Archivs installiert werden.
  
= Configuration and Start =
+
= Konfiguration und Start =
  
Now the installation of the muondetector-daemon should be adapted to your setup:
+
Nun sollte die Installation des muondetector-daemon an das eigene Setup angepasst werden:
  
== Configuration ==
+
== Konfiguration ==
Edit the configuration file /etc/muondetector/muondetector.conf: <code>nano /etc/muondetector/muondetector.conf</code>.
+
Bearbeite die Konfigurationsdatei /etc/muondetector/muondetector.conf: <code>nano /etc/muondetector/muondetector.conf</code>.
Change the settings according to your needs or leave them untouched, if unsure. The comments in the config file should guide you through any required modifications. One option, however, describes the placement of your detector. If you like, choose a stationID descriptor, eg.:</br>
+
Ändere die Einstellungen nach den eigenen Bedürfnissen oder lasse sie unverändert, wenn du unsicher bist. Die Kommentare in der Konfigurationsdatei sollten durch alle erforderlichen Änderungen führen. Eine Option beschreibt jedoch die Platzierung des Detektors. Wenn du möchtest, wähle einen stationID-Deskriptor, z. B..:</br>
 
(file: <code>/etc/muondetector/muondetector.conf</code>)
 
(file: <code>/etc/muondetector/muondetector.conf</code>)
  <nowiki>#</nowiki> A unique identifier of the user's station
+
  <nowiki>#</nowiki> Eine eindeutige Kennung für die Station des Benutzers
  <nowiki>#</nowiki> leave on default when the user operates a single station
+
  <nowiki>#</nowiki> auf Standard belassen, wenn der Benutzer eine einzelne Station betreibt
  <nowiki>#</nowiki> all detectors of the user are distinguishable on the basis of this id
+
  <nowiki>#</nowiki> alle Detektoren des Benutzers sind anhand dieser ID unterscheidbar
 
  stationID = "HomeOffice"
 
  stationID = "HomeOffice"
  
(anything which best describes the location of your detector like e.g. "GarageSW", "Bldg16Lab105", "AtticNE"). If you operate only one stationary detector, it may as well be left on the default ID which is "0" (zero).
+
(alles, was den Standort des Detektors am besten beschreibt, wie z. B. "GarageSW", "Bldg16Lab105", "AtticNE"). Wenn nur ein stationärer Detektor betrieben wird, kann man es auch bei der Standard-ID belassen, die lautet "0" (Null).
  
'''Important''': When operating multiple detectors (under the same user account, see below) the stationID descriptor '''must''' be unique for each detector.
+
'''Wichtig''': Beim Betrieb mehrerer Detektoren (unter demselben Benutzerkonto, siehe unten) '''muss''' der Deskriptor stationID für jeden Detektor eindeutig sein.
  
== Login with your user credentials (only once) ==
+
== Login mit dem Benutzerkonto (nur einmal) ==
  
Before taking the MuonPi detector into operation, you have to set your credentials for publishing data messages to the server via [http://mqtt.org/ MQTT] protocol on first start. This can be managed in two ways, one secure and one where your credentials appear as plain text in the config file:
+
Bevor der MuonPi-Detektor in Betrieb genommen werden kann, müssen die  Anmeldedaten für die Veröffentlichung von Datennachrichten an den Server über das [http://mqtt.org/ MQTT]- Protokoll gesetzt werden beim ersten Start. Dies kann auf zwei Arten gehandhabt werden, eine sichere und eine, bei der die Anmeldedaten als Klartext in der Konfigurationsdatei erscheinen:
==== The Recommended Method ====
+
==== Die empfohlene Methode ====
In a bash shell on the MuonPi, run the command <code>muondetector-login.sh</code>.
+
In einer Bash-Shell auf dem MuonPi muss folgender Befehl ausgeführt werden: <code>muondetector-login.sh</code>.
When asked for sudo access, enter the password of your raspberry pi user.
+
Wenn nach dem sudo-Zugang gefragt wird, muss das Passwort des Raspberry-Pi-Benutzers eingegeben werden.
When asked for your user name and password, enter the credentials supplied to you by a MounPi.org official. The credentials are stored (not in clear text) for all further telemetry connections.
+
Wenn nach dem Benutzernamen und Passwort gefragt werden, müssen die Anmeldedaten eingegeben werden, die du von einem MounPi.org-Mitarbeiter erhalten hast. Die Zugangsdaten werden (nicht im Klartext) für alle weiteren Telemetrieverbindungen gespeichert.
  
==== Alternative Method ====
+
==== Alternative Methode ====
Uncomment the <code>mqtt_user</code> and <code>mqtt_password</code> options in <code>/etc/muondetector/muondetector.conf</code> and type your personal username and password into these fields between the quotation marks. Be aware, that these credentials are written in plain text into this file and can be retrieved by malware attacks. However, if you operate a station inside a home network and set up a strong ssh authentication (see above), you should be relatively safe.
+
Kommentiere die  <code>mqtt_user</code> und <code>mqtt_password</code> Optionen in <code>/etc/muondetector/muondetector.conf</code> aus und gib deinen persönlichen Benutzernamen und das Passwort in diese Felder zwischen den Anführungszeichen ein. Man muss sich hier bewusst sein, dass diese Anmeldedaten im Klartext in diese Datei geschrieben werden und durch Malware-Angriffe ausgelesen werden können. Wenn die Station aber innerhalb eines Heimnetzwerks betrieben wird und eine starke ssh-Authentifizierung eingerichtet ist (siehe oben), sollte es relativ sicher sein.
  
== Start the Daemon ==
+
== Start des Daemons ==
The daemon should be enabled and started automatically after installation and on every reboot. However, when changing items in the config file, the changes have to be made effective by a daemon restart:
+
Der Daemon sollte nach der Installation und bei jedem Neustart automatisch aktiviert und gestartet werden. Wenn  jedoch Elemente in der Konfigurationsdatei geändert werden, müssen die Änderungen durch einen Neustart des Daemons wirksam werden:
 
  sudo systemctl restart muondetector-daemon.service
 
  sudo systemctl restart muondetector-daemon.service
  
To see the current status of the daemon service use following command:
+
Um den aktuellen Status des Daemon-Dienstes zu sehen, muss folgender Befehl verwendet werden:
 
  systemctl status muondetector-daemon.service
 
  systemctl status muondetector-daemon.service
  
It can happen that the status shows 'failed' in red, usually a restart of the daemon service resolves this.
+
Es kann vorkommen, dass der Status 'failed' in rot anzeigt, in der Regel behebt ein Neustart des Daemondienstes dies.
  
If the service should not enable itself by default the status shows a grey 'not loaded'. To enable the service use:
+
Sollte sich der Dienst standardmäßig nicht selbst aktivieren, zeigt der Status ein graues 'not loaded' an. Um den Dienst zu aktivieren, muss folgender Befehl ausgeführt werden:
 
  sudo systemctl enable muondetector-daemon.service
 
  sudo systemctl enable muondetector-daemon.service

Latest revision as of 12:50, 7 January 2021

In diesem Artikel wird erklärt, wie man einen Raspberry Pi von Grund auf mit der notwendigen Software für die Detektorhardware einrichtet.

DISCLAIMER: Wenn nicht anders angegeben, wurde dieses Tutorial für Raspian 10 Buster entwickelt.

Erstmaliges Setup

(Anforderungen: Raspberry Pi Version 2 oder höher (mit 40-pin GPIO-Anschluss) )

  • Erstelle eine frische Installation des Betriebssystems Raspbian Buster z. B. von hier auf microSD-Karte (beliebige Version mit oder ohne Desktop).
  • Ändere das Standardpasswort des Benutzers "pi". Dies wird dringend empfohlen, da im nächsten Schritt Verbindungen über ssh aktiviert werden, die immer eine starke Authentifizierungsmetrik haben sollten. Ändere es mit sudo raspi-config >> Change User Password oder auf der Kommandozeile mit passwd
  • Aktiviere die serielle Schnittstelle (UART) und deaktiviere die Login-Shell über die UART. Im Terminal: sudo raspi-config >> Schnittstellenoptionen >> Seriell >> Login-Shell über Seriell: Nein >> Serielle Hardware einschalten: Ja
  • I2C-Schnittstelle aktivieren: Im Terminal: sudo raspi-config >> Interfacing Options >> I2C >> Enable: Ja >> Reboot optional
  • SSH aktivieren: Das SSH-Protokoll wird benötigt, wenn Sie Ihren kopflosen Raspberry Pi aus der Ferne konfigurieren wollen. In einem Terminal: sudo raspi-config >> Interfacing Options >> SSH >> Enable: Ja >> Reboot
  • Konfiguriere die Netzwerkverbindung: Standardmäßig ist der RPi so konfiguriert, dass er automatisch eine IP-Adresse bezieht, wenn eine Verbindung verfügbar ist und DHCP im lokalen Netzwerk aktiv ist (dies sollte bei den meisten lokalen/Heimnetzwerken der Fall sein).
  • Wenn eine feste IP-Adresse in einem lokalen Netzwerk bevorzugt wird: Bearbeite die Datei /etc/dhcpcd.conf. Verwende die Vorlage und kommentiere den Abschnitt "Example Static IP Configuration" mit der gewünschten IP-Adresse aus.
  • Wenn der Netzwerkzugang über WiFi hergestellt werden soll, konfiguriere ihn entweder über den Netzwerkkonfigurationsassistenten in der grafischen Desktop-Umgebung (normalerweise das Netzwerksymbol in der Systemleiste) oder führe die folgenden Schritte manuell aus (beide Methoden sind in Ordnung):
    • Stelle sicher, dass das Paket wpa_supplicant installiert ist:sudo apt install wpasupplicant
    • Bearbeite die Datei /etc/wpa_supplicant/wpa_supplicant.conf:sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

die Konfiguration sollte wie folgt aussehen (nicht relevante Zeilen werden nicht angezeigt):


update_config=1
country=DE
network={ ssid="<your network ssid>" psk="<your wifi password>" key_mgmt=WPA-PSK }

Trage die SSID und das Passwort des WLANs in die angezeigten Felder ein. Starte abschließend das System neu, damit die Änderungen wirksam werden. Optional kann das System aktualisiert werden, indem man folgende Zeilen eingibt:

sudo apt update && sudo apt upgrade

Jetzt sollte ein ein vollständig konfiguriertes Raspbian-System vorhanden sein und der MuonPi kann im nächsten Schritt eingerichtet werden.

MuonPi Setup

(Voraussetzungen: ein MuonPi-Board, das auf den GPIO-Anschluss des RPi gesteckt wird)

  • Zunächst muss das MuonPi apr Repository zum System hinzugefügt werden:
wget -qO - https://archive.muonpi.org/muondetector.public.key | sudo apt-key add - 
sudo sh -c "echo deb https://archive.muonpi.org/raspbian buster main > /etc/apt/sources.list.d/muondetector.list"
  • Aktualisierung der Repositories:
sudo apt update
  • Installierung des Pakets muondetector-daemon und seiner Abhängigkeiten:
sudo apt install muondetector-daemon
  • Optional: Installierung des Graphical User Interface (GUI) Programms, um den MuonPi lokal zu überwachen und zu steuern
sudo apt install muondetector-gui
  • Die GUI kann sich auch über das Netzwerk mit dem MuonPi verbinden, so dass sie auch auf anderen Computern im lokalen Netzwerk installiert werden kann. Derzeit sind Binärpakete für Raspbian, Ubuntu und Windows verfügbar. Die Linux-basierten Versionen können aus den Paket-Repositories installiert werden (dazu sind die Schritte 1,2 und 4 aus dieser Liste auszuführen). Das Windows-Programm kann direkt von https://archive.muonpi.org heruntergeladen und durch einfaches Entpacken des Zip-Archivs installiert werden.

Konfiguration und Start

Nun sollte die Installation des muondetector-daemon an das eigene Setup angepasst werden:

Konfiguration

Bearbeite die Konfigurationsdatei /etc/muondetector/muondetector.conf: nano /etc/muondetector/muondetector.conf. Ändere die Einstellungen nach den eigenen Bedürfnissen oder lasse sie unverändert, wenn du unsicher bist. Die Kommentare in der Konfigurationsdatei sollten durch alle erforderlichen Änderungen führen. Eine Option beschreibt jedoch die Platzierung des Detektors. Wenn du möchtest, wähle einen stationID-Deskriptor, z. B..:
(file: /etc/muondetector/muondetector.conf)

# Eine eindeutige Kennung für die Station des Benutzers
# auf Standard belassen, wenn der Benutzer eine einzelne Station betreibt
# alle Detektoren des Benutzers sind anhand dieser ID unterscheidbar
stationID = "HomeOffice"

(alles, was den Standort des Detektors am besten beschreibt, wie z. B. "GarageSW", "Bldg16Lab105", "AtticNE"). Wenn nur ein stationärer Detektor betrieben wird, kann man es auch bei der Standard-ID belassen, die lautet "0" (Null).

Wichtig: Beim Betrieb mehrerer Detektoren (unter demselben Benutzerkonto, siehe unten) muss der Deskriptor stationID für jeden Detektor eindeutig sein.

Login mit dem Benutzerkonto (nur einmal)

Bevor der MuonPi-Detektor in Betrieb genommen werden kann, müssen die Anmeldedaten für die Veröffentlichung von Datennachrichten an den Server über das MQTT- Protokoll gesetzt werden beim ersten Start. Dies kann auf zwei Arten gehandhabt werden, eine sichere und eine, bei der die Anmeldedaten als Klartext in der Konfigurationsdatei erscheinen:

Die empfohlene Methode

In einer Bash-Shell auf dem MuonPi muss folgender Befehl ausgeführt werden: muondetector-login.sh. Wenn nach dem sudo-Zugang gefragt wird, muss das Passwort des Raspberry-Pi-Benutzers eingegeben werden. Wenn nach dem Benutzernamen und Passwort gefragt werden, müssen die Anmeldedaten eingegeben werden, die du von einem MounPi.org-Mitarbeiter erhalten hast. Die Zugangsdaten werden (nicht im Klartext) für alle weiteren Telemetrieverbindungen gespeichert.

Alternative Methode

Kommentiere die mqtt_user und mqtt_password Optionen in /etc/muondetector/muondetector.conf aus und gib deinen persönlichen Benutzernamen und das Passwort in diese Felder zwischen den Anführungszeichen ein. Man muss sich hier bewusst sein, dass diese Anmeldedaten im Klartext in diese Datei geschrieben werden und durch Malware-Angriffe ausgelesen werden können. Wenn die Station aber innerhalb eines Heimnetzwerks betrieben wird und eine starke ssh-Authentifizierung eingerichtet ist (siehe oben), sollte es relativ sicher sein.

Start des Daemons

Der Daemon sollte nach der Installation und bei jedem Neustart automatisch aktiviert und gestartet werden. Wenn jedoch Elemente in der Konfigurationsdatei geändert werden, müssen die Änderungen durch einen Neustart des Daemons wirksam werden:

sudo systemctl restart muondetector-daemon.service

Um den aktuellen Status des Daemon-Dienstes zu sehen, muss folgender Befehl verwendet werden:

systemctl status muondetector-daemon.service

Es kann vorkommen, dass der Status 'failed' in rot anzeigt, in der Regel behebt ein Neustart des Daemondienstes dies.

Sollte sich der Dienst standardmäßig nicht selbst aktivieren, zeigt der Status ein graues 'not loaded' an. Um den Dienst zu aktivieren, muss folgender Befehl ausgeführt werden:

sudo systemctl enable muondetector-daemon.service