立即调用回调中断

时间:2015-11-02 03:49:14

标签: python python-2.7 raspberry-pi gpio

我尝试使用rasberry PI 2的GPIO来模拟警报系统,我创建了一个回调函数来处理传感器状态何时发生变化。我想通过创建一个新的区域来实现这一目标。对于每个传感器,我创建了一个处理它的类。

我的问题是"回调"在状态改变之前被调用。我不确定是什么问题。请记住,我是python的新手。我一直在寻找答案,但我不确定该寻找什么。

感谢。

Main.py

#!/usr/bin/python
import CreateZone
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)


front = 6#pin
a = CreateZone.CreateZone(front,"test")
GPIO.setup(front, GPIO.HIGH)
print GPIO.input(front)
GPIO.setup(front, GPIO.LOW)
print GPIO.input(front)

CreateZone.py

#!/usr/bin/python
import RPi.GPIO as GPIO


class CreateZone(object):

    def __init__(self, pin, zone_name):
        pin = pin
        zone_name = zone_name
        GPIO.setup(pin, GPIO.IN)
        self.new_zone(pin, zone_name)

    def callback(self, pin, zone_name):
        print "Change!!!"
        print "pin = " +str(pin)
        print "zone = " +str(zone_name)

    def new_zone(self, pin, zone_name):
        GPIO.add_event_detect(pin, GPIO.BOTH, callback=self.callback, bouncetime=300)

输出

Change!!!
pin = 6
zone = test
1
0

0 个答案:

没有答案