Shutdown und Reboot Raspberry mit Taster

Heute beim Lesen der C’T 25/2017 stolperte ich über eine Notiz zum shutdown bzw. reboot des Kleincomputers Raspberry Pi mittels eines angeschlossenen Buttons.

So etwas wollte ich schon länger einmal in den Weiten des WWW suchen und bei einmal meiner Boards installieren. So spare ich mir die Suche.

Aktueller Anwendungsfall ist ein Raspi den ich zum Test verschiedener Mirror Display Software benutze. Da er noch lange nicht zu meiner Zufriedenheit im Dauerbetrieb läuft, kann ich mit dem Button ihn Abends bequem herunterfahren.

Original Beschreibung auf Gilyes

https://gilyes.com/pi-shutdown-button/

Original Artikel

Mit einem simplen Taster oder einer Kurzschlussbrücke (Jumper, Kabel) lassen sich Raspberry Pi und Raspi Zero auch ohne Tastatur und Monitor neu starten oder herunterfahren und anschließend wieder einschalten. Für Reboot und Shutdown benötigen Sie dazu das Programm Pi-Shutdown. Das Python-Programm wartet darauf, dass die Pins 5 (GPIO 3) und 6 (Minuspol) gebrückt werden. Werden die Pins für etwa eine Sekunde gebrückt und dann wieder geöffnet, so führt Pi-Shutdown einen Reboot durch.
Lassen Sie den Jumper drei bis fünf Sekunden lang gesteckt und entfernen ihn
dann wieder, schaltet sich der Raspi aus. Dass sich der Raspi ausschaltet, erkennen Sie daran, dass die grüne Aktivitäts-LED mindestens dreimal kurz blinkt.
Die Einrichtung von Pi-Shutdown ist einfach: Laden Sie das Python-Programm
pishutdown.py von GitHub herunter (siehe ct.de/y7ft) und speichern Sie es im Verzeichnis /usr/local/bin auf dem Raspi.
Damit Pi-Shutdown künftig automatisch bei jedem Start des Raspi geladen wird,
kopieren Sie den gleichnamigen Systemd-Job von ct.de/y7ft in das Verzeichnis
/etc/systemd/system und aktivieren Sie ihn mit folgendem Befehl:
sudo systemctl enable pishutdown
Damit Sie nicht erst neu starten müssen, bis Pi-Shutdown läuft, starten Sie es ab-
schließend noch manuell:
sudo systemctl start pishutdown
Haben Sie den Raspi heruntergefahren, können Sie ihn durch erneutes Kurzschließen der Pins 5 und 6 wieder hochfahren lassen, ohne ihn erst von der Stromversorgung zu trennen. Zusätzliche Software ist dazu nicht nötig.
(mid@ct.de)
Download und Systemd-Job für Pi-Shutdown:

Weiterführende Links

 

 

Raspberry Pi: 1-wire & DS18B20

DS18B20 Prinzip

Bei dem DS18B20 handelt es sich um einen kalibierten Temperatur Sensor. Er wird an einem 1-wire Draht betrieben und kommt somit mit drei Leitungen aus: +3.3V, GND, Data. Er wird in zwei Arten vertrieben: als Bausstein TO-92 Gehäuse (wie ein Transistor) als Outdoor gekapselter Sensor mit Drahtleitung.

DS18B20-TO92
Im TO-92 Gehäuse
DS18B20-WaterProof
Wasserdicht mit Kabel

DS18B20 Anschluss

An den Raspberry wird der DS18B20 wie in der folgenden Abbildung angeschlossen. Das Data Pin (4) kann variieren, muss dann aber im Treiber entsprechend konfiguriert werden.

Anschluss-DS18B20

DS18B20 Software Konfiguration

Als erstes muss der Device Treiber aktiviert werden. Dazu in der Datei /boot/config.txt den folgenden Eintrag ergänzen:

# enable 1-wire module for DS18B20
dtoverlay=w1-gpio,gpiopin=4

Über den optionalen parameter gpiopin kann auch ein anderer PIN am Raspberry gewählt werden. Danach den Raspberry rebooten!

 

Quellen

Pi Sound

