2016-06-09 36 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默认设置,以便在代码运行前不会播放闹钟