2016-06-09 9 views
-1

Ich benutze einen Raspberry Pi 2 mit DietPi und stecke ein Alarmmodul in den GPIO 14 (Pin 08).GPIO standardmäßig deaktivieren und temporär per Python-Skript aktivieren

Ich möchte jetzt diesen Pin standardmäßig deaktivieren und nur vorübergehend in meinem Python-Skript einschalten.

Bis jetzt habe ich versucht mit RPi.GPIO, die nicht funktioniert hat und unexport/export, aber das endete nur bis zu meinem extension beschädigen, wo ich es neu installieren musste.

Offensichtlich mache ich etwas sehr falsch. Hat jemand Erfahrung damit und könnte mich in die richtige Richtung weisen?

+0

Was erwarten Sie von * "deaktivieren" * ein GPIO? Sie haben das Problem nicht klar definiert. Wird dieser GPIO für die Eingabe oder Ausgabe verwendet? Wenn ein Gerät angeschlossen ist und der GPIO als Ausgang verwendet wird, dann ist * das Deaktivieren * des GPIO die falsche Sache. I.E. Sie lassen die Ausgabe in einem undefinierten Zustand und verlieren dadurch die Kontrolle über das Gerät. – sawdust

Antwort

0

Ich habe meine rpi nicht mit mir, aber Sie können versuchen, dies zu verwenden. Erste Funktion Exporte, 3 folgenden Prüfzeit

import time 
import sys 

def unexport(gpio): 
    value = open("/sys/class/gpio/unexport","w") 
    value.write(gpio) 
    value.close() 

def checkHours: 
    return int(time.strftime("%l")) 

def checkMinutes: 
    return int(time.strftime("%M")) 

def checkAMorPM: 
    return time.strftime("%p") 

def disableGpio3AM46: 
    if (checkHours == 3) and (checkMinutes == 46) and (checkAMorPM == 'PM'): 
     print 'amazing' 
     unexport(gpio) 
0

Seit der Veröffentlichung dieser Frage ich diesen Weg gefunden haben, um abzuschalten und den Stift/gpio durch Python zu aktivieren:

import RPi.GPIO as GPIO 
import time 

GPIO.setmode(GPIO.BOARD) 
GPIO.setup(8, GPIO.OUT) 

try: 
    while True: 
    GPIO.output(8,1) 
    time.sleep(0.5) 
    GPIO.output(8,0) 
    time.sleep(0.5) 

except KeyboardInterrupt: 
    GPIO.cleanup() 
    print "Bye" 

Alles, was für mich übrig geblieben ist jetzt herauszufinden, wie man die pinby default deaktiviert, so dass der alarm nicht abgespielt wird, bis der code ausgeführt wird

Verwandte Themen