Instalar Biblioteca OpenMPI 1.6 en Ubuntu

La biblioteca OpenMPI es una de las bibliotecas de código abierto utilizadas para paso de mensajes (MPI – Message Passing Interface), en otras palabras es utilizada en súper cómputo para poder realizar operaciones en paralelo en diferentes máquinas, aunque también puede ser utilizada para realizar la paralelización de algún programa localmente en una pc con varios procesadores lógicos.

Comando necesario para la instalación:

sudo apt-get install openmpi1.6-bin openmpi1.6-common openmpi1.6-doc libopenmpi1.6 libopenmpi1.6-dbg libopenmpi1.6-dev
 

Sigue leyendo

Inicio automático de Overlays (capas) en Beaglebone / Beaglebone Black

Primero que nada se deben de tener instaladas las capas que se deseen iniciar automáticamente

Despues procedemos a modificar un archivo del sistema el cual es el encargado de cargar componentes o elementos al inicio del sistema.

Ruta del archivo a modificar:

/boot/uboot/uEnv.txt

Editar el archivo con algún editor de textos como nano y agregar la linea «optargs=fixrtc capemgr.enable_partno=BB-UART4» en donde BB-UART4 es el numero de parte de la capa que se quiere que inicie automáticamente, si se deseara que más de alguna capa iniciara automáticamente simplemente se añaden despues de la últma por medio de comas «,» (ej.optargs=fixrtc capemgr.enable_partno=BB-UART4, BB-UASRT3) (ej. optargs=fixrtc capemgr.enable_partno=BB-UART4,cape-bone-iio)

mmcpart=2 Sigue leyendo

Compilar archivos de Device Tree (Beaglebone Overlays) .dtbo y .dts

En caso de que se desee compilar los archivos .dtbo es necesario seguir los siguientes pasos (ejemplo con UART 4):

  • Descargar el compilador de device tree por medio del siguiente comando: «apt-get install device-tree-compiler»
  • Abrir un editor de texto como nano y pegar lo siguiente:
scrip ttyO4-00A0
/dts-v1/;
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
part-number = "BB-UART4";
version = "00A0";
exclusive-use = "P9.13", "P9.11", "uart4";
fragment@0 {
target = <0xdeadbeef>;
__overlay__ {
pinmux_bb_uart4_pins {
pinctrl-single,pins = <0x70 0x26 0x74 0x6>;
linux,phandle = <0x1>;
phandle = <0x1>;
};
};
};
fragment@1 {
target = <0xdeadbeef>;
__overlay__ {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <0x1>;
};
};
__symbols__ {
bb_uart4_pins = "/fragment@0/__overlay__/pinmux_bb_uart4_pins";
};
__fixups__ {
am33xx_pinmux = "/fragment@0:target:0";
uart5 = "/fragment@1:target:0";
};
__local_fixups__ {
fixup = "/fragment@1/__overlay__:pinctrl-0:0";
};
};
  • Guardar el archivo como BB-UART4-00A0.dts
  • Compilar el archivo con el comando: «dtc -O dtb -o BB-UART4-00A0.dtbo -b 0-@ UART4-00A0.dts»  (dónde el archivo dtbo es el archivo compilado)

Sigue leyendo

Habilitar Puertos Serial UART en Beaglebone/Beaglebone Black

Las plataformas de desarrollo Beaglebone cuentan con 6 puertos UART, de los cuales solo 4 se pueden utilizar para propósitos generales, debido a que el pin Rx del puerto serial 3 no se encuentra mapeado directamente a algún pin en la tarjeta y el puerto serial.

El puerto serial cero es utilizado para la comunicación con el Beaglebone con una terminal en una PC en lugar de SSH via ehternet; en el Beaglebone esta opción viene por default vía USB (es decir conectando a algún puerto de la Pc y emular el puerto USB por medio de un chip FTDI incluido en la tarjeta), en el caso del Beaglebone Black esta opción no está disponible por default ya que no cuenta con algún chip FTDI integrado, pero se puede acceder a él con un cable FTDI conectado a J1 pines a lado de P9).

Nota: Para poder utilizar el puerto serial 5 es necesario des habilitar las capas que habilitan la salida HDMI, debido a que uno de los pines del puerto serial se comparte con la salida del puerto HDMI

Para poder utilizar los puertos serial es necesario crear o utilizar capas también llamadas Overlays, en dónde se le indique al S.O. que vamos a utilizar los pines con la configuración deseada (debido a que cada pin cuenta con varios modos de operación).

Sigue leyendo

Introducción a Beaglebone

Beaglebone es una tarjeta de desarrollo de bajo costo desarrollada por la organización Beagleboard.org, la cual está enfocada en estimular el uso de software y hardware open source, así como el conocimiento y el intercambio de ideas.

Es una plataforma que corre bajo un sistema operativo Linux (cabe señalar que actualmente existen varias distribuciones de linux para las plataformas Beaglebone), y que cuenta con diversas entradas y salidas de propósito general las cuales cuentan con diversas funciones entre las cuales se encuentran (I/O Digitales, Entradas Analógicas, Salidas con PWM, soporte para I2 & SPI). Además cuenta con un puerto ethernet para la comunicación en red con otros dispositivos y un puerto USB 2.0 para la comunicación con otros dispositivos .

