El Blog de TNT

Tecnología, Software Libre y Open Source.

Problema: No se reconocen los comandos de RPi (Fedora) — 8 diciembre, 2016

Problema: No se reconocen los comandos de RPi (Fedora)


 El problema ocurre cuando uno usa una distro sin soporte especifico para las RPi (Fedora) y desea usar características propias de esa plataforma, en este caso, para interactuar con el modulo de cámara de la RPi mediante linea de comandos usando alguno de los comandos siguientes:

  • containers_check_frame_int
  • containers_test
  • dtoverlay-pre  raspiyuv
  • containers_datagram_receiver
  • containers_test_bits  dtparam
  • tvservice
  • containers_datagram_sender
  • containers_test_uri   edidparser
  • vcdbg
  • containers_dump_pktfile
  • containers_uri_pipe
  • mmal_vc_diag   vcgencmd
  • containers_rtp_decoder
  • dtmerge
  • raspistill
  • vchiq_test
  • containers_stream_client
  • dtoverlay
  • raspivid
  • vcmailbox
  • containers_stream_server
  • dtoverlay-post
  • raspividyuv
  • vcsmem

Al teclear estos comandos, nos devuelve un mensaje diciendo que el comando no existe, por ejemplo al ejecutar raspistill:

bash: raspistill: no se encontró la orden

En realidad, al momento de usar el kernel para Raspberri Pi ya estamos también descargando una serie de librerías y comandos específicos para Raspberry Pi, pero no los podemos usar por que el sistema no sabe AUN que existen y DONDE estánest.

Esto se puede solucionar ejecutando la siguiente linea en la consola:

echo “PATH=$PATH:/opt/vc/bin/” >> /etc/profile

Esto agrega un nuevo directorio al PATH, de esta forma la próxima vez que inicies sesión, Fedora automáticamente reconocerá ya los nuevos comandos que vienen junto con el kernel de la Raspberry Pi.

Anuncios
Problema: RPi con Fedora y python-picamera — 4 diciembre, 2016

Problema: RPi con Fedora y python-picamera


Hola de nuevo, hace poco me hice con una Raspberry Pi a la cual he llamado PIerina (suelo poner nombre a todos mis dispositivos), también compré el modulo de cámara para PIerina, la mayoría de cosas funcionan bien con distros como Raspbian, pero como yo elegí la pastilla azul (Fedora), eso no es tan cómodo pues no todo funciona correctamente, una de estas cosas es la librería picamera de Python, esta me lanzaba el siguiente error:

Traceback (most recent call last):
File “./take_photo.py”, line 4, in <module>
import picamera
File “/usr/lib/python2.7/site-packages/picamera/__init__.py”, line 72, in <module>
from picamera.exc import (
File “/usr/lib/python2.7/site-packages/picamera/exc.py”, line 41, in <module>
import picamera.mmal as mmal
File “/usr/lib/python2.7/site-packages/picamera/mmal.py”, line 47, in <module>
_lib = ct.CDLL(‘libmmal.so’)
File “/usr/lib/python2.7/ctypes/__init__.py”, line 357, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libmmal.so: cannot open shared object file: No such file or directory

La mayor parte de este mensaje no nos interesa, solo la ultima linea:

OSError: libmmal.so: cannot open shared object file: No such file or directory

Este error ocurre por que las Raspberry Pi usan un kernel propio, con librerías propias (para sus módulos), y binarios propios, una de esas librerías es libmmal.so, esta se puede encontrar en /opt/vc/lib/, PERO, el sistema no reconoce por defecto estas librerías (ya que no es la única),

Para que este error sea corregido tenemos que añadir ese directorio al grupo de librerías que el sistema reconoce (o también llamado “añadir variables de entorno”), y eso se hace de la siguiente forma:

# echo “/opt/vc/lib/”>/etc/ld.so.conf.d/rpi.conf

# ldconfig

El primer comando crea un nuevo archivo conteniendo la ruta de una nueva carpeta conteniendo librerías, y el segundo comando hace conocer al sistema que fue registrada una nueva carpeta de librerías.

Hecho esto, se puede usar la librería picamera sin ningún problema.

Espero les sirva y…

Happy hacking…