Blog der Heimetli Software AG

Eine serielle Schnittstelle auf dem Raspberry PI loggen

Das folgende Script empfängt Zeilen von der seriellen Schnittstelle auf dem Raspberry PI und schreibt sie mit einem Zeitstempel in ein Logfile.

Das Logfile liegt im Directory /var/www, so dass man es direkt mit dem Browser ansehen kann.

Das kommentierte Script

#!/bin/bash
echo "Started" >> /home/pi/log.txt

# Eine Zeile von der seriellen Schnittstelle lesen
while read line
do
  # Auf der Kommandozeile anzeigen
  echo $line
  # Mit einem Zeitstempel ins Log schreiben
  echo "$(date '+%d.%m.%Y %H:%M') $line" >> /var/www/log.txt
done < /dev/ttyUSB0
Das Script herunterladen

Das Script muss natürlich ausführbar sein. Das machen Sie mit dem Befehl chmod 755 logserial auf der Kommandozeile oder mit Ihrem Lieblings-Filemanager.

Das Script braucht eigentlich keine root-Rechte, aber es muss das Logfile schreiben können. Das kann man einerseits mit sudo erreichen:

sudo ./logserial

Eine andere Variante ist, den User pi als Owner des Files anzugeben:

sudo chown pi /var/www/log.txt

Das Script kann dann direkt vom User pi gestartet werden:

./logserial

Das Logfile mit dem Browser ansehen

Ganz einfach: im Browser die IP-Adresse vom PI gefolgt von /log.txt eingeben und schon erscheint das Logfile im Browser.

Beispiel:

http://192.168.1.21/log.txt

Ein Webserver muss dazu natürlich installiert sein ...