def _set_monitoring(value): global is_monitoring if value == video.ON_STRING: is_monitoring = True else: is_monitoring = False if video.recording: Video.generate_thumbnail(video.stop_recording(), hres=args.horizontal_resolution, vres=args.vertical_resolution)
# logging setup logger = set_logger(level=args.log_level) video = Video( rotation=args.rotation, horizontal_resolution=args.horizontal_resolution, vertical_resolution=args.vertical_resolution ) video.start() pir = PIR(args.pin) pir.start() mqtt = MqttClient(args.endpoint, args.log_level, args.port) mqtt.set_tls(args.ca_file, args.client_cert_file, args.client_key_file) mqtt.add_callback(args.topic + args.subtopic, receive_command) mqtt.add_subscription(args.topic + args.subtopic, qos=args.qos) mqtt.loop_start() # loop while True: is_moving = pir.detects_movement() if is_monitoring: if not is_moving: if video.recording: Video.generate_thumbnail(video.stop_recording(), hres=args.horizontal_resolution, vres=args.vertical_resolution) elif is_moving: video.start_recording() sleep(args.wait)