Nachdem mein erster Versuch mit einem Pi3 Bluetooth und einer Bose Soundlink leider nicht besonders erfolgreich war (unveröffentlicher Artikel), hier nun ein zweiter Versuch mit einer USB Soundkarte.

Zum Einsatz kommt ein USB 2.0 Sound Adapter von LogiLink:

logilink-usb-audio-adapter

 

 

 

 

 

Start mit einer frischen Jessie Installation auf einem Pi2 (ohne Wifi&Bluetooth). Als erstes vor dem weiteren Start das System auf den aktuellen Stand gebracht:

sudo rpi-update
uname -a
Linux pisound 4.4.33-v7+ #927 SMP Sat Nov 19 18:15:38 GMT 2016 armv7l GNU/Linux

Als nächstes den USB Stick anstecken und prüfen ob er erkannt wurde (hier als “C-Media Electronics):

lsusb
Bus 001 Device 005: ID 0d8c:000c C-Media Electronics, Inc. Audio Adapter
Bus 001 Device 004: ID 24ae:2010
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

USB Soundkarte im ALSA Mixer als Default Device auswählen. Dazu erst einmal mit alsa -l die Liste der verfügbaren ALSA Geräte ausgeben:

aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) ****
Karte 0: ALSA [bcm2835 ALSA], Gerät 0: bcm2835 ALSA [bcm2835 ALSA]
  Sub-Geräte: 8/8
  Sub-Gerät #0: subdevice #0
  Sub-Gerät #1: subdevice #1
  Sub-Gerät #2: subdevice #2
  Sub-Gerät #3: subdevice #3
  Sub-Gerät #4: subdevice #4
  Sub-Gerät #5: subdevice #5
  Sub-Gerät #6: subdevice #6
  Sub-Gerät #7: subdevice #7
Karte 0: ALSA [bcm2835 ALSA], Gerät 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0
Karte 1: Set [C-Media USB Headphone Set], Gerät 0: USB Audio [USB Audio]
  Sub-Geräte: 1/1
  Sub-Gerät #0: subdevice #0


cat /proc/asound/cards
 0 [ALSA           ]: bcm2835 - bcm2835 ALSA
                      bcm2835 ALSA
 1 [Set            ]: USB-Audio - C-Media USB Headphone Set
                      C-Media USB Headphone Set at usb-3f980000.usb-1.5, full speed

Nun zwei Dinge rekonfigurieren (geht auch über die Oberfläche: Audio Device Settings):

  1. /usr/share/alsa/alsa.conf
  2. /etc/asound.conf  (oder ~/.aoundrc)
sudo nano /usr/share/alsa/alsa.conf

Original:
defaults.ctl.card 0
defaults.pcm.card 0

Updated:
defaults.ctl.card Set
defaults.pcm.card Set
sudo nano ~/.asoundrc

Original:
pcm.!default {
        type hw
        card 0
}

ctl.!default {
        type hw
        card 0
}

Update:
pcm.!default {
        type hw
        card Set
}

ctl.!default {
        type hw
        card Set
}

Nun ein REBOOT

Nun ein Test mit:

speaker-test -c2 -twav

Den AlsaMixer kann man auch von der Kommandozeile aus aufrufen:

alsamixer

 

 

 

 

Quellartikel die geholfen hatten:

 

Packetverwaltung am Raspberry

Schon länger interessiert mich, wie man in nach Paketen suchen kann. Heute habe ich mich einmal auf die Suche begeben und bin natürlich auch fündig geworden.

APT HOWTO auf der DEBIAN Seite.

apt-get

apt-cache search <text>

apt-cache show <packetname>

apt-file

apt-get

weitere Information zu apt-get konnte ich auf der ubuntu users webpage finden: apt-get. Hier ein paar wichtige Kommandos:

apt-get update     // Neueinlesen der Paketlisten
apt-get upgrade    // installierte Pakete wenn möglich aktualisieren
apt-get clean      // leeren des Paketcaches
apt-get check      // Überprüfen auf Abhängigkeitsfehler

Raspberry Pi – Autorun mit Systemd

Service File für ein python script “temperature-logger.py”:

[Unit]
Description=My Temperature Logger to thingspeak.com
After=multi-user.target

