RaspberryPi

From Asociación de Robótica UC3M
Revision as of 18:52, 20 November 2013 by Pablomarin (talk | contribs) (→‎Problema)
Jump to navigation Jump to search
Logo concursos.png

Sistemas Operativos

Proyectos interesantes

Guías de instalación

OpenCV

Las librerías de openCV se instalan mediante un script autoejecutable.

$ wget https://raw.github.com/jayrambhia/Install-OpenCV/master/Ubuntu/2.4/opencv2_4_5.sh
$ chmod +x opencv2_4_5.sh
$ ./opencv2_4_5.sh

Posibles problemas

No se pudieron obtener algunos archivos, ¿Quizá deba ejecutar <<apt-get update>> o deba intentarlo de nuevo con --fix-missing?

Para resolver, dejar instalar y cuando acabe, hacer

$ sudo apt-get update

Y volver a ejecutar

$./opencv2_4_5.sh

Una vez compilado despues de unas cuatro horas y media:

$ cd programs/OpenCv/opencv-2.4.5/build
$ sudo make install

A partir de aquí es necesario seguir el tutorial del la siguiente página

El paso 2 trata sobre instalar userland que es un programa llamado rapistill que usa el acceso a la cámara de la raspberry y demás. El paso 3 es para crear el primer programa y poner a prueba los pasos anteriores.

Problema

A la hora de compilar con make (una vez modificado el CMakeLists.txt

fatal error EGL/egl.h: no such file or directory

Se soluciona instalando las librerías legl de synaptic que son las genéricas. Se han instalado las siguientes:

eglibc-source
libegl-0.2-0
libegl-dev

Se instalarán algunas dependencias más pero con estas valen. El último paso es modificar el CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(camcv)
SET(COMPILE_DEFINITIONS -Werror)
include_directories(/opt/vc/userland-master/host_applications/linux/libs/bcm_host/include)
include_directories(/opt/vc/userland-master/interface/vcos)
include_directories(/opt/vc/userland-master)
include_directories(/opt/vc/userland-master/interface/vcos/pthreads)
include_directories(/opt/vc/userland-master/interface/vmcs_host/linux)
include_directories(/opt/vc/userland-master/interface/khronos/include)
include_directories(/opt/vc/userland-master/interface/khronos/common)

add_executable(camcv RaspiCamControl.c RaspiCLI.c RaspiPreview.c camcv.c RaspiTex.c RaspiTexUtil.c teapot.c models.c square.c mirror.c)

target_link_libraries(camcv /opt/vc/lib/libmmal_core.so /opt/vc/lib/libmmal_util.so /opt/vc/lib/libmmal_vc_client.so /opt/vc/lib/libvcos.so /opt/vc/lib/libbcm_host.so /opt/vc/lib/libGLESv2.so /opt/vc/lib/libEGL.so)

Ahora sí se puede compilar con make y no da problemas.

Finalmente para añadir opencv al programa seguir el paso 4 del tutorial

Para esta parte es necesario haber instalado el lilbfacerec (reconocimiento facial)

projects $ git clone https://github.com/bytefish/libfacerec.git
$ cd libfacerec
$ mkdir build
$ cd build
$ cmake ..
$ make

Ya se puede modificar el CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project( camcv )
SET(COMPILE_DEFINITIONS -Werror)
#OPENCV
find_package( OpenCV REQUIRED )

link_directories( /home/pi/pierre/libfacerec-0.04 ) 

include_directories(/opt/vc/userland/host_applications/linux/libs/bcm_host/include)
include_directories(/opt/vc/userland/interface/vcos)
include_directories(/opt/vc/userland)
include_directories(/opt/vc/userland/interface/vcos/pthreads)
include_directories(/opt/vc/userland/interface/vmcs_host/linux)
add_executable(camcv RaspiCamControl.c RaspiCLI.c RaspiPreview.c camcv.c)
target_link_libraries(camcv /opt/vc/lib/libmmal_core.so /opt/vc/lib/libmmal_util.so /opt/vc/lib/libmmal_vc_client.so /opt/vc/lib/libvcos.so /opt/vc/lib/libbcm_host.so /home/pi/pierre/libfacerec-0.04/libopencv_facerec.a ${OpenCV_LIBS})

SimpleCV

Estas librerías sirven para poder utilizar la raspicam desde un programa escrito en python.

Instalación

Seguir los pasos descritos en esta página.

sudo apt-get install git
git clone git://github.com/sightmachine/SimpleCV.git
cd SimpleCV
python setup.py install
sudo pip install --upgrade pip

Sal de la sesión y vuelve a entrar.

sudo pip install virtualenvwrapper

Modificar ./bashrc para incluir la siguiente línea al final del todo.

source /usr/local/bin/virtualenvwrapper.sh

Cierra el terminal y vuelve a abrirlo para cargar el .bashrc editado. Otra opción es ejecutar:

. .bashrc

Llegados a este punto, conviene saber cómo funciona el virtualenvwrapper. Para ello esta página es de gran interés.

Lo más importante es crear el espacio de trabajo y luego acceder a él con un workon.



By-sa.png Este obra está bajo una licencia de Creative Commons Reconocimiento-CompartirIgual 3.0 Unported.