Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
activitys:rpi:gpio [2016-10-26 19:43] – angelegt steffenactivitys:rpi:gpio [2018-08-23 14:58] (aktuell) Franke
Zeile 1: Zeile 1:
-====== GPIO ====== +{{entry>Raspberry_Pi/raspi gpio bash;-}} 
-<code bash>+{{tag>Raspberry_Pi raspi gpio bash}} 
 +====== Raspberry Pi / GPIO ====== 
 +  * Die GPIOs müssen Initialisiert werden 
 +  * Im Unterverzeichnis des jeweiligen GPIOs kann in der ''direction'' Datei definiert werden ob der Pin als Ein- (in) oder Ausgang (out) fungieren soll. 
 +  * Aus der Datei ''value'' kann im Modus Eingang der aktuelle Wert (High (1) oder Low (0)) ausgelesen werden. Im Modus Ausgang kann hier eine 1 oder 0 hineingeschrieben werden um den Pegel des Pins zu beeinflussen. 
 + 
 + 
 + 
 +===== Projektidee: Über GPIO Aktionen auf dem Pi auslösen ===== 
 + 
 +** Umsetzung als Bashscript** 
 +<file bash raspi_-_get_gpio_demo.bash>
 #!/bin/bash #!/bin/bash
  
-… +RasPi I/O-Ports (GPIO) einfach auslesen mit BASH, ein simples Beispiel-Script
-ports="/sys/class/gpio/gpio21/value /sys/class/gpio/gpio21/value"+
  
-# Schleife+# Benutze I/O-Ports 
 +ports='21 22' 
 + 
 +# INIT 
 +for port in ${ports} ; do 
 + echo "${port}" > '/sys/class/gpio/export' 
 + echo 'in' > "/sys/class/gpio/gpio${port}/direction" 
 +done 
 +# /INIT 
 + 
 +# Schleife zum permanenten auslesen und anzeigen
 while [ true ] ; do  while [ true ] ; do 
  for port in ${ports} ; do  for port in ${ports} ; do
- v=$(< ${port})+ v="$(< "/sys/class/gpio/gpio${port}/value")"
  #echo "Debug: ${port} = ${v}"  #echo "Debug: ${port} = ${v}"
- if [ ${v} = 1 ]; then  + if [ "${v}'1] ; then  
- echo "Pin an"+ echo "Pin: ${port}: An"
  else  else
- echo "Pin aus"+ echo "Pin: ${port}: Aus"
  fi  fi
  done  done
  sleep 1s  sleep 1s
 done done
-</code>+# /Schleife zum permanenten auslesen und anzeigen 
 + 
 +# FIN 
 +</file> 
 + 
 +  * Zukünftig: Eventuell über Cron abfragen um die Stabilität zu erhöhen 
 +  * Zukünftig: Eventuell über Systemd?
  • Zuletzt geändert: 2016-10-26 19:43