[Service]
Type=idle
ExecStart=/usr/bin/python3 /home/pi/python_thingspeak/temperature-logger.py

[Install]
WantedBy=multi-user.target

Ziel Ordner für die Service Datei für den systemd:

/lib/systemd/system/temperature-logger.service

Die Permissions sollten auf “644” stehen.

Commands, um zu starten, stoppen und den Status abzufragen:

sudo systemctl start temperature-logger.service
sudo systemctl status temperature-logger.service
sudo systemctl stop temperature-logger.service
sudo systemctl enable temperature-logger.service

Basis Informationen habe ich aus folgenden Artikeln bezogen:

 

Raspberry Pi – VNC Konfiguration – v2

Nachdem nun die Jessie Version bei Raspian aktuell ist, war es einmal an der Zeit den alten Artikel durch einen neuen, aktuellen zu ersetzen.

Auf dem Pi

Das Paket TightVNC mit dem Packetmanager installieren (xfonts werden mit installiert):

sudo apt-get install tightvncserver

TightVNC konfigurieren

vncserver
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n

New 'X' desktop is raspi-test2:1

Creating default startup script /home/pi/.vnc/xstartup
Starting applications specified in /home/pi/.vnc/xstartup
Log file is /home/pi/.vnc/raspi-test2:1.log

Passwort vergeben. Bei read only N eingeben.

Nun kann schon einmal per RealVNC vom Windows Rechner aus zugegriffen werden:

  • 192.168.65.xx:1 mit IP Adresse und dem gewähltem Passwort
  • raspi-test2:1 mit Rechner Name und dem gewähltem Passwort

Unter Windows am PC

Hier benutze ich RealVNC.

Eine Installation ist nicht nötig. Mit der folgenden Anleitung habe ich das Programm an mein Windows 10 Startmenü geheftet:

Copy / Paste zwischen Windows und Raspi

Von Haus kann man nicht Text zwischen dem Raspi und Windows hin und her kopieren. Dazu muss man autocutsel installieren:

sudo apt-get install autocutsel

Im Anschluss noch die Konfigurationsdatei des vnc servers (~/.vnc/xstartup) mit dem autocutsel Kommando erweitern:

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
autocutsel -fork
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession

Danach den vncserver neu starten:

vncserver -kill :1 (pick your display number)
vncserver :1

Tuning. Display :0 disable

Wenn man den Raspi ausschliesslich per remote VNC Viewer bedienen möchte, kann man den Display Manager des Hauptdisplay :0 entfernen:

service lightdm stop

Tuning. Mauspointer

Statt des großen Kreuzes in der remote VNC, lässt sich auch ein normaler Mauszeiger konfigurieren. Dazu ergänzt man in der vnc Konfigurationsdatei ~/.vnc/xstartup

xsetroot -solid grey -cursor_name left_ptr

Tuning. Secure VNC mit putty Tunnel

Von Haus aus ist das VNC Protokol nicht sicher und überträgt alles im Klartext. Dies lässt sich dadurch vermeiden, indem man per putty einen SSH Tunnel zu Raspi aufbaut und erst darüber den VNC viewer startet. Dies ist in einer englischen Anleitung beschrieben.

Automatischer Start des VNCSERVER mit systemd

Seit Jessie wird zum automatischen Start der systemd eingesetzt. Um den vncserver automatisch beim Booten zu starten, müssen wir eine .service Datei für den systemd erstellen. Diese muss an folgender Stelle angelegt werden (unter dem Directory system kann man eigene service Dateien anlegen):

sudo nano /etc/systemd/system/vncserver.service

Ein passender Inhalt kann wie folgt aussehen:

# neue Datei /etc/systemd/system/vncserver.service
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=pi
PAMName=login
PIDFile=/home/pi/.vnc/%H:1.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -geometry 1300x800 -depth 16 :1
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=multi-user.target

Das File noch präparieren. Owner root und executable:

sudo chown root:root /etc/systemd/system/vncserver.service
sudo chmod 755 /etc/systemd/system/vncserver.service

Enable den Start beim Booten:

sudo systemctl enable vncserver

Um den VNC Server manuell zu starten:

