25 agosto 2019

Linux y mi sistema casero de vigilancia


Mientras espero a que me lleguen de vuelta las cámaras que me robaron en el correo -al menos ya me mandaron a pedir los antcedentes- he ido haciendo diferentes experimentos con mi sistema artesanal basado en la Raspberry Pi y Motion Eye.

Trasteando
El primero fue tratar de instalar el Motion Eye manualmente, sobre el Linux Debian ¿Para qué? Bueno, primero que nada eso me dejaría a la Raspberry disponible para otros usos además de tenerla ocupada en mi sistema de vigilancia podría usarla como máquina Linux con un visor VNC o ccn Putty, pero sobre todo quería ver  si podía ocupar la tarjeta Mini SD de 32 GB en mis experimentos de Putty Linux. Como noquiero comprarme una -léase no tengo plata- Pensé en instalar el Debian y Motion Eye en un pendrive de 8 GB, que m regaló hace años mi buen amigo dominicano Luis Reyes y todavía me presta valiosos servicios.

Linux no es para usuarios normales
Instalar cualquier cosa "a mano" en Linux es complicado y consume mucho tiempo, incluo para mi que ya me acostumbré al sistema, porque aparecen multitud de errores debido a la incompatibilidad de muchos paquetes con el kernl que tngamos instalado, o bien por versiones obsoletas o cosas por el estilo. El mayor problema de Linux es que no se trata de una sola compañís gigantesca como Microsoft, sino que es desarrollado por cientos de miles de programadores independientes, entonces la coordinación, compatibilidad y actualización resultan super omplicadas.

Por eso creo que Linux jamás estará al alcance de usuarios finales como la abuelita, mi querida suegra o el 90% de la gente que usa computadores, a menos que se conformen con solo usar Internet. Así y todo un usuario promedio tiene problemas. El sistema es realmente maravilloso cuando uno entiende de computadores, es mucho más lindo, ordenado y lógico que Windows (de Apple mejor ni hablo), pero yo mismo que lo encuentro estupendo, no lo usaría en mi equipo principal de todos los días, porque está repleto de pequeños dolores de cabeza ¿Qué se puede esperar de un sistema cuyo principal gestor de base de datos se llama "Maria"? No mucho, pocos serios pues, es como si Gates le hubiese puesto "Melinda" a su browser.

Ah, ya estoy divagando, pero que importa, iba a poner unas líneas sobre la instalación y terminé filosofando con la guerra entre Windows y Linux, tal como en las guerras santas de fines de los 90, ah que tiempos aquellos. Los fines de semana tengo muy pocas visita desde hace tiempo así es que escribo sin preocuprme si les va a intresar o no lo que pongo, por eso los refritos y todo el resto.

Motion Eye sobre Raspbian
Bueno, volvamos por fin a lo que quería contarles, de nuevo me amanecí instalando Raspbian en su versión mínima y luego Motion Eye, una tortura china porque casi todos los métodos estaban desactualizados. Finalmente lo conseguí siguiendo las instrucciones del propio Chris Crisan, el inventor del Motion Eye, ya había amanecido cuando estaba funcionando, así es que lo dejé en prueba y me fui a dormir comoa las 7 de la madrugada.

Cuando desperté me fui corriendo a ver como funcionaba, para mi decepción una cámara se había caído. Después de asegurarm que no era un problema de la cámara sino del sistema me puse a probar una y otra y otra vez cambiando todas las configurciones que pude, pero nada siempre después de funcionar se caía una o las dos cámaras o el sistema completo. Hasta que se me ocurrió la posible causa del problema.

Problemas con las USB
Resulta que por alguna razón, el Motion Eye funciona mal cuando se usa más de una puerta USB de la Raspberry. Entonces se me ocurrió colocar un .viejo splitter USB, con una entrada y 4 salidas y funcionó casi perfecto, duraba un dí pero se terminaba cayendo igual. Mi explicación es que si tengo el sistema operativo y las cámaras compartiendo la misma entrada de USB del Raspberry, por alguna razón el sistema se cae después de un tiempo, debe ser un asunto de onsumo de corriente, a pesar que alimento el Raspberry con una funte de 3 Amperes, pero por ahí debe andar la cosa.

