Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
activitys:rpi:gpio [2016-10-26 21:33] Frankeactivitys:rpi:gpio [2018-08-23 14:58] (aktuell) Franke
Zeile 1: Zeile 1:
-{{tag>Rasberry_Pi raspi gpio demo bash}} +{{entry>Raspberry_Pi/raspi gpio bash;-}} 
-====== Rasberry Pi / GPIO ======+{{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.
  
-RasPi I/O-Ports (GPIO) einfach auslesen mit BASH, ein simples Beispiel-Script: 
  
 +
 +===== Projektidee: Über GPIO Aktionen auf dem Pi auslösen =====
 +
 +** Umsetzung als Bashscript**
 <file bash raspi_-_get_gpio_demo.bash> <file bash raspi_-_get_gpio_demo.bash>
 #!/bin/bash #!/bin/bash
  
-Kompletter Pfad/File zum jeweiligen I/O-Port. (!Muss vorher initialisiert werden. +RasPi I/O-Ports (GPIOeinfach auslesen mit BASH, ein simples Beispiel-Script
-ports="/sys/class/gpio/gpio21/value /sys/class/gpio/gpio22/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
 +# /Schleife zum permanenten auslesen und anzeigen
 +
 +# FIN
 </file> </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 21:33