2016-06-09 53 views
-1

我正在使用DietPi的Raspberry Pi 2並將報警模塊插入GPIO 14(引腳08)。默認禁用GPIO,並通過python腳本臨時激活它

我現在想在默認情況下禁用此Pin並只允許它在我的python腳本中暫時打開。

到目前爲止,我已經嘗試過使用RPi.GPIO,它沒有正常工作並且未導出/導出,但是這隻會導致我的操作系統受到損壞,而我不得不重新安裝它。

很明顯我做的事情非常錯誤。有沒有人有這方面的經驗,並指出我在正確的方向?

+0

您對*「禁用」* GPIO有什麼期望?您尚未明確定義問題。這個GPIO是用於輸入還是輸出?如果連接了一個設備並將GPIO用作輸出,那麼*「禁用」GPIO是錯誤的。 I.E.您允許輸出處於未定義狀態,從而失去對設備的控制。 – sawdust

回答

0

我沒有我的rpi,但你可以嘗試使用這個。 首先函數出口,以下3個檢查時間

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

由於張貼這個問題,我已經想通了這種方式,通過蟒蛇禁用和啓用引腳/ GPIO:

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" 

所有這一切給我留下現在要弄清楚的是如何禁用pinby默認設置,以便在代碼運行前不會播放鬧鐘