24 diciembre, 2011

RECUPERAR ARCHIVOS LUEGO DE HABER FORMATEADO UN DISCO, USANDO UBUENTU 11.04 (LINUX)

I. DESCRIPCION DEL CASO (esperiencia propia)   La necesidad de hacer artìculo, bàsicamente es una experiencia propia, resumido de la siguente manera:   Yo trabajo con tres sitemas operativos siendo el principal LINUX-UBUNTU V.11.04; dentro del cual usando el instrumento de maquinas virtual "VIRTIALBOX", los sistemas operativos: Windows XP (32bits) y Windows7 (64bits). Luego de  haber tratado de optimizar el rendimiento del XP, por equivocacion algun archivo borre y cuando intente ingresar no pude. Bueno como tenia algo de tiempo desidì formatear e instalar de nuevo UBUNTU 10.04, pero por equivocacion formateee todo mi disco duro, el golpe fuerte fue que dentro de ello tenia dos particiones en los que guardaba documentos muy utiles recopilados de varios anios de estudios (maestria y proyectos de investigacion e inversion, claves secretas etc.)  Todo esto sucedio justo un dia antes de Navidad (2011), asi que se imaginaran que no puede dormir tratando de hallar una solucion (recuperar  mi informaciòn).Por fin llega hallar una solucion, despues de leer  varios articulos de la red y que comparto;   II. OBJETIVO  Recuperar archivos de particiones formateadas utilizando Testdisk en la interfaz      ubuntu de linux.  III. HERRAMIENTAS NECESARIAS      . Testdisk    . Ubuntu 10.04 (posiblemente funcione con versiones anteriores)    . Paciencia y buen humor   IV. PROCEDIMIENTO
   a.- Respirar profundo y pensar que todo tiene soluciòn o por lo menos se tiene la esperanza, una buena papa rellena y una manzanilla caliente 
    b. Instalar TestDisk (recomiendo lo hagan desde vel centro de software), con tan solo colocar TestDisk en el espacio de busqueda, como se ve ve en la siguiente figura 

   c. Abrir un terminal  (APPLICATIONS > ACCESSORIES > TERMINAL) y escribir en el el siguiente comando:                                       sudo testdisk  colocar su contrasenia correspondiente a su usuario (para iniciar com administrador)

  d. Presionar enter, con lo que la pantalla de interfaz pondra de la siguiente forma (puede que te pida que agrande el tamanio de la pantalla para que se prosiga el trabajo adecuadamente).               e. De ahora e adelante sòlo podremos usar la teclar: arriba, abajo, derecha, izquierda y enter y ciertas letras segùn sea el caso (o en su defecto segùn como indiquen las instrucciones en la pantalla).
   f. Seleccionar CREATE.
   g. Luego seleccionar el disco duro donde estaba la partición que borramos.

  h. En mi caso, seleccionamos INTEL, pues esa es la particiòn que deseaba recuperar de la portatil (PC).

   i. Enter en ANALYSE.

  j. Nos aparecerán las particiones que tenemos actualmente, así que seleccionamos QUICK SEARCH.
    k. Presionar ENTER sobre la partición y luego DEEPER SEARCH.
  l. Poco a poco iran apareciendo las particiones que tenemos y tambien las particiones que hemos borrado al formatear, en mi caso, solo me interesaba dos particiones modo NTFS (con nombres D y E repectivamente, que me indica que son particiones de tipo Windows)
  m. Les recomiendo que estén pendientes de cuando aparezca la partición que busc

  n. Una vez que vean la partición que están buscando, clickar en STOP.Pero sino tienen mucho cuidado en ello no hay problema al final se listaràn todos todas las particiones que reconoce.

  o. Escojen la partición y le dan P, para listar los archivos.

  p. Vayan revisando cuáles son los archivos que necesitan recuperar, y una vez que lo vean lo seleccionan y le dan C, para copiar.

   q. Seleccionan un folder de su partición actual y le dan enter a la opción PEGAR.De de lo contrario se guardaran automaticamente en la carpera Home del usuario (caso mio la carpeta se llama Mariano).

  r. Verán un mensaje en rojo que dice PLEASE WAIT. COPYING FILES...

  s. Esperan hasta que diga que el proceso de copiado ha culminado.y por ultimo a buscar los achivos . 
