Proyecto Videoportero
Imagen Linux
Para poder trabajar con Linux en la tarjeta Intel Galileo es necesario descargar la imagen y
grabarla en una memoria microsd. Hay varias imágenes que se pueden descargar de
Internet, desde algunas que contienen lo mínimo para trabajar (ssh, python, nodejs) hasta las que son muy grandes y que incluyen cosas de mas (librería para utilizar opencv, compilador
gcc y g++).
La imagen que está en la página web de Intel
https://communities.intel.com/docs/DOC22226
, es una imagen que contiene lo mínimo, pero nosotros podemos construir nuestra imagen
full siguiendo algunas indicaciones
http://www.malinov.com/Home/sergeysblog/intelgalileobuildinglinuximage
, la desventaja es que el proceso es demasiado tardado. Así que buscando por Internet yo me encontré con
imagen full que ya fue creada
http://storage.tokor.org/pub/galileo/images/full/
.
Una vez descargada únicamente hay que descomprimir el archivo y copiar los archivos en la
raíz de la tarjeta microsd.
Conexión a la red
Esto es muy sencillo ya que solo tenemos que conectar nuestra tarjeta al switch o router de nuestra red utilizando un cable RJ45, al momento de encenderla automáticamente se le
asigna una dirección ip a nuestra tarjeta, y para poder descubrir qué dirección se le fue
asignada podemos utilizar el programa Advanced IP Scanner
http://www.advancedipscanner.com/es/
, el cual como su nombre lo indica hace un escaneo
de la red y nos muestra los dispositivos que están conectados, la ventaja es que no es
necesario instalar el programa ya que funciona de manera portable. Una vez que sabemos la dirección ahora si nos podemos conectar vía ssh con la tarjeta
utilizando el programa Putty
http://www.putty.org/
,solo tenemos que ingresar la dirección de
la tarjeta, escoger la conexión ssh y abrir la conexión. Al iniciar cada conexión nos pedirá el
nombre de usuario que por default es “root” y que no contiene contraseña.
Conexión de la cámara web Para el proyecto se utilizó la cámara web Logitech C920, pero no podemos conectarla
directamente a la tarjeta ya que ésta cuenta sólo con puertos micro usb tipo B, así que
necesitamos un cable especial que de un extremo tiene un conector hembra usb tipo A y del
1
otro un conector macho micro usb tipo B. En el caso de que tengamos pensado utilizar más hosts USB necesitaremos un hub ya que la tarjeta cuenta por sí misma con un solo puerto.
Ya que la conectamos podemos verificar si el sistema la reconoció utilizando el comando
# lsusb
Y nos tendría que aparecer en la lista.
Capturar una foto
Para capturar una foto y probar la cámara utilizamos un script en python, primero nos vamos
a la raíz
#cd /
creamos un directorio donde guardaremos el script y no tener todo desordenado
# mkdir python_examples
accedemos al directorio creado
# cd python_examples
y comenzamos a realizar nuestro script utilizando el editor de textos que viene por default vi,
aquí una ayuda con los comandos para saberlo manejar
http://es.wikipedia.org/wiki/Vi
# vi camara.py
y escribimos el siguiente código:
#importamos la libreria opencv
import
cv2
# creamos una referencia al dispositivo conectado
# ‘0’ es para cuandosolo tenemos una cámara conectada
# si tuviéramos más necesitaríamos saber el Device index de la cámara con # la que
queremos trabajar
cap
=cv2
.
VideoCapture(
0
)
# Captura frame por frame
ret, frame
=cap
.
read()
# Guardamos el frame leído como imagen
cv2
.
imwrite(
'foto.jpg'
, frame)
2
# Al final liberamos la referencia
cap
.
release()
El código anterior es muy muy básico, ya que al ejecutarlo solo captura 1 frame y lo
guardamos como imagen, Para ejecutarlo
# python cámara.py
Despues verificamos
# ls
y observaremos que la imagen nos aparecerá en la lista.
Si queremos aprovechar al máximo esta librería para proyectos más grandes aquí un tutorial
de lo que podemos hacer ...
Regístrate para leer el documento completo.