sudo systemctl daemon-reload && systemctl start vncserver

Um den Status des VNC Server abzufragen:

sudo systemctl status vncserver

Um den VNC Server zu stoppen:

sudo systemctl stop vncserver

Quellen

 

Raspberry Pi – Quickstart – v2

Eine schnelle Zusammenfassung, wie ich zu einer GRUNDINSTALLATION komme.

  1. SD Karte formatieren
  2. RASPIAN JESSIE image auf SD Karte kopieren
  3. Rasperry Pi mit der SD Karte starten

Einen guten Quick-Guide habe ich bei kofler.info gefunden.

SD Karte formatieren:

SD-Formatter auf dem PC installieren.
Download über https://www.sdcard.org/downloads/formatter_4/

Dann die SD-Karte mit den unteren Einstellungen formatieren.

SD-DiskFormater

Image auf SD Karte kopieren:

das RASPIAN JESSIE image von https://www.raspberrypi.org/downloads/raspbian/ herunterladen und das ZIP File entpacken.

Die Image Datei (*.img) mit Hilfe des Win32DiskImager auf die SD-Karte kopieren.
Download (version 0.9.5) über http://sourceforge.net/projects/win32diskimager

Win32DiskImage095

Raspberry Pi mit SD-Karte starten:

Das neue Jessie startet direkt in den grafischen Desktop. Hier kann auch das neue grafische Konfgurations-Tool aufgerufen werden. Im folgenden die Einstellungen …

Raspi-CFG-1Raspi-CFG-2Raspi-CFG-3Raspi-CFG-4

Und hier noch die Details:

Raspi-CFG-4aRaspi-CFG-4b

 

Kalbsmedaillons

Quelle: Aldi Süd Prospekt 21.Nov 2015Kalbsmedaillons

Für 4 Personen. Ca 45 Minuten.

Zutaten für das Kalbsmedaillons:

  • 720g Kalbsmedaillons (alternative Schweinelende)
  • 1EL Senf, mittelscharf
  • 200g Bacon
  • 2 Knoblauchzehen
  • 4 Zweige Rosmarin
  • 2 EL Natives Olivenöl extra

Zutaten für den Mandelbrokkoli:

  • 500g Brokkoli (stattdessen auch Blumenkohl oder Rosenkohl möglich)
  • 2EL Butter
  • 150ml Klare Brühe (z.B. Gemüsebrühe)
  • 50g Mandeln gehobelt

Zutaten für die Gratinkartoffeln:

  • 1kg Kartoffeln
  • 400ml Schlagsahne
  • 1 Knoblauchzehe
  • 1 Prise Muskatnuss
  • 100g geriebenen Käse (z.B. Mozzarella)
  • Salz, Pfeffer schwarz

Zubereitung

Gratinkartoffeln:

Für die Gratinkartoffeln die Sahne mit der angedrückten Knoblauchzehe kurz aufkochen und mit der Muskatnuss, dem Pfeffer und dem Salz sehr kräftig würzen.

Die Kartoffeln schälen und in dünne Scheiben hobeln, zusammen mit der Sahne in eine Auflaufform geben und mit dem geriebenen Käse bestreuen. Im Ofen bei 160°C Umluft 45 Minuten goldgelb backen.

Mandelbrokkoli:

In der Zwischenzeit den Brokkoli in Röschen schneiden. Die Butter in einer Pfanne zerlassen, den Brokkili zugeben und bei mittlerer Hitze 3 Minuten dünsten (Deckel auf der Pfanne).

Mit der Brühe ablöschen und den Brokkoli 5 weitere Minuten bissfest garen. Anschließend die Mandelblätter zugeben und vermischen.

Mit etwas Salz und Pfeffer abschmecken.

Kalbsmedaillons:

Die Kalbsmedaillons waschen und trockentupfen, mit Salz und Pfeffer würzen. Die Medaillons mit Senf bestreichen und im Bacon einwickeln (Rosmarinzweig mit einwickeln). Danach in heißem Olivenöll mit dem Knoblauch und dem Rosmarin von jeder Seite 5 Minuten bei mittlerer Hitze braten.

Mit Gratin und dem Mandelbrokkoli servieren.