V. CONCLUSION
   - Se pudo recuperar los archivos borrados por formateo involuntario utilizando      TestDisk al 95%.    - No se recuperaron archivos tipo video audio en su totalidad (solo cerca del 30%).    - Las carpetas de software solo fueron recuperadas en un 50%.    - Herramienta potente, facil de utilizar, comoda y lo mas interesante libre de costos.    Nota.- Los archivos no son recuperados al 100%, basicamente los de tipo musica, video y similares (que segun yo nos tiene mucha prioridad).  
Esperando sea util este documento para todo ustedes.  Y sin mas por el momento aprovecho en desearles;UNA BELLA NAVIDAD! - Y UN NUEVO ANIO REPLETO DE EXITOS!

 

20 diciembre, 2011

VIDEOVIGILANCIA AUTOMATICA (Motion-Bluetooh-Ubuntu)



VIDEOVIGILANCIA CON MOTION (LINUX-UBUNTU) Y UTILIDAD DEL BLUETOOH DE UN CELULAR

I. OBJETIVO.-Explicar còmo implementar un sistema de video-vigilancia sobre linux.

Después de utilizar el script de presencia para kbluetooth de gallir, para conectar y desconectar las sesiones del kopete, me preguntaba para que mas podria servir este engendro y resulta que a alguien se le ocurrió la idea de utilizarlo para activar y desactivar un sistema de vigilancia con una webcam. Así, mediante el bluetooth de un Celular, cuando uno abandona la casa (para ir al trabajo, estudiar u otras actividades), el compuador sabrà que uno ha avandonado la casa y activa la vigilancia. Cuando la persona retorna, inmediatamente la econoce y la desactiva.

La aplicación que es utilizada para las imágenes y la detección de movimiento es motion (software libre), èsta se relaciona con la webcam. Cuando detecta un movimiento (variacion de pixeles) en las imágenes produce un nuevo evento. Motion su configuracion es muy basta, puedes capturar las imágenes, producir un video con las imágenes y lo más interesante, ejecutar lo que quieras. Gracias a esto propusieron un script de atención a un evento.

En el script se ejecuta un sonido aleatorio entre 10 posibles, que en muchas ocaciones puede resultar muy ùtil. La utilizaciòn de èste depende del usuario, si la quiere o no es desicion propia, mas que eso es la idea de dar a conocer la posibilidad de poder ejecutar este script.

Iniciemos por aprender a hacer funcionar la webcam en linux, después se explicarà el funcionamiento y configuración de motion, para acabar con la parte del script de atención a evento y del script de presencia en kbluetoothD.



II. MATERIALES Y METODOLOGIA
Materiales:

   Hardware

  • Un Computador
  • Una webcam compatible con linux
  • Un adaptador bluetooth usb
  • Un Celular con bluetooth

   Software

  • Motion
  • Script de presencia en kbluetoothD
  • Script de atenció a evento


Metodologia

   Webcam en linux

Para inciar puedes adquirir una webcam Logitech de las mas comodas, que dependiendo de las especificaciones el driver a utilizar puede ser descargado de spca5xx: descargar y instalar según las instrucciones del propio driver. O si tienes un poco de suerte es detectada automaticamente por linux (ubuntu 11).
Para probar el funcionamiento de la webcam se puede utilizar cheese(instalable desde el centro de software de ubuntu), un visualizador empaquetado en debian.

 

Motion

Motion es el encargado de muchas cosas en este sistema, procesa las imágenes recibidas de la webcam, detecta si ha habido variaciones entre dos consecutivas y si esas variaciones alcanzan un "valor" lanzan un evento. Después guarda esas imágenes, y hace un video con ellas. Además he hecho que lance un script cuando se produce un evento.
A continuacion se muestran enlaces con informacion importante sobre Motion
"http://www.linuca.org/body.phtml?nIdNoticia=189
"http://www.funix.org/fr/linux/webcam.htm",
"http://bulma.net/body.phtml?nIdNoticia=1383", aunque lo mejor para profundizar es la propia guía de motion.