Cabe mencionar que actualmente existen dos versiones de dicha plataforma, en dónde los cambios más significativos son en cuanto al Hardware y compatibilidad de de la plataforma, a continuación se muestran las principales características de cada una:

Beaglebone

Características Beaglebone

Fig. 1 Características Beaglebone

Fig. 2 Beaglebone (Obtenido de Beagleboard.org)

Beaglebone Black Edition Sigue leyendo

Instalación de Librería MPI en Pcduino

Hay varias formas de instalar MPI en un Pcduino, una de ellas es descargar las librerías y compilaras manualmente en el PcDuino, aunque la más fácil es la siguiente:

Ejecutar desde terminal o linea de comandos la siguiente instrucción:

sudo apt-get install openmpi-bin libopenmpi-dbg libopenmpi-dev

En dónde:

  • openmpi-bin: Son los archivos binarios necesarios para la ejecución del programa principal
  • libopenmpi-dbg: Librería necesaria para poder realizar depuraciones en MPI
  • libopenmpi-dev: Ejecutables para compilar y correr los programas en MPI

Nota: Es necesario contar con permisos de root (sudo)

En caso de ser necesaria la administración del PcDuino remotamente (desde otra computadora) se puede instalar un servidor SSH para conectarse directamente a la linea de comandos remotamente. Para lo cual se requiere ejecutar el siguiente comando:

sudo apt-get install openssh-client openssh-server

En caso de que aparezca un mensaje de error diciendo que no se ha podido encontrar openmpi-bin se puede utilizar «sudo apt-get update» para actualizar los repositorios del sistema.

Leer Puerto Serie PcDuino (terminal)

Ya que el PcDuino es un dispositivo que cuenta con un Arduino incluido en ocasiones es un poco complicado el poder acceder a los puertos serie físicos o virtuales debido a que no cuenta con una dirección física que se conozca fácilmente, además del impedimento que se presenta al intentar acceder a puertos seriales virtuales creados a partir de dispositivos FTDI, convertidores de USB a serial o similares.

A continuación se muestra un código el cual se utilizó para poder acceder al puerto serie por medio del nombre del puerto.

El nombre del puerto se asigna por medio de /dev/tty[dispositivo]

Por ejemplo los puertos seriales físicos se representan con /dev/ttyS0, /dev/ttyS1, … ,/dev/ttySn dónde n es el número de puerto físico que a utilizar.

Para los puertos seriales virtuales se representan con /dev/ttyUSB0, … , /dev/ttyUSBn dónde n es el número de adaptador de USB a serial a utilizar.

En el PcDuino existen 8 puertos seriales debido al procesador que tiene, aunque solamente 2 se encuentran mapeados (están conectados a un pin físico) que serían /dev/ttyS0 que es utilizado con fines de debuggeo  y el puerto serial /dev/ttyS1 comúnmente utilizado como el puerto serie principal por el Arduino.

Para utilizar el puerto serie principal del PcDuino primero se tiene que definir que esos pines van a funcionar como puerto serie y no como puertos digitales de entrada / salida y se hace por medio de la librería termios.h

A continuación se adjunta el código utilizado:

Sigue leyendo

Instalación OpenCV 2.4.5 Visual Studio 2012 x64 Windows 8

El siguiente tutorial tiene como objetivo la instalación de OpenCV 2.4.5 para su correcto funcionamiento con Visual Studio 2012 en Windows 8 x64

La instalación es muy similar a la instalaciónde OpenCV 2.1, aunque se llegan a presentar algunas diferencias

Requisitos previos:

  • Tener instalado VisualStudio 2012 Professional (de momento solamente lo he provado con la edición professional, aunque no debería de presentar mayor problema la implementación en otas ediciones)

A continuación se muestran los pasos necesarios para realizar correctemente la instalación

Pas0 1.- Descargar OpenCV 2.4.5 de la página oficial: Descarga de OpenCV 2.4.5   (x86, x64)

Paso 2.- Abrir el Instalador

Paso 3.- Instalar en el directorio raíz de preferencia (C:\) en mi caso cree una carpeta llamada C:\OpenCV-2.4.5\

Paso 4.- Seguir las instrucciones del instalador y finalizar la instalación

Paso 5.- Agregar la carpeta de las liberías dinámicas a la variable del sistema

  1. Abrir el Panel de Control
  2. Abir Sistema y seguridad
  3. Abrir Sistema
  4. En la parte izquierda dar click en Configuración avanzada del sistema (Fig. 1)

    Ventana Emergente Variables de Entorno en Windows 8

    Fig. 1.- Ventana Emergente Variables de Entorno en Windows 8

  5. Dar click en Variables de enrotno
  6. Ubicar la variable Path en las variables del sistema
  7. Dar click en Editar
  8. Situarse en el final de la cadena e ingresar «;»
  9. Pegar la dirección de donde se encuentren ubicadas las liberías dinámicas para la versión de Visual Studio 2012 (v11); en mi caso es «C:\OpenCV-2.4.5\opencv\build\x64\vc11\bin» (Fig. 2)

    Inserción de las liberías dinámicas a la variable Path

    Fig. 2.- Inserción de las liberías dinámicas a la variable Path

  10. Dar click en Aceptar 3 veces.