Hallo Allerseits,
bei mir muss immer als erstes vor dem lobenden AUTOR die Zeile welches Python ich benutzen möchte und wo sich das Python-Programm befindet.
Sonst kommt bei mir Das:
pi@raspberrypi1 /var/www/teichmonitor/Test_skripts $ sudo ./schaltkontakt.py 16
./schaltkontakt.py: 5: ./schaltkontakt.py: import: not found
./schaltkontakt.py: 6: ./schaltkontakt.py: import: not found
./schaltkontakt.py: 9: ./schaltkontakt.py: Syntax error: "(" unexpectedALSO erst: #!/usr/bin/python2.7
Code:
#!/usr/bin/python2.7
#-----------------------------#
# Author: Dennis #
#-----------------------------#
import RPi.GPIO as GPIO
import sys
so ist es bei meinen Pi´s zumindest evtl liegt es an den verschiedenen installierten Pythonen Versionen 2.7.9 bis 3.4.2.
schnuffi hat geschrieben:
Bei geschlossenem Schließer wird eine 1 ausgegeben
Bei offenem Schließer wird eine 0 ausgegeben
Bei geschlossenem Öffner wird eine 0 ausgegeben
Bei offenem Öffnerwird eine 1 ausgegeben
evtl. Verwirrung!!!
Dennis ein offener Öffner ist gleich zusetzen wie ein offener Schließer beides mal liegt am GPIO low Signal an.
Ich weis Du meinst die Flankensteuerung (FALLING, RISING, BOTH oder beides) die in Deinem Skript nicht angegeben ist, was mich wundert????
GPIO.add_event_detect(GPIOin, GPIO.
RISING)
Des weiteren würde ich auch die Kontakt-Prellung mit ein beziehen 300 ms.
GPIO.add_event_detect(GPIOin, GPIO.RISING,
bouncetime=300)
Auf keinen Fall würde ich auf den Software gesetzten Widerstand verzichten, der macht mir keine Arbeit beim Ein bzw. Auslöten!
GPIO.setup(GPIOin, GPIO.IN, pull_up_down=
GPIO.PUD_DOWN)
Also könnte bis dahin das Skript so aus sehen:
Code:
#!/usr/bin/python2.7
#================================================================================================================================================
#Title : Pegelschalter an GPIO auslesen
#Author : Gemeinschaftsarbeit von der Teichsteuerung
#Datum : 02.05.2015
#Version : 01
#Anwendung :Starte Script mit z.b pi@raspberrypi1 /var/www/schaltkontakt/quellen/sensoren/schaltkontakt.py $ sudo ./schaltkontakt.py 16
#Notizen :Um einen GPIO zu exportieren muessen wir jedoch Root sein (was ein bisschen nervt). Entweder wechselt man vorher zum Root-Benutzer,
# oder man aendert die Rechte der export-Datei: pi@raspberrypi ~ $ sudo chmod 222 /sys/class/gpio/export /sys/class/gpio/unexport
# pi@raspberrypi ~ $ gpio export 16 in
#================================================================================================================================================
import RPi.GPIO as GPIO
import sys
#GPIO PINs deklariren
GPIOin = int(sys.argv[1])
#Warnings ausschalten um fehlerhafte Logausgaben zu vermeiden
GPIO.setwarnings(False)
#set GPIO PINS
GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIOin, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
# Hier Flankensteuerung FALLING, RISING, BOTH oder beides #
GPIO.add_event_detect(GPIOin, GPIO.RISING, bouncetime=300)
def Measure(GPIOin):
#Read input Pin
Status = GPIO.input(GPIOin)
return Status
Status = Measure(GPIOin)
print Status
GPIO.cleanup()
Skript mit :
sudo ./schaltkontakt.py 16
0 Schalter offen
1 Schalter geschlossen
getestet!!
schnuffi hat geschrieben:
Wenn du möchtest kann ich auch die Abfrage für Öffnerkontakt oder Schließerkontakt hinzufügen
In etwa so
pi@Teich /var/www/schaltkontakt/quellen $ sudo python schaltkontakt.py "GPIO" "Schließer"
pi@Teich /var/www/schaltkontakt/quellen $ sudo python schaltkontakt.py "GPIO" "Öffner"
Wenn das möglich ist halte ich es von Vorteil, da es verschiedene Schwimmerschalter gibt, denke da gerade an solche Varianten ein wenig kleiner aber vom Prinzip her.
http://info.elektro-kahlhorn.de/schwimm ... ifa-gifas/Sollte der RasPi´s jeweils die macht haben meinen 50m³ Teich in den Nachbar seine Kellerwohnung zu Pumpen, kommt auf jeden Fall an erster Prio so ein Ähnlicher Schwimmer-schalter zu tragen!!!
Dazu habe ich dann noch Fragen an Gunter:
Mit welcher Priorität wird der Schalter in der Teichsteuerung angebunden (Abfrage und Verarbeitung Intervall)
Wäre ein Logen nur bei einer Zustandsänderung möglich.
Zitat:
Pfiffikus,
der davon ausgeht, dass Du auch noch exakte Zeichnungen erstellen könntest, falls hoeneß2 noch etwas brauchen sollte
Reichen Euch die Fritzing Bilder von mir nicht sollte ich da noch was ändern?
Die können gerne benutzt werden, sind mit freier Fritzing Software erstellt!!
Dateianhang:
Pegel 1.jpg
Dateianhang:
Pegel_2.jpg
Pfiffikus hat geschrieben:
wir brauchen ein Shell-Skript, welches auf der Konsole aufgerufen werden kann. Sinngemäß muss es so ablaufen:
Eingabe:
Code:
root@raspberrypi1:/var/www/steuerung/quellen/sensoren# ./schalter.py 16
Sicherer wäre ohne nötige root-Rechte:
Code:
pi@raspberrypi1:/var/www/steuerung/quellen/sensoren# ./schalter.py 16
ohne root-Rechte bzw. sudo geht bei den GPIO in Verbindung mit Python wohl nichts, wie bei den
Ultraschallsensor HC-SR04 und der echolot.py
Ich habe das hier mal probiert:
Man muss kein root haben um auf die GPIOs zu zugreifen (zumindest nicht meinem Build) die beiden Dateien export und unexport gehören der Gruppe "gpio". Sollte der aktuelle Benutzer vermutlich "pi" nicht dieser Gruppe angehören, reicht folgendes:
sudo usermod -aG gpio pi
Im aktuellen Rasbian ist das allerdings schon geschehen.
http://raspberrypiguide.de/howtos/raspb ... mment15682funktioniert aber mit Python nicht.
siehe hier:
http://www.netzmafia.de/skripten/hardwa ... PIO_C.htmlalso sollte /etc/sudoers um schalter.py erweitert werden.
www-data ALL=(root) NOPASSWD:/var/www/steuerung/quellen/sensoren/schalter.py