Python 我想每分钟执行一次这个脚本,每次它改变状态时给我发送一条消息

Python 我想每分钟执行一次这个脚本,每次它改变状态时给我发送一条消息,python,time,notifications,Python,Time,Notifications,我正在处理一个raspberrypi,我想把这个代码放在crontab中,每分钟执行一次,它应该将gpio从19:00降低到19:minute_max(这部分工作正常),然后它应该在改变gpio状态时给我发一封电子邮件。当设置为低时,我可以给我发送电子邮件。使用此代码: 从时间导入本地时间 将RPi.GPIO导入为GPIO GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) GPIO.setup(26,GPIO.OUT) 矿石=19 分钟/最大值=30

我正在处理一个raspberrypi,我想把这个代码放在crontab中,每分钟执行一次,它应该将gpio从19:00降低到19:minute_max(这部分工作正常),然后它应该在改变gpio状态时给我发一封电子邮件。当设置为低时,我可以给我发送电子邮件。使用此代码:

从时间导入本地时间
将RPi.GPIO导入为GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(26,GPIO.OUT)
矿石=19
分钟/最大值=30
最小值=范围(0,最小值最大值)
如果(localtime()[3]==ore)和(localtime()[4]以分钟为单位):
如果GPIO.input(26)=1:
GPIO.输出(26,GPIO.低)
#给我发邮件(“ON”,“yeye”)
打印(“在”)
其他:
GPIO.输出(26,GPIO.高)
如果我在else语句中放入send_mail_to_me函数,它将每分钟向我发送一次。但我希望它只有在第一次将gpio设置为高时才被发送

我尝试了以下方法,但无效:

从时间导入本地时间
将RPi.GPIO导入为GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
GPIO.setup(26,GPIO.OUT)
矿石=19
分钟/最大值=30
最小值=范围(0,最小值最大值)
如果(localtime()[3]==ore)和(localtime()[4]以分钟为单位):
如果GPIO.input(26)=1:
GPIO.输出(26,GPIO.低)
#给我发邮件(“ON”,“yeye”)
打印(“在”)
标志=1
elif(localtime()[4]不在minuti中)和flag==1:
GPIO.输出(26,GPIO.高)
#给我发邮件(“OFF”,“yoyo”)
打印(“关闭”)
标志=0
其他:
GPIO.输出(26,GPIO.高)