Bueno, ya no me quise seguir rompiendo la cabeza y volví a instalar MotionEyeOS en la micro SD y el Puppy Linux en el pendrive de 8 GB, todos felices.

Vigilancia con cámaras de video

A propósito de las cámaras de vigilancia, creo que son una solución excelente y -para un sistema artesanal como el mío- se puede obtener un buena protección por muy bajo precio. Lo u yo tengo instalado me costó con seguridad menos de 80 dólares, todo incluido. claro que yo hice lainstalación y todo, además las cámaras web de 4 dólares que uso no permiten, por ejemplo, identificar con claridad una cara en todas las condiciones de iluminación, pero si cuando la luz es buena. Para un sistema barato no está nada de mal, además le conozco la vida a todo el barrio y podría chequea mi casa desde cuelquier parte del mundo con un celular, sin problemas.

Diferentes usos de video vigilancia
Dependiendo de las necesidades, las cámaras pueden ser usadas de manera muy diferente. Un primer uso es para que una sola persona vigile varios lugares al mismo tiempo, para eso se debe tener a un operador durante todo el tiempo que deseamos vigiar mirando varias pantallas que corresponden a distintas cámaras, en tiempo real. Esos son los sistemas que usa normalmente la policía o seguridad ciudadana para vigilar las calles. El operador puede mover, acercar, etc. las cámaras y si detecta algo de interés puede grabar el video o hacer fotos. Pero para est se necesita un operador full time.

Otro uso es simplemente dejar las cámaras grabando todo el tiempo, sin operador. Por ejemplo se pueden dejar grabando de manera contínua durante días o hasta un par de semanas. Esto tiene varios problemas, el primero es que el video ocupa muchisimo almacenamiento y los discos más grandes -y caros- con suerte alcanzan a grabar una semana de video contínuo. Otro problema es que como la grabación es en tiempo real hay que revisar el video también en tiempo real, claro que se puede acelerar la velocidad, pero buscar una imagen en un video de varios días puede tomr horas o hasta un día completo. Un tercer problema es que como nadie está operando el sistema, las cámaras o sus componentes pueden fallar, incluso se las pueden robar sin que nadie se de cuenta.

La detección de movimiento
La detección del movimiento es la solución ideal para grabar solo lo que nos interesa, usar un espacio de almacenamiento razonable y hacer más rápida la revisión de los videos. Antiguamente se hacía colocando sensores de movimiento que encendían las cámaras, pero el video digital permitió una forma más simple que no necesita sensor sino que analiza las imágenes que se están captando en tiempo real. Digamos, si una cámara filma a 10 cuadros por segundo, el software compara cada cuadro con el anterior: si son iguales no graba nada y si hay un cambio graba. Con software tamnbién se pueden enmarcar las figuaras que se mueven para seguirlas


Este sistema que se ve tan bueno tiene el problema del ajuste, es decir como detectar que movimiento debe grabarse y cual no. Por ejemplo las cámaras producen imágen con "ruido" y nunca una es exactamente igual a la otra, hay que determinar cual es ruido y cual es cambio. Imaginemos por ejemplo que grabamos una calle, corre viento y se mueve un cable, eso podría tener al sistema grabando por horas un movimiento que no interesa. O cuando ocurren cambios de iluminación, etc. Hay muchos pequeños detalles que ajustar y eso es la parte difícil de estos sistemas, que nunca llegan a ser 100% exactos.
   .
Si tuvieron paciencia de leer mis latosas divagaciones y llegaron hasta aquí, les diré por fin algo más o menos importante: un sistema casero de video vigilancia es muy bueno para la seguridad de la casa y se puede armar con bien poca plata. El que yo tengo costó menos de 80 dólares en total y funciona bien, sin grandes problemas. Además se puede ver con un celular desde cualquier parte del mundo. Yo creo que es algo que debiera existir en todas las casas y eso mejoraría mucho la seguridad, no solo del hogar sino de todo el barrio

