Foto-Backup mit dem RasPi

Systemintegration

Damit das alles automatisch klappt, gilt es, den HAT-Server sauber ins System einzubinden. Dank Systemd gelingt das mit wenigen Zeilen. Listing 10 zeigt die Service-Definition über die Datei /etc/systemd/system/hat-server.service. Die Zeile 9 startet via ExecStart das Server-Programm, die nachfolgende Zeile löst das "Boot-Start"-Ereignis aus. Dadurch blinkt beim Hochfahren die rote LED.

Listing 10

 

[Unit]
Description=Start HAT-server
DefaultDependencies=no
After=sysinit.target local-fs.target
Before=basic.target
[Service]
Type=simple
ExecStart=/usr/local/sbin/hat-server.py
ExecStartPost=/usr/local/sbin/hatctl.py BS
[Install]
WantedBy=basic.target

Ein zweiter Service schaltet diese am Ende des Bootvorgangs wieder aus. Die zugehörige Service-Definition steht in /etc/systemd/system/endofboot.service (Listing 11). Der Dienst löst über die Zeile 8 in ExecStart das Ereignis "Boot-Ende" aus. Da das System Services beim Herunterfahren in umgekehrter Startreihenfolge stoppt, nutzen wir den Service auch gleich für das Ereignis "Halt-Start" – der ExecStop-Befehl aus Zeile 9 macht genau das.

Listing 11

 

[Unit]
Description=Change status of HAT-LEDs
After=multi-user.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/usr/local/sbin/hatctl.py BE
ExecStop=/usr/local/sbin/hatctl.py HS
[Install]
WantedBy=multi-user.target

Beide Services müssen Sie einmalig mit den Befehlen aus Listing 12 aktivieren. Nach einem Neustart lädt das System die Dienste dann automatisch, die LEDs sollten wie geplant leuchten. Alternativ schalten Sie die LEDs von der Kommandozeile aus über das Skript hatctl.py manuell nach Belieben. Die Funktion nutzt das Kopier-Skript aus Listing 6, speziell die Zeilen 5 und 9. Sie lösen die Ereignisse "Aktion-Start" und "Aktion-Ende" aus und sorgen dafür, dass während des Kopiervorgangs die gelbe LED blinkt.

Listing 12

 

$ sudo systemctl enable hat-server.service
$ sudo systemctl enable endofboot.service

Damit hat unser Foto-Tank seine Basisfunktionen erhalten. Wie erwähnt, geht das Ganze mit dem Display-O-Tron-Hat (Abbildung 3) auch ein wenig komfortabler. Auch diese Erweiterung stammt von Pimoroni, und auch dafür gibt es eine Python-Bibliothek, über die sich der RasPi-Aufsatz bequem ansteuern lässt. Allerdings bietet dieser HAT viel mehr Funktionen als der Pibrella.

Abbildung 3: Der Display-O-Tron-Aufsatz für den RasPi bietet mehr Möglichkeiten zur Ausgabe von Informationen.

Ausblick

Unser Foto-Tank ist einsatzbereit. Drei LEDs und ein Taster, mehr braucht es nicht für die Interaktion mit dem Gerät. Trotzdem bleiben Wünsche offen: Zum einen fehlt es dem Kopier-Skript noch an Intelligenz. Es kopiert zwar nur geänderte Dateien (also neue Fotos) von der SD-Karte auf die Festplatte. Nutzen Sie allerdings mehrere Kameras und erstellen diese zufällig Bilder gleichen Namens, überschreiben diese die zuerst gesicherten Bilder. Dasselbe Problem droht, sobald Sie in der Kamera die Bildnummerierung zurücksetzen.

Nützlich wäre auch ein drahtloser Zugang zum RasPi: So ließen sich auch Bilder von Smartphones oder Tablets sichern. Wünschenswert wäre auch ein schönes Webinterface, über das man schon während des Urlaubs seine Aufnahmen sichten, löschen und bewerten könnte. Auch diese Erweiterungen stellen für einen RasPi keine echte Herausforderung dar. Der zweite Teil des Artikels im nächsten Heft zeigt die notwendigen Schritte. 

Der Autor

Bernhard Bablok arbeitet bei der Allianz Managed&Operations Services SE als SAP-HR-Entwickler. Wenn er nicht Musik hört oder mit dem Radl beziehungsweise zu Fuß unterwegs ist, beschäftigt er sich mit Themen rund um Linux, Programmierung und neuerdings Mini-Computer. Sie erreichen ihn unter mailto:mail@bablokb.de.

Infos

  1. Bausatz Berry-Clip: http://www.raspberrypi-spy.co.uk/berryclip-6-led-add-on-board/
  2. Bausatz Fish-Dish: https://www.rasppishop.de/Fish-Dish-LED-und-Buzzer-Board
  3. Projektseite des Autors: https://github.com/bablokb/pi-imgtank
  4. Python-Bibliothek für Pibrella: https://github.com/pimoroni/pibrella
  5. Raspbian-Installation automatisieren: Bernhard Bablok, "Automatisch verpackt", RPG 01/2016, S. 76, http://raspi-geek.de/35797

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

04/2019
TV & Multimedia

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Finger weg

    Ein Temperatursensor verrät, ob Sie einen Gegenstand gefahrlos berühren dürfen. Beim Messen brauchen Sie dabei noch nicht einmal Kontakt zum Objekt.

  • Aus einer Hand

    Um einen Mikrocontroller zu programmieren, genügt ein Raspberry Pi. Wir zeigen, was Sie dazu noch benötigen.

  • Im Gleichtakt

    Synchronisierte Live-Loops und selbst erstellte Funktionen helfen dabei, Sonic Pi wie ein Live-Instrument zu spielen.

  • Mach mal

    Das Ftduino-Modul schlägt die Brücke zu Fischertechnik und ermöglicht es unter anderem, einen Drei-Achsen-Roboter anzusteuern.

  • Eleganter Diener

    Jeden Morgen dieselben Handgriffe, um zu sehen, ob die S-Bahn fährt und wie das Wetter wird? Ein cleverer Infoscreen auf RasPi-Basis automatisiert den Vorgang.

  • Bienenflüsterer

    Bienenzüchter, die ihre Völker besser kennenlernen möchten, müssen die fleißigen Insekten nicht pausenlos stören. Mit einem Raspberry Pi und verschiedenen Sensoren überwachen sie Temperatur, Luftfeuchtigkeit und bald auch das Gewicht des Bienenstocks.

  • Beerige Musik

    Für echten Hi-Fi-Sound braucht es mehr als einen kleinen Bluetooth-Brüllwürfel. Mit Volumio und einem Raspberry Pi rüsten Sie Ihre klassische Hi-Fi-Anlage mit smarten Funktionen auf.

  • Ton ab!

    Auf den ersten Blick erscheint der RasPi zu schwachbrüstig für den Betrieb leistungshungriger DAW-Software. Doch der Schein trügt.

  • Himbeer-TV

    Der DVB TV µHAT rüstet den Raspberry Pi mit einem DVB-T/T2-Tuner auf. Die deutsche TV-Landschaft schränkt dessen Möglichkeiten allerdings ein.

  • Git à la RasPi

    Mit wenigen Handgriffen zum Git-Hoster: Die dezentrale Arbeitsweise von Git erleichtert in Kombination mit der Netzwerkfähigkeit des RasPi das Verwalten von Quellcode.