Categories: HardwareLinux

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

Manfred

Recent Posts

VM – ZFS Partition online vergrößern

Man macht es nicht jeden Tag, darum schadet es nicht sich's kurz zu notieren... Hier…

1 Jahr ago

Samba Password History für einen User löschen

Meine Suche bei Google hatte mal wieder keinen vernünftigen Treffer gelandet, das Problem - ich…

1 Jahr ago

HP Eine Firma von der ich nicht mal geschenkte Drucker nehmen würde!!!

Ich muss mal eben etwas Druck ablassen, ein Kunde von mir setzt einen Drucker von…

2 Jahren ago

IRMC Console Redirection ohne Lizenz

Wer beim Server bestellen vergessen hat die erweiterte IRMC Lizenz zu ordern, der steht vor…

2 Jahren ago

WOL im BIOS aktivieren reicht nicht immer

Ich nutze seit langer Zeit ein System für meine Backups welches in der Nacht von…

2 Jahren ago

Apache Guacamole mit TOPT – funktioniert nicht

Es scheint wohl eine noch nicht so häufig genutzte Kombination zu sein - Apache Guacamole…

2 Jahren ago