Erste Gehversuche mit dem Raspberry PI – Zählen mit der Bash!

Letzte Woche ist das neue Versuchsobjekt – Raspberry PI angekommen und gestern hatte ich endlich mal ein wenig Zeit damit zu spielen!

Herausgekommen ist ein einfacher Zähler (via Taster), der mittels LED signalisiert dass er gedrückt wurde.

In Anlehnung an eine Bestehende Lösung bei uns im Hause habe ich das Ganze so gebaut dass der letzte Zählstand auch einen Neustart überlebt und manuell auf 0 gesetzt werden muss.

Da meine Erfahrung mit Python sehr gering ist, habe ich einfach mal die Bash bemüht und ein kleines Script gebastelt das erst den Pin 25 auf Eingang (kleiner schwarzer Taster in der Mitte) umschaltet und anschließend den Pin 24 auf Ausgang (grüne LED).

Dann wird eine Schleife gestartet welche auf eine Zustandsänderung reagiert (/sys/class/gpio/gpio25/value) und gleich die LED für kurze Zeit zum Leuchten bringt. Der aktuelle Zählerstand wird dann noch nach /var/tmp/counter1.txt gesichert und wieder von vorne begonnen.

Hier das kleine Script „counter.sh“:

#!/bin/bash

if [ -f „/var/tmp/counter1.txt“ ]; then
 anz=$(cat /var/tmp/counter1.txt)
fi

if [ ! -d „/sys/class/gpio/gpio25“ ]; then
 echo „25“ > /sys/class/gpio/export
fi

if [ ! -d „/sys/class/gpio/gpio24“ ]; then
 echo „24“ > /sys/class/gpio/export
fi

STATUS=$(cat /sys/class/gpio/gpio25/direction)
if [ „$STATUS“ == „out“ ]; then
 echo „in“ > /sys/class/gpio/gpio25/direction
fi

STATUS=$(cat /sys/class/gpio/gpio24/direction)
if [ „$STATUS“ == „out“ ]; then
 echo „out“ > /sys/class/gpio/gpio24/direction
fi

while true; do

 WERT=$(head -n 1 /sys/class/gpio/gpio25/value)

 if [ „$WERT“ != „$LASTWERT“ ]; then
  if [ „$WERT“ != „1“ ]; then
   anz=$((anz+1))
   echo $anz
   echo $anz > /var/tmp/counter1.txt
   echo 1 > /sys/class/gpio/gpio24/value
   sleep 0.01
   echo 0 > /sys/class/gpio/gpio24/value
  fi
 fi

 LASTWERT=$WERT

done

Nicht wirklich aufregend, aber dafür einfach und es macht genau das was es machen soll.
Schneller Lernerfolg, macht Lust auf mehr – da findet sich sicher noch eine Sinnvolle Aufgabe für das kleine Gerät…!

Cheat Sheet – Anschlußbelegung

Schlagwörter:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.