centro de sofware de UBUNTU
Motion puede ser instalado directamente del centro de software de ubuntu (tener en consideracion que este programita no tiene interfaz grafica), tambien se puede obtener como empaquetado en .deb y en .rpm.




Una vez instalado motion desde apt o como se prefiera (màs cencillo desde el centro de software), pasamos a configurarlo.

Iniciamos escribiendo en el terminal y activar las opciones según como se va indicando.

/etc/motion/motion.conf

daemon on 
quiet on
Estas dos opciones están en off por defecto, pero es conveniente ponerlas a on. La primera hace que se ejecute motion como daemon, obligatorio para que después funcione correctamente con los scripts (de presencia y de atención a evento). Y la segunda es para que no suelte unos "beeps" cuando detecte un movimiento.
videodevice /dev/video0
Le decimos cual es el dispositivo de la webcam. (puede variar)
width 320 
height 240
Tamaño de frame, hay algunas webcams que soportan 640x480 o incluso más, pero la mía no. Tener en cuenta que si se pone un tamaño muy grande de frame, las imágenes seràn más pesadas, y si hay mucho movimiento, puede ser problemático a la larga.
framerate 25
Numero máximo de frames que podrá capturar la cámara por segundo. Un valor muy grande, problemático de nuevo, por lo mismo que antes.
quality 85
Calidad de los frames en tanto por ciento, para los jpg's que guarda. 85 es el valor por defecto.
auto_brightness off
Puede ser una opción para los que tengan una webcam con auto brightness, esta opción regula automáticamente la luminosidad de las imagenes. Sin embargo no todas las webcam la soportan.
threshold 4500 
noise_level 64
Threshold y noise_level son parámetros que utiliza motion para calibrar la variación (en las imágenes) necesaria para lanzar un evento.
Threshold representa el número de pixeles que tienen que diferir de la anterior captura después del proceso al cual somete a las imágenes. El valor de 4500 es equivalente a decir que la imagen difiera en un 6% aprox. respecto de la anterior.
Noise_level es la cantidad de variación que se necesita, para que un pixel sea contado en el threshold.
Existen más parámetros de este tipo (Masking y despeckle).
brightness 200 
contrast 80 
saturation 0 
hue 0
Parámetros (por orden) de luminosidad, contraste, saturación y tono, serán variables dependiendo de donde este colocada la webcam, yo coloqué la webcam y haciendo prueba/error saqué esos valores.
ffmpeg_cap_new on 
ffmpeg_video_codec mpeg4
El primero para usar la librería ffmpeg para encodear al vuelo los videos, a partir de las imágenes. Y el segundo para escoger el codec con el que comprimirá el video.
target_dir /home/user/Desktop/Video_Vigilancia
Directorio donde guardar las imágenes y los videos producidos. (Comprobar permisos de escritura)
webcam_port 0 
webcam_localhost on 
webcam_quality 50 
webcam_maxrate 8
Los parámetros webcam_* hacen referencia a la posibilidad de habilitar un puerto para acceder con un navegador a lo que esta viendo la webcam.
  • port, es el número del puerto que queremos asignarle, si el puerto es 0, la opción queda deshabilitada.
  • localhost es para limitar el acceso. Si on, exclusivamente podrá acceder localhost. - quality es la calidad de los frames enviados al web. Si se va a usar la opción webcam y se tiene un ancho de banda limitado, no exeder este valor.
  • maxrate, cuando no ha detectado movimiento, envía solamente 1 frame por segundo al web. En caso contrario, envia como máximo este valor.
