#!/usr/bin/python # encoding:utf-8 # 目前用的人体红外传感器模块是最迷你型的,因此感应的距离只有一米 # 当检测到人体活动时,会持续高电平2~4秒 import RPi.GPIO as GPIO import time import renlian as rl import lighting as l import MySQL as m import jiqiren as jqr import huoyan as hy # !/usr/bin/python # encoding:utf-8 def gy(): Infrared = 22 GPIO.setmode(GPIO.BCM) GPIO.setup(Infrared, GPIO.IN) for i in range(5): t = time.strftime('%Y-%m-%d %H:%M:%S') if (GPIO.input(Infrared) == True): print(t + " 家居环境异常 !") GPIO.cleanup(Infrared) return t else: # print(t + " Nobody !") time.sleep(0.1) GPIO.cleanup(Infrared) return 0 # gy() # time.sleep(10) #找出感应器重置的时间 # gy() def check_env(): hy.hy() sign = gy() if (sign != 0): jqr.Key("检测到环境异常!即将启动自动监控!") while True: l.L_hcsr_open() id = rl.auto_video() if (id[1] == 0): jqr.Key("警报解除!") l.L_hcsr_close() break sign = gy() if (sign != 0): jqr.Key("警告警告!环境异常!") m.hcsr_update("hcsr", "alarm_time", sign, id[0]) continue else: jqr.Key("警报解除!") l.L_hcsr_close() break # check_env()