jueves, 20 de febrero de 2014

Interfaz MATLAB Simulink - Raspberry Pi

A continuación se explican los pasos y conceptos necesarios para ejecutar la librería correspondiente al hardware libre Raspberry Pi a través del software MATLAB (Simulink).



MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es una herramienta de software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows, Mac OS X yGNU/Linux .

Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).

Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL. 




Raspberry Pi es un ordenador de placa reducida o (placa única) (SBC) de bajo costo, desarrollado en Reino Unido por la Fundación Raspberry Pi, con el objetivo de estimular la enseñanza de ciencias de la computación en las escuelas.


El diseño incluye un System-on-a-chip Broadcom BCM2835, que contiene un procesador central (CPU) ARM1176JZF-S a 700 MHz (el firmware incluye unos modos “Turbo” para que el usuario pueda hacerle overclock de hasta 1 GHz sin perder la garantía), un procesador gráfico (GPU)VideoCore IV, y 512 MiB de memoria RAM (aunque originalmente al ser lanzado eran 256 MiB). El diseño no incluye un disco duro ni unidad de estado sólido, ya que usa una tarjeta SD para el almacenamiento permanente; tampoco incluye fuente de alimentación ni carcasa. El 29 de febrero de 2012 la fundación empezó a aceptar órdenes de compra del modelo B, y el 4 de febrero de 2013 del modelo A.

La fundación da soporte para las descargas de las distribuciones para arquitectura ARM, Raspbian (derivada de Debian), RISC OS 5, Arch Linux ARM (derivado de Arch Linux) y Pidora (derivado de Fedora); y promueve principalmente el aprendizaje del lenguaje de programación Python, y otros lenguajes como Tiny BASIC, C y Perl.

Fuente de consulta: http://es.wikipedia.org/wiki/Raspberry_Pi

En la pagina oficial de Raspberry Pi se puede encontrar muchas mas información acerca de este hardware que ademas es hardware libre, así que en la web se puede encontrar mucha información acerca de este sistema.

La placa (Board) o hardware Raspberry Pi, se presenta de esta forma, que corresponde al modelo B.


Para su correcto y óptimo funcionamiento es necesario que consigamos los accesorios complementarios de nuestra tarjeta, que son los siguientes:
  • Una memoria micro SD de 4 a 8Gb o mayor (en caso de ser el modelo A)
  • Una camara web plug and play (que no sea necesario instalar controladores) o algún pequeño monitor.
  • Cable ethernet o un algún elemento de conexión inalambrica (wireless)
  • Adaptador de 5v a 1 o 2A., etc.
Opcionales
  • Carcasa de nuestra Raspberry Pi
  • Teclado
  • Mouse
  • Bus de datos para nuestros proyectos
  • y otros elementos...
Para poder funcionar la board necesita ciertos complementos como una memoria sd de 8Gb, un monitor, un teclado e incluso un mouse, ademas un cable de red Ethernet.

Sin duda podríamos descargarnos el sistema operativo raspbian en la web y proceder a la preparación de nuestra tarjeta mediante linux (arrancar), pero el objetivo de este post es enseñarles a preparar la tarjeta por medio de Simulink-MATLAB, en otra ocasión enseñaré a arrancar desde Raspbian o Ubuntu.

La evolución de Simulink con el transcurso de los años ha sido muy importante ya que ha permitido al diseñador realizar programación de acuerdo a las necesidades surgidas de cualquier tipo y en cualquier ámbito de la ingeniería; desde el año 2009 Simulink ha facilitado nuestra tarea de diseño con la creación de cierta interfaz entre dispositivos novedosos electrónicos y el ambiente Simulink, proporcionando al diseñador ciertas librerías para interlazar en tiempo real el diseño físico de la programación . 

MATLAB en la actualidad tiene compatibilidad con un gran número de dispositivos tales como, Arduino con algunos de sus modelos, con Lego NXT, Raspberry Pi, PandaBoard, Beableboard XM y BeagleBone, INTEL Galileo, entre otras tarjetas y dispositovos. 

La facilidad de la programación mediante bloques de Simulink, nos permite el ahorro de tiempo que puede ser invertido en la optimización del diseño

Procedimiento:

Es necesario instalar un paquete de desarrollo para programadores llamado Windows SDK 7.1 o versión mayor, para evitar problemas de complación de nuestros proyectos, sin duda hay algunas formas de obtener este paquete de desarrollo, uno podemos descargarlo desde la página de Microsoft otra forma es instalar los complementos de cualquier Visual Studio, ya que contienen los paquetes SDK para el desarrollo de software y programación y una última que conozco es desde la página de Mathworks que nos permite obtener los paquetes de desarrollo; pero desde mi punto de vista pienso que es mejor la instalación de Visual Studio porque nos instala otros paquetes de desarrollo que podríamos necesitar a parte del SDK 7.1.

