Ya hay una aplicación para Android para detección de movimientos, tiene el sorprendente nombre de Motion Detector. La aplicación es excelente (tiene una configuración casi idéntica al MOTION para Linux), consume muy poca batería y es capaz de detectar movimiento y hacer fotos incluso estando el movil bloqueado y con la pantalla apagada lo cual repercute en un excelente bajo consumo de batería, PERO tiene un problema: esta forma de funcionamiento y de acceso a la cámara provoca que las fotografías estén enfocadas en infinito, y no hay manera de enfocarlas desde el propio programa.
Claro es bastante incómodo y algo absurdo, detectar movimientos cerca y fotografiar enfocando lejos, a infinito, justamente el único sitio donde no hay movimiento!!

Pero todo tiene remedio. Con ayuda de Tasker (una app para Android que ya os comenté hace tiempo) he ingeniado una tarea para grabar vídeos/fotografías bien enfocados y con toda la calidad HD que da el Galaxy S4.

La idea es sencilla: detectar movimientos usando Motion detector, pero este en lugar de tomar fotografías activa un evento Tasker que se encarga de: pausar la detección, tomar el control de la cámara, ponerla a grabar (con su autofoco activo), parar la grabación después de unos segundos y volver a reactivar la detección. Así se hizo este vídeo.

Este método via tareas de Tasker tiene algunas limitaciones, la más importante es que Tasker no puede desbloquear el teléfono cuando este se bloquea manualmente ó por un periodo de tiempo inactivo (no es un bug es una feature). Por lo que antes de usar este script es obligatorio eliminar cualquier tipo de sistema de seguridad de la pantalla de bloqueo. Una vez desactivado el bloqueo de la pantalla Secure Settings puede «levantar» el teléfono que se encuentra inactivo y proceder a activar la cámara y emular las pulsaciones de teclas (en realidad Secure Settings si puede levantar un teléfono que esté bloqueado por el método de patrón y PIN, pero puesto que no son métodos que yo esté usando los he ignorado).

Tarea para Tasker

Empezaremos por el final, diseñando la lista de acciones que se van a realizar en el momento que se detecte movimiento. Para ello abrimos Tasker, vamos a TAREAS y creamos una nueva tarea que llamaremos «Grabarunvideo«, esta tarea contiene: Sigue leyendo…