5 comentarios:

  1. Respecto a la facilidad (o dificultad) de uso de Linux, hay un sistema operativo que es muy fácil de usar y a la vez libre como Linux. Ese sistema se llama Haiku OS y por diseño se asemeja más a Mac. Si bien llevan años tratando de desarrollarlo y hace pocos meses recién fue lanzada una primera beta, se pueden utilizar muchas aplicaciones partiendo por LibreOffice, incluso se ha visto un cliente de Telegram. Aunque aún falta ver un navegador como Firefox o Chromium. De tener el apoyo que tiene y tuvo Linux, Haiku podría tener más usuarios que Mac y ser una amenaza a Windows en el campo de los PC de escritorio

    ResponderBorrar
  2. Un tema derivado de las camaras es el reconocimiento facial. Se supone (soy analfa) que los software generan una formula con los rostros que seria unica o casi, de cada persona y estable en diferentes condiciones de luz, exposicion etc. Y esto poodria aplicarse masivamante con las implicaciones de eso y bla, bla, bla.
    Esos algoritmos que se usan imagino que toman medidas de partes del rostro y hacen relaciones entre ellas paa llegar a una formula unica. ¿Es posible alterar esas relaciones , subir una ceja, rellenar un moflete, engruesar una nariz o un labio etc . ya sea fisicamente, ya sea via maquillaje, sin llegar al pasamontañas?. Si es posible se abriria un interesante nicho de mercado por ahi.

    ResponderBorrar
  3. Hola anónimo, la "dificultad de uso" depende muho de lo que uno entiende por "uso". El manejo de las operaciones normales (lanar aplicaciones, borrarlas, instalar y cosas así) es el primero nivel y casi todos los sistemas son iguales: todas siguen el paradigma de Windows porque a estas alturas casi nadie se interesaría por aprender un paradigma nuevo.

    En ese sentido los dos sistemas más fáciles de usar que existen son Windows y Android, esto a nivel de interfaz de usuario. Pero hay muchas otras formas de entender el uso que son más importantes: por ejemplo la facilidad con que el sistema reconoce y negocia una conexión con Internet o una red Wifi. Linux aquí se empieza a omplicar y para que hablar de otros sistemas más experimentales. De lo que yo he visto, el Puppy Linux es el que tiene más facilidades en cosas como esa, aunque la posibilidad de ampliarse o incorporar tecnologías nuevas es limitadísima, porque está descontinuado y solo lo mantiene un grupo de entusiastas.

    No es casualidad que Windows y Android sean los sistemas más sencillos de usar que existen, eso ocurre porque se han desarrollado por las dos principales empresas de software del mundo: Microsoft (Windows) y Google (Android), hay tonladas de plata, son negocios fabulosamente grandes y aunque Androd -en teoría- es "software iibre" no es gratis ni mucho menos.

    Yo pienso que para el usuario final, interesado en "la última milla" los mejores sistemas operativos siempre serán los comerciales: Windows, Android y OS-X, en ese orden

    ResponderBorrar
  4. Es todo un tema lo de evadir el reconocimiento facial, no lo conocia. Muy interesante el asunto.

    ResponderBorrar
  5. La cantidad de crímenes que se resuelven con estas camaritas ya es impresionante, en cualquier ciudad. Lo primero que hace la policía ante un siniestro es recorrer el barrio pidiendo ver las grabaciones de las cámaras de los comercios, particulares, etc. Evidentemente un barrio con mucho de esto ya tiene que tener un factor disuasivo para los cacos, mejor que el perro malo de antaño. Uls

    ResponderBorrar

"Send me a postcard, drop me a line
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, wasting away
Give me your answer, fill in a form
Mine for evermore
Will you still need me, will you still feed me
When I'm sixty-four"