Antes de proceder con la descarga de nuestras librerías, es recomendable realizar lo siguiente en la pantalla inicial de MATLAB al iniciarlo, digitar:

>>mex -setup

y

>>mbuild -setup

Con esto actualizamos al MATLAB con el paquete de desarrollo instalado para la compilación.

A continuación procedemos a descargarnos el paquete de librerías para Raspberri Pi que se encuentran en: 


y escojemos Get Hardware Support Packages o también a este enlace dentro de Simulink:


Al fin, ambos nos llevan al mismo objetivo:


Escojemos la opción de Install from Internet y nos enviará a una serie de librerías, en donde escojeremos la que nos conviene, en este caso la de Raspberry Pi:


En mi caso me sale reinstalar, por que ya las tengo descargadas, en su caso les saldrá instalar, damos clic en continuar y el programa procederá con la descarga.


Al terminar nos saldrá la siguiente ventana:


A continuación damos clic en next, para que el programa proceda a la configuración de nuestra tarjeta, con la instalación del sistema con la cual trabajará nuestra Raspberry Pi vinculada a MATLAB, para ello debemos tener una cuenta en Mathworks para que el programa proceda con la instalación de este firmware en nuestro medio de almacenamiento.

Escojemos la opción Raspberry Pi en Hardware de las opciones que nos aparecen y damos clic en siguiente:


Escojemos el modelo de la tarjeta si es A o B, en éste caso es el modelo B:


Ahora se procede a descargar desde internet el programa que vinculará a nuestra tarjeta con MATLAB, otra opción es haber descargado el firmware desde mathworks y cargarlo a la SD pero no es recomendable.


Procedemos a configurar los parámetros de nuestra tarjeta, el nombre y la asignación de la dirección IP de esta puede ser manual o automática con la finalidad de tener un opción de conexión remota con nuestra tarjeta.


Es bueno estar seguro de las Ip´s asignadas en nuestra red LAN, para ello verificamos la correcta asignación de IP con un software llamado Advanced IP Scanner, (descargar aquí es gratuito). Este software permite es obtener la IP de todos los servidores que estén conectados al router de servicio para verificar las IP´s.

En la siguiente ventana nos aparecerán opciones de conexión entre la Raspberry Pi y nuestra PC, de forma directa, por medio del router o de forma remota, para ello escojemos la forma directa entre nuestra PC y la tarjeta

Sacamos la micro SD de nuestra Raspberri y la conectamos a nuestra Pc, asignamos la dirección en el sistema, damos clic en refresh para asegurarnos que ya se encuentra conectada y procedemos con la configuración dando clic en next y posteriormente en write, que arrancará la instalación del sistema en nuestra memoria SD.


Esperamos aproximadamente unos 15 min o más, dependiendo de nuestro ordenador y banda de internet hasta que se haya bajado todo el firmware:


Extraemos la memoria del computador y procedemos con toda la completa conexión de nuestra tarjeta tal como nos indica el siguiente gráfico y damos en siguiente, ésto verificará que no haya ningún problema entre la interfaz de nuestra Raspberry Pi y el ordenador


Al acabar con el procedimiento nos saldrá lo siguiente indicando que todo se lo ha realizado de la forma correcta y para confirmar los datos de identificación de la tarjeta.


Finalmente salimos del asistente de descarga de librerías y entramos a simulink y entramos a la librería de Raspberry Pi, y tendremos lo siguiente:


Podemos observar que existen bloques para realizar muchos proyectos como de procesamiento de vídeo, audio, imagen, S/E digitales, Reconocimiento de Audio, etc.


Finalmente para realizar una prueba de conectividad con la Raspberry Pi, MATLAB ofrece un comando que es:

>> !ping ip.add.re.ss.

Este comando nos permite enviar y recibir datos atraves de la Raspberry Pi, como lo muestra la imagen (hacer ping):


Con esto se ha finalizado la vinculación entre la Raspberry Pi y MATLAB, estamos listos para desarrollar nuestros proyectos.

2 comentarios:

  1. hola saludos, al momento de realizar los pasos de instalación debes colocar una sd 100% en blanco porque matlab descarga a tu sd el software necesario para la interacción con simulink, no uses el ISO con Raspbian que te viene al comprar la Raspberry Pi en la SD, sino utiliza otra memoria nueva. Saludos.

    ResponderEliminar
  2. Buen dia, esta tarjeta soporta redes neuronales realizadas en simulink?

    ResponderEliminar

Aprende a Programar tus propias aplicaciones