Raspberry Pi – Shell Script zum steuern der GPIOs

Um GPIOs über ein sh-script (Shell Skript) zu steuern / auszulesen gibt es zum Beispiel das Paket „WiringPi„. Mit diesem Paket können ganz einfach die GPIOs am Raspi in den verschiedenen Programmiersprachen sowie per Konsole angesteuert werden. Vor der Installation des Pakets muss der Raspberry Pi wie hier beschrieben aktualisiert werden.

1. Installation

Installiert wird das Paket über den Befehl:

sudo apt-get install wiringpi

Falls es bei der Installation Probleme geben sollte, kann das WiringPi-Paket auch über GIT bezogen werden:

sudo apt-get install git-core (falls GIT noch nicht vorhanden, dann installieren)
git clone git://git.drogon.net/wiringPi (Daten herunterladen)
cd wiringPi (in das Verzeichnis wiringPi wechseln)
./build (Installationsscript ausführen um WiringPi automatisch einzurichten)

Es kann aber auch manuell installiert werden:

wget http://project-downloads.drogon.net/files/wiringPi.tgz (Daten herunterladen)
tar xfz wiringPi.tgz (entpacken)
cd wiringPi/wiringPi (in das Verzeichnis wechseln)
make (kompilieren, weitere Infos: https://wiki.ubuntuusers.de/Programme_kompilieren/)
make install (installieren)
cd ../gpio (in das Verzeichnis wechseln)
make (kompilieren)

2. Beispiel-Befehle und PIN-Belegung

Nach der Installation ist das Paket direkt benutzbar. In der Konsole kann es zum Beispiel durch den Befehl

gpio -v

getestet werden. Dieser Befehl gibt die Version aus. Hier eine Übersicht über die Befehle: http://wiringpi.com/the-gpio-utility/

Um einzelne GPIOs an- oder auszuschalten gibt man folgende Befehle ein:

gpio mode 7 out

Auswirkung: Es wird festgelegt wie der WiringPi Pin 7 verwendet werden soll. In dem Fall soll er als Ausgang dienen. Weiter unten zeige ich die unterschiedlichen Parameter des mode Befehls.

gpio write 7 1

Auswirkung: WiringPi Pin 7  wird angeschalten.

gpio read 7

Auswirkung: Status des WiringPi Pin 7  wird ausgelesen.

gpio write 7 0

Auswirkung: WiringPi Pin 7  wird ausgeschalten.

gpio readall

Auswirkung: Zustand aller Pins wird angezeigt.

ACHTUNG: Die WiringPi Pins unterscheiden sich von den GPIO Bezeichnungen der Pins. Hier ist ein Überblick über die unterschiedlichen Bezeichnungen:


Quelle: http://wiringpi.com/pins/

Sollen nicht die WiringPi Pins verwendet werden sondern die „Raspberry Bezeichnung“, verwendet man den Befehl

-g

Beispiel:

gpio -g write <pin> 1

Parameter des mode Befehls:

gpio mode <pin> in/out/pwm/clock/up/down/tri

Dies stellt den Modus eines Pins als Eingangs-, Ausgangs-, PWM- oder Clock-Modus ein. Zusätzlich kann man die internen Pull-Up / Down-Widerstände auf Pull-Up, Pull-Down oder None stellen. Nähere Infos unter: http://wiringpi.com/the-gpio-utility/

3. Shell-Skript erstellen

Um die GPIOs per sh-Script zu schalten muss zuerst ein Script erstellt werden:

sudo nano gpio.sh

Inhalt des Scripts:

#!/bin/bash
gpio mode 7 out 
gpio write 7 1
sleep 5
gpio write 7 0
sleep 1
done

Erklärung:
gpio mode 7 out: Der Pin 7 wird als Ausgang definiert.
gpio write 7 1: Der Pin 7 wird angeschalten.
sleep 5: 5 Sekunden warten.
gpio write 7 0: Der Pin 7 wird ausgeschalten.
sleep 1: 1 Sekunden warten.

Script ausführbar machen:

sudo chmod +x gpio.sh

Script ausführen:

/home/pi/gpio.sh

Dieses Script kann zum Beispiel für die Sprachsteuerung mit Jarvis verwendet werden.


Schreibe einen Kommentar

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

Translate »