Difference between revisions of "RaspberryPi"

From Asociación de Robótica UC3M
Jump to navigation Jump to search
Line 53: Line 53:
  
 
A partir de aquí es necesario seguir el tutorial del la siguiente [http://thinkrpi.wordpress.com/2013/05/22/opencvpi-cam-step-2-compilation/ página]
 
A partir de aquí es necesario seguir el tutorial del la siguiente [http://thinkrpi.wordpress.com/2013/05/22/opencvpi-cam-step-2-compilation/ 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
 +
<pre>
 +
fatal error EGL/egl.h: no such file or directory
 +
</pre>
 +
Se soluciona instalando las librerías legl de synaptic que son las genéricas. Se han instalado las siguientes:
 +
<pre>
 +
eglibc-source
 +
libegl-0.2-0
 +
libegl-dev
 +
</pre>
 +
Se instalarán algunas dependencias más pero con estas valen. El último paso es modificar el CMakeLists.txt
 +
<pre>
 +
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)
 +
</pre>
 +
 +
 +
Ahora sí se puede compilar con make y no da problemas.
  
 
== SimpleCV ==
 
== SimpleCV ==

Revision as of 18:36, 20 November 2013

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.

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.