on_event_start sh /etc/motion/att-evento 
# on_event_end sh /etc/motion/end
Una de las mejores, cuando detecta un movimiento, ejecuta el valor, aquí lo uso para ejecutar el script de atención a evento. También existe la posibilidad de ejecutar algo cuando ya acabado ese evento.
gap 20
Es el tiempo en segundos que se quiere que espere desde que detecta el último movimiento, para que de por finalizado el evento, y pase a otro. El valor por defecto es 60. Nota: Para cada evento crea un video diferente, un valor como 20, es muy bajo y se producen gran cantidad de videos, pero así consigo que pase corto tiempo entre dos eventos eventualmente diferentes y poder antender los dos con el script.
post_capture 5 
pre_capture 5
Número de frames que se quiere capturar antes y después de la detección.
Se puede probar ...
motion -n
...si funciona todo correctamente, el parametro -n es para que motion arranque en modo non-daemon.

Pausa para disfrutar de un buen anticucho, un ceviche o una papa a la Huancaina y tomar un buen vaso de Chicha de Jora!

Ahora proseguimos

Script de atención a evento

En este apartado se presenta el primer script (de atenciòn a evento), aunque en lugar de reproducir sonidos, cada uno es libre de hacer mil mil variaciones, como por ejemplo: enviar un sms, reproducir video, enviar un email o porque no, href="http://www.regaletes.com/lanzador-misiles-p-320.html".
#! /bin/sh
 
SOUNDS="/etc/motion/sonidos" 
rango=10 
numero=$RANDOM 
let "numero %= $rango" 
case $numero in 
 
   0) play $SOUNDS/sirenas.mp3;;
  1) play $SOUNDS/horror1.mp3;; 
   2) play $SOUNDS/horror2.mp3;; 
   3) play $SOUNDS/horror3.mp3;; 
  4) play $SOUNDS/horror4.mp3;; 
   5) play $SOUNDS/horror5.mp3;; 
   6) play $SOUNDS/grito1.mp3;; 
   7) play $SOUNDS/grito2.mp3;;
   8) play $SOUNDS/disparos.mp3;; 
   9) play $SOUNDS/grito2.mp3;; 
 
esac

Aunque seguramente se pueda hacer mejor, este script ejecuta aleatoriamente uno de "http://shark.is-a-geek.com/ext/sonidos.tar.gz" . Estos mp3 (bajar y descomprimir en /etc/motion)

Script de presencia

Con el script de presencia se consigue activar motion automáticamente cuando cuando uno avandona la casa o departametno y que se desactive cuando uno retorna. No se profundiza en la configuración de Kdebluetooth (si se desea profundizar mas ir a http://gallir.wordpress.com/).
#!/bin/sh 
 
 
# This script connect/disconnect all Kopete sessiones   
# and execute motion for a capture  
# events cam, when the selected device is 
# visible/invisible.  
# Author: Mariano Lujàn (from Custom_Job) Modified: Shark 
#  
# This script will be called with one single parameter:  
# "run": The script should be executed  
# "configure": Lets the user configure the script. 
 
 
case "$1" in 
     run)
     if [ "x$FOUND_DEVICES" != "x" ] ; then
        killall motion 
                kdialog --passivepopup "Desactivada" 2 --title "Video Vigilancia" 
               dcop kopete KopeteIface connectAll || /bin/true 
               kdialog --passivepopup "Conectando" 2 --title "Kopete" 
 
           elif [ "x$LOST_DEVICES" != "x" ] ; then 
                dcop kopete KopeteIface disconnectAll || /bin/true 
                #dcop kmail MainApplication-Interface quit || /bin/true  
                kdialog --passivepopup "Desconectado" 2 --title "Kopete"  
               kdialog --passivepopup "Activada" 2 --title "Video Vigilancia" 
               motion 
           fi 
           ;; 
    configure) 
            # Simply run kedit let the user edit this script. 
            # A more sophisticated solution might use kdialog to hide  
            # the shell script from the user
            kedit "$JOB_PATH" 
            ;;
esac

III. Conclusiones (experiencia personal)

Motion es una gran aplicación que recomiendo probar si tienen ocasión, puede ser muy útil para algunos, estoy seguro.
Me he divertido muchísimo, tanto probando y instalando el sistema, como riendome de las caras que ponen "los intrusos" de mí habitación. Solo decir gracias a San Google por ayudarme a escribir esto.