Primeros pasos con Rhomb.io


¿Qué hay en la caja?

El Development kit de Rhomb.io incluye los siguientes componentes:

  • PCB Development - Placa base de desarrollo de Rhomb.io.
  • Core Samsung Exynos 4412 - Procesador compatible con la plataforma Rhomb.io.
  • 2 Módulos de Memoria de 16Gb - Memorias eMMC compatibles con la plataforma Rhomb.io.
  • Adaptador WiFi USB - Adaptador USB WiFi para la conexión mediante WiFi en los sistemas Android y Linux.
  • Módulo Compatible con Arduino - Permite trabajar con los sensores Arduino desde la PCB Development.
  • Transformador de 5V, 2A - Proporciona la potencia necesaria para trabajar con la PCB Development.
  • Adaptador de eMMC a MicroSD - Permite conectar una eMMC a una ranura MicroSD

Dentro de la PCB Development, tenemos los siguientes componentes:

1a.png

1. Ranura de Core module Ranura para la conexión de los diferentes tipos de procesador disponibles para Rhomb.io. 2. Ranura para Módulos Rhomb.io Ranura eMMC para la conexión de los diferentes módulos disponibles para Rhomb.io. 3. Ranura de MicroSD Ranura para la conexión de tarjetas MicroSD. 4. Puertos USB Puertos USB 2.0 para la conexión de periféricos. 5. Alimentador de USB Permite alimentar con mayor amperaje los puertos USB. 6. Puerto USB OTG USB que permite la transferencia de datos. 7. Puerto USB Power Permite la alimentación de la PCB Development. 8. Power Selector/Selector de Alimentación Permite conmutar entre alimentación por batería o alimentación por USB. Se realiza mediante el movimiento a izquierda o derecha del puente. La alimentación por USB se realiza poniendo el puente en los pin izquierda y centro. Mientras que para batería se realiza poniendo el puente en los pin centro y derecha. 9. Interruptor de On/Off Enciende o apaga la corriente en la PCB Development. Se notifica mediante un LED rojo. 10. LED’s LED’s de notificación del estado de la PCB Development. 11. Reset PMIC Apaga el gestor de alimentación. Para hacerlo, hemos de mantener pulsado durante 7 segundos el botón. 12. PWRON Botón de encendido. Lo pulsamos para conectar nuestra PCB Development. 13. Interruptor DIP Sirve para conmutar entre el uso de tarjeta MicroSD o Módulos Rhomb.io. 14. Reset AP Reinicia el procesador. 15. UART 3 Puerto Serie 16. UART1 Puerto Serie que además se puede usar para monitorizar el sistema.

¿Qué es Rhomb.io? Y ¿Qué es la PCB Development?

Rhomb.io

Rhomb.io es una plataforma modular de hardware y firmware para el desarrollo y fabricación de dispositivos. Aporta escalabilidad y un enorme ahorro económico tanto en investigación como en desarrollo y fabricación de producto. La plataforma modular Rhomb.io está inspirada en el espíritu del PC Compatible y en la plataforma Wintel, modelos que han permitido a las empresas sus propias soluciones de software y hardware para el mercado de los ordenadores compatibles con dichos estándares. Hasta hoy no existía una alternativa estandarizada equivalente en el mundo de los dispositivos móviles basados en soluciones embebidas de alta integración (móviles, tablets y otros dispositivos móviles). Hoy Rhomb.io es la manera más rápida, económica y eficiente de introducir cualquier desarrollo de hardware en el mercado, ofreciendo la mayor ventaja competitiva sobre cualquier forma de producción existente para dispositivos móviles y electrónica de consumo. Descubra la excelencia a la hora satisfacer las necesidades de sus clientes en un tiempo récord. Rhomb.io supone mayor rapidez y eficacia en la iteración de la I + D para lograr el rendimiento deseado para su empresa. Para la industria de los dispositivos móviles, Rhomb.io supone la interacción perfecta entre el hardware y el software (firmware). Permite que los clientes decidan los componentes de sus dispositivos en base a sus necesidades particulares. Rhomb.io es la solución definitiva para quienes desean comercializar sus productos, sin restricciones: desde el cliente profesional hasta las empresas, instituciones o usuarios finales.

PCB Development

Se trata de la primera placa modular de desarrollo de Hardware y Software. Diseñada especialmente para el desarrollo de proyectos, tanto para la industria como para makers. La placa de desarrollo Rhomb.io cuenta con más de 400 señales, pensadas principalmente para facilitar la creación de nuevo hardware. Sus circuitos integrados bajo los más estrictos estándares, te ofrecen tantas posibilidades como imagines. Los límites los pones tú. Además, gracias al módulo compatible con Arduino las posibilidades se multiplican por cientos. Asimismo, la potencia de los procesadores disponibles en la familia Rhomb.io nos permiten trabajar en toda clase de proyectos electrónicos, desde los más simples a los más complejos.

Especificaciones

Módulo Core

  • Chip: Exynos 4412
  • Arquitectura Core: ARMv7
  • CPU: Quad Core 1.4 Ghz Cortex-A9 32bits 1MB L2 Cache
  • RAM: 2Gb LPDDR2, DDR2, DDR3 DDR3 Dual Channel
  • GPU: Mali 400 MP4 400MHz 15.84 GFLOPS

1080p AVI, WMV, H.264, H.263, VC1, MPEG2, MPEG4 OpenGL ES 1.1/2.0

PCB Development

  • Dimensiones: 103.4mm x 169.25mm
  • Consumo: MicroUSB 5V, 2A
  • Conectores:

3 Puertos USB 2.0* USB OTG Puerto HDMI Rev. 1.4* Ranura para Módulos Rhomb.io eMMC 5.0* Ranura para Tarjetas SD Switch/Interruptor DIP 2 Puertos UART (UART 1 para Monitorización del Sistema) 400 Señales de Entrada/Salida Soporte para interfaz JTAG Selector de Energía

Kit de desarrollo

Conexiones del kit

La PCB Development incluye varias conexiones. Por un lado para la comunicación con la propia PCB Development y que sirven además para conectar periféricos u ordenadores, que serían USB, HDMI y UART:

• La conexión USB se realiza desde los puertos localizados en la parte izquierda de la PCB Development. Tenemos dos tipos de USB, los estándar, llamados Tipo A y un Micro-B. Poseemos tres Tipo A y dos Micro-B. Uno dedicado para la alimentación de la PCB y otro OTG para la trasferencia de datos. • La conexión HDMI se realiza mediante la ranura que está situada en la parte superior de la PCB Development en el lado inverso donde van ubicadas el resto de las conexiones. Es el único conector que no se dispone en la parte frontal. Para conectarlo necesitaremos un cable HDMI 1.4 o inferior.

Por otro lado tenemos las conexiones de los módulos y la tarjeta MicroSD:

• La conexión de la tarjeta MicroSD se encuentra ubicada en la parte inferior de la PCB Development, justo debajo del alojamiento del Módulo Rhomb.io. • La conexión del módulo Rhomb.io eMMC a la Development Kit se explica en la imagen 4.1.1. La posición del módulo de memoria explicada en esta imagen, sirve tanto para la conexión con la PCB Development como para el adaptador de MicroSD a eMMC incluido en el Kit de Desarrollo.

2a.png

UART

UART (Universal Asynchronous Receiver-Transmitter) o Transmisor-Receptor Asíncrono Universal es un dispositivo que controla los puertos y dispositivos Serie. En el caso de la PCB Development, poseemos dos puertos UART para poder acceder a ella sin necesidad de una pantalla conectada por HDMI o un Display. Uno de los puertos UART, el llamado UART 1, es el encargado de la monitorización. Con el podemos por ejemplo, leer sensores y obtener sus valores. UART 1 será también el puerto que usaremos siempre para conectarnos a nuestra PCB Development mediante puerto serie. UART es un dispositivo programable al que se le pueden establecer una serie de condiciones como velocidad, paridad, longitud y bits de parada. UART se encarga de recibir la información del bus en forma de paralelo y convertirlo a serie. También puede realizar el proceso de forma inversa. La funcionalidad de estas placas es asignar los 1.8V necesarios para la comunicación. Para la conexión de la PCB Development a un puerto serie, necesitamos usar un adaptador USB a UART. Nosotros usaremos un Quad USBtoUART desarrollado por ImasD. La placa UART de ImasD tiene varios puertos UART que pueden servirnos además de para conectar nuestra PCB Development, para conectar sensores o módulos.

3a.png

Configurar el arranque

La tecnología Rhomb.io soporta tanto la ejecución de los sistemas operativos Ubuntu y Android mediante el módulo memoria eMMC como a través de la tarjeta MicroSD. Para poder usar tanto el módulo eMMC como la MicroSD hemos de realizar cambios en el configurador del arranque o BOOT. El configurador del arranque o BOOT es un interruptor DIP que permite el arranque del sistema operativo desde la tarjeta MicroSD o desde la eMMC. Este interruptor consta de dos posiciones para cada pin, a izquierda/off y a derecha/on. Los cambios en el interruptor DIP para modificar el arranque, SIEMPRE tienen que aplicarse con la PCB Development apagada. Para poder arrancar desde eMMC, hemos de colocar los pines del configurador del BOOT de la siguiente manera:

2016-09-28 09 46 31-Primeros pasos con Rhomb Rev 0.35 - Word.png

Para poder arrancar desde la tarjeta MicroSD, hemos de colocar los pines del configurador del BOOT de la siguiente manera:

2016-09-28 09 46 37-Primeros pasos con Rhomb Rev 0.35 - Word.png

Flasheo de Sistemas Operativos

El flasheo de los sistemas operativos es un proceso por el que se vuelca una imagen del sistema, ya sea Ubuntu o Android, en formato .img dentro de un módulo de memoria eMMC o una tarjeta MicroSD. Dependiendo del sistema operativo que usemos, nos valdremos de una herramienta u otra para realizar el proceso. En Linux y Mac OS X usaremos el comando dd para el flasheo mientras que con Windows usaremos la aplicación Win32DiskImager.

Las imágenes de los sistemas operativos soportados por Rhomb.io deben ser socilitadas al departamento de Hardware.

Flasheo eMMC

Linux

Para flashear la memoria eMMC desde Linux, podemos utilizar cualquier distribución que queramos, por ejemplo Ubuntu o Debian. La única única herramienta que vamos a necesitar es un terminal, disponible en cualquier distribución. Para realizar la instalación de Ubuntu o Android en un módulo de memoria eMMC lo primero que hemos de hacer es colocar a 0 los 8 primeros bits. Para ello usaremos el siguiente comando:

dd if=/dev/zero of=/dev/sdX bs=1M count=8

Para una mayor comprensión de lo que estamos realizando, os explicamos cómo funciona el comando anterior: • dd es un comando que está incluido en todas las distribuciones Unix y permite realizar operaciones avanzadas, como trasferencia de archivos, conversión o copias de seguridad.

• if es la opción de origen del flasheo. En nuestro caso elegiremos /dev/zero. /dev/zero es un archivo que puede usarse tanto de fuente como de sumidero de información. Por un lado podemos generar archivos “limpios” y por otra podemos descartar toda la información que le pasemos al archivo.

• of es la opción destino del flasheo, en este caso el propio dispositivo, que probablemente sea /dev/sdb, ya que habitualmente /dev/sda está reservado para el disco del sistema. Si queremos saber cuál es nuestro dispositivo, podremos obtener información usando los comandos lsblk y blkid. Estos nos muestran un listado de dispositivos ordenados además de ordenar también las particiones de cada dispositivo.

lsblk
blkid

2016-09-28 09 46 47-Primeros pasos con Rhomb Rev 0.35 - Word.png

En la imagen 5.2.1.1 podemos observar como poseemos los dispositivos sda y sdb. Es fácilmente identificable que el dispositivo sda pertenece al disco del sistema dado que aparecen las particiones, raíz (Representada con una /), intercambio (Representada como swap) y home (Representada como /home y que ubica las carpetas de todos los usuarios), propias de un sistema de archivos Linux. Por último poseemos el dispositivo sdb con una capacidad de 14.6Gb con dos particiones que poseen la identificación en sdb1 como BOOT, y la identificación en sdb2 como rootfs. Por tanto, este sería nuestro módulo Rhomb.io.

• La opción bs colocaremos la cantidad de bytes que se graban en una sola vez. En este caso la opción 1M graba un 1 Mb.

• La opción count dicta la cantidad de bloques que se van a grabar. En este caso los 8 primeros bloques. Por tanto, lo que la instrucción realiza es colocar los 8 primeros bloques a 0 en el dispositivo /dev/sdb desde /dev/zero. Una vez realizado esto, ejecutaremos el dd para grabar la imagen sobre la partición.

dd if=/mi/imagen/rhomb.img of=/dev/sdX1 bs=1M conv=fsync

Esto flasheará nuestra imagen de Ubuntu o Android sobre nuestro módulo de memoria. Una vez realizado esto, ejecutaremos el comando sync. El comando sync sirve para limpiar el flush de buffers de archivos.

sync

Aquí un ejemplo de los anteriores comandos ejecutado con éxito:

2016-09-28 09 46 55-Primeros pasos con Rhomb Rev 0.35 - Word.png

Windows

En el flasheo del módulo de memoria a través de Windows, utilizaremos la aplicación Win32DiskManager para flashear, tanto las imágenes de Ubuntu como de Android. Win32DiskImager es una aplicación para la escritura de imágenes sobre dispositivos. Se puede descargar en el siguiente enlace:

https://sourceforge.net/projects/win32diskimager/files/latest/download

Una vez descargado, lo instalamos y ejecutamos. Su aspecto debería ser similar al mostrado en la imagen 5.2.2.1. La versión usada en esta guía es la 0.9.5, por tanto, en versiones superiores su aspecto podría cambiar.

2016-09-28 09 47 02-Primeros pasos con Rhomb Rev 0.35 - Word.png

Para seleccionar el archivo .img de nuestro Sistema Operativo hemos de hacer click en la carpeta azúl ubicada en la Imagen 5.2.2.1 en la esquina superior derecha y buscar la ruta hasta nuestra imagen. En Device, ubicado también en la esquina superior derecha elegimos dónde está montado nuestro módulo, por ejemplo en el dispositivo F:\ Tras esto, seleccionamos la opción Write, y comenzará automáticamente el proceso de grabación.

2016-09-28 09 47 08-Primeros pasos con Rhomb Rev 0.35 - Word.png

Una vez finalizado el flasheo de la imagen, si la grabación se ha realizado correctamente, nos aparecerá el siguiente mensaje, mostrado en la imagen 5.2.2.3.

2016-09-28 09 47 14-Primeros pasos con Rhomb Rev 0.35 - Word.png

Con ello el Flasheo de la imagen se habrá realizado correctamente.

Mac OS X

El flasheo en Mac OS X se realiza mediante el comando dd. Utilizaremos otro comando llamado diskutil para la visualización de nuestros dispositivos y así localizar cuál es nuestro módulo eMMC.

2016-09-28 09 47 20-Primeros pasos con Rhomb Rev 0.35 - Word.png

Primero ejecutaremos el siguiente comando:

sudo diskutil list

Esto nos mostrará un listado de los dispositivos que hay conectados a nuestro PC, es fácilmente identificable que el dispositivo /dev/disk2 es nuestro módulo eMMC. Posteriormente, y para realizar el flasheo, ejecutaremos el dd para grabar nuestra imagen sobre el módulo eMMC.

dd if=/mi/imagen/rhomb.img of=/dev/diskX bs=1M 

Una vez finalizado el proceso, la memoria eMMC estaría preparada para arrancar.

Flasheo Micro SD

Para flashear la tarjeta MicroSD en Linux y Mac OS X, al igual hemos hecho para la eMMC, utilizaremos el comando dd. Si nuestro sistema operativo es Windows, utilizaremos el programa Win32DiskImager. El procedimiento es igual, para cualquiera de sus versiones, tanto en Ubuntu como en Android. Ya que lo que estamos haciendo es usar una imagen de estos sistemas operativos y volcarla sobre la tarjeta MicroSD.

Linux

Para flashear la tarjeta MicroSD en Linux, podemos utilizar cualquier distribución que queramos, por ejemplo Ubuntu o Debian. La única herramienta que vamos a necesitar es un terminal, disponible en cualquier distribución. Para realizar la instalación de Ubuntu o Android en una tarjeta MicroSD hemos de ejecutar el siguiente comando, que graba directamente nuestra imagen sobre nuestra tarjeta MicroSD.

dd if=/mi/imagen/rhomb.img of=/dev/sdX1 bs=1M conv=fsync

Para una mayor comprensión de lo que estamos realizando, pasamos a explicar cómo funciona el comando anterior: • dd como hemos explicado anteriormente está incluida en todas las distribuciones Unix y permite realizar operaciones avanzadas, en este caso el copiado de archivos.

• if es la opción de origen del flasheo. En este caso, la ubicación de nuestra imagen de Ubuntu o Android. Por ejemplo en /home/usuario/Descargas en Linux o dentro de la carpeta de usuario, en Descargas en Windows.

• of es la opción destino del flasheo, en este caso el propio dispositivo, que probablemente sea /dev/sdb, ya que habitualmente /dev/sda está reservado para el disco del sistema.

Si queremos saber cuál es nuestro dispositivo, podremos obtener información usando los comandos lsblk y blkid. Estos nos muestran un listado de dispositivos ordenados además de ordenar también las particiones de cada dispositivo.

lsblk
blkid

2016-09-28 09 47 28-Primeros pasos con Rhomb Rev 0.35 - Word.png

En la imagen 5.3.1.1 podemos observar como poseemos los dispositivos sda y sdb. Es fácilmente identificable que el dispositivo sda pertenece al disco del sistema dado que aparecen las particiones, raíz (Representada con una /), intercambio (Representada como swap) y home (Representada como /home y que ubica las carpetas de todos los usuarios), propias de un sistema de archivos Linux. Por último poseemos el dispositivo sdb con una capacidad de 7.2Gb con una única partición, no posee identificación, pero podemos estar seguros que es nuestra tarjeta SD.

• La opción bs colocaremos la cantidad de bytes que se graban en una sola vez. En este caso la opción 1M graba un 1 Mb.

• La opción conv copia sólo n bloques del fichero de entrada.

Una vez finalizada esta orden, nuestro sistema operativo Ubuntu o Android ya estaría grabado en nuestra tarjeta MicroSD y preparado para ser ejecutado en nuestra PCB Development.

Windows

En el flasheo del módulo de memoria a través de Windows, utilizaremos la aplicación Win32DiskManager para flashear, tanto las imágenes de Ubuntu como de Android. Win32DiskImager es una aplicación para la escritura de imágenes sobre dispositivos. Se puede descargar en el siguiente enlace: https://sourceforge.net/projects/win32diskimager/files/latest/download Una vez descargado, lo instalamos y ejecutamos. Su aspecto debería ser similar al mostrado en la imagen 5.2.2.1. La versión usada en esta guía es la 0.9.5, por tanto, en versiones superiores su aspecto podría cambiar.

2016-09-28 09 47 37-Primeros pasos con Rhomb Rev 0.35 - Word.png

Para seleccionar el archivo .img de nuestro Sistema Operativo hemos de hacer click en la carpeta azúl ubicada en la Imagen 5.3.2.1 en la esquina superior derecha y buscar la ruta hasta nuestra imagen. En Device, ubicado también en la esquina superior derecha elegimos dónde está montada nuestra tarjeta MicroSD, por ejemplo en el dispositivo F:\ Tras esto, seleccionamos la opción Write, y comenzará automáticamente el proceso de grabación.

2016-09-28 09 47 42-Primeros pasos con Rhomb Rev 0.35 - Word.png

Una vez finalizado el flasheo de la imagen, si la grabación se ha realizado correctamente, nos aparecerá el siguiente mensaje, mostrado en la imagen 5.3.2.3.

2016-09-28 09 47 48-Primeros pasos con Rhomb Rev 0.35 - Word.png

Con ello el Flasheo de la imagen se habrá realizado correctamente.

MacOSX

El flasheo en Mac OS X se realiza mediante el comando dd. Utilizaremos otro comando llamado diskutil para la visualización de nuestros dispositivos y así localizar cuál es nuestra tarjeta MicroSD.

2016-09-28 09 47 53-Primeros pasos con Rhomb Rev 0.35 - Word.png

Primero ejecutaremos el siguiente comando:

sudo diskutil list

Esto nos mostrará un listado de los dispositivos que hay conectados a nuestro PC, es fácilmente identificable que el dispositivo /dev/disk2 es nuestra tarjeta MicroSD. Posteriormente, y para realizar el flasheo, ejecutaremos el dd para grabar nuestra imagen sobre la tarjeta MicroSD.

dd if=/mi/imagen/rhomb.img of=/dev/diskX bs=1M 

Una vez finalizado el proceso, la tarjeta MicroSD estaría preparada para arrancar.

Arranque del SO

En este apartado vamos a tratar diferentes aspectos del arranque de los sistemas operativos que Rhomb.io soporta como son Ubuntu y Android. Por un lado trataremos el propio arranque, la secuencia de pantallas por las que pasa cada sistema operativo y el significado de cada una de ellas. También conoceremos posibles errores que puedan darse durante el proceso de arranque en ambos sistemas operativos. Por otro, analizaremos también el arranque de la PCB Development. Concretamente del significado de los indicadores LED durante el proceso de arranque y qué secuencia realiza cada uno.

Arranque de Linux

Para arrancar el sistema, primero colocamos en On el interruptor On/Off, luego hemos de mantener pulsado el botón de PWRON durante 3 segundos, inmediatamente después, la PCB Development se encenderá. Tras esto, comenzará la carga de todos los componentes de Hardware, seguidamente continua con la carga de los servicios. Una vez realizadas estas operaciones, procederá tras unos segundos con la pantalla en negro a cargar el escritorio de Linux. Los errores más habituales durante el inicio es el fallo en la carga de alguno de los componentes o la carga de alguno de los servicios que imposibilite el inicio del sistema. Un ejemplo habitual es que nuestro router tarde en asignarnos la IP que solicitamos durante el arranque del sistema, y por tanto, el inicio se retrase durante unos minutos. Otro error habitual es el fallo en el arranque de la sesión gráfica, que conlleva a que el sistema no termine de cargarse.

Arranque de Android

pulsado el botón de PWRON durante 3 segundos, inmediatamente después, la PCB Development se encenderá. Tras varios segundos, aparecerá un cartel en el que se muestra la palabra ANDROID. La duración de esta parte es variable y dependerá si es la primera vez que iniciamos el sistema o si lo hemos iniciado en más ocasiones. En esta parte, Android carga todos sus procesos de manera interna, y puede tardar varios minutos. Si conectamos nuestra PCB Development por puerto serie, podemos ver el progreso de la “autoinstalación”. Por favor, ten paciencia ;) Finalizada la carga, la pantalla se quedará en negro durante unos segundos para posteriormente iniciar el escritorio de Android.

Visualización de LED's

Durante el encendido de la PCB Development y el arranque de los sistemas operativos Ubuntu y Android, se encienden una serie de LED’s. Este apartado tratará qué LED’s se encienden durante el arranque y qué significa cada uno de ellos, con el fin de saber qué información nos proporciona. Una vez nuestra PCB Development está conectada ya sea mediante cable o batería, procederemos al arranque con el interruptor On/Off. Inmediatamente veremos como el LED que se muestra en la imagen 6.3.1 se encenderá de color rojo, este LED indica que la PCB Development tiene una fuente de alimentación conectada, ya sea batería o corriente eléctrica.

2016-09-28 09 48 03-Primeros pasos con Rhomb Rev 0.35 - Word.png

Se encenderán primero los LED's marcados en la imagen 6.3.2 (OUT3 y OUT21). Estos LED’s se encenderán cuando le esté llegando alimentación al Módulo Core. Si estos dos LED no se encienden es que nuestro Módulo Core no está conectado, o no está bien conectado.

2016-09-28 09 48 09-Primeros pasos con Rhomb Rev 0.35 - Word.png

Inmediatamente después se encenderá el LED D5 situado en la parte superior izquierda justo al lado del USB OTG. Este LED no indica nada, ni tiene ninguna función concreta. Ambos LED tanto D4 como D5, son LED programables por el usuario y por tanto, tendrán el uso que se le quiera dar. Por último, se encenderá el LED marcado en la imagen 6.3.3 llamado BUCK8. Este LED se enciende cuando ha comenzado a cargar software. También se encenderá si la carga del software falla o se produce, en el caso de Linux, un Kernel Panic.

2016-09-28 09 48 15-Primeros pasos con Rhomb Rev 0.35 - Word.png

Acceso a la consola por puerto serie

En este apartado vamos a tratar la conexión de la PCB Development a través del puerto serie, por un lado, la parte Hardware, y por otra la parte Software. En la parte de hardware trataremos el uso de un adaptador USB-UART y la conexión de éste a la PCB Development. Por la otra parte, en el apartado del Software hablaremos de la conexión mediante aplicaciones al puerto UART. Este apartado se divide en subapartados para Linux, Windows y Mac OS X, en donde se trata la conexión para cada uno de los sistemas operativos. Algunas de las aplicaciones que analizaremos a continuación son multiplataforma, como Putty, disponible para Linux y Windows o Screen, disponible para Linux y Mac OS X.

Para conectar la PCB Development a través del puerto UART, podremos utilizar cualquier adaptador USB-UART que existe en el mercado. En nuestro caso, utilizaremos la placa Quad USBtoUART realizado por ImasD.

Quad USBtoUART

Es una placa UART multipuerto que hace de intermediario de la conexión entre el PC y la PCB Development. Al poseer varios puertos UART, permite además, la conexión de sensores de manera simultánea. Para la conexión de la placa UART, primero hemos de conectar los USB correspondientes a nuestro PC, para posteriormente conectar la placa UART a nuestra PCB Development. Primero, conectaremos nuestro cable USB al puerto DATA USB de nuestra placa UART. Usaremos el DATA USB si el puente FB1 situado entre los conectes PWR USB y DATA USB está colocado en las patillas centro y derecha. De esta manera, el DATA USB proporcionará tanto la trasferencia de datos como la corriente. En cambio, si el puente está colocado en las patillas izquierda y centro, usaremos el PWR USB para alimentar la placa y el DATA USB para la trasferencia de archivos.

2016-09-28 09 48 20-Primeros pasos con Rhomb Rev 0.35 - Word.png

Posteriormente conectaremos el otro extremo del USB a nuestro PC. El resultado de esta conexión será la siguiente:

2016-09-28 09 48 32-Primeros pasos con Rhomb Rev 0.35 - Word.png

Una vez realizada la conexión a nuestro PC, vamos a realizar la conexión entre la placa UART y nuestra PCB Development. El puerto UART que usaremos en nuestra PCB Development es el puerto UART 1. Para ello, usaremos el siguiente esquema de la imagen 7.1.3.

2016-09-28 09 48 41-Primeros pasos con Rhomb Rev 0.35 - Word.png

  • Los nombres RTS1, RX1 y TX1 corresponden al UART COM1, si usamos el COM2 los nombres serán RTS2, RX2 y TX2, y así sucesivamente con el resto de los UART.

Una vez realizada la conexión, la conexión resultante debería ser la siguiente:

2016-09-28 09 48 47-Primeros pasos con Rhomb Rev 0.35 - Word.png

Una vez conectadas la PCB Development a la placa UART, y la placa UART al PC, podemos observar que nuestra placa UART muestra cuatro conexiones, llamadas COM1, COM2, COM3 y COM4. Ahora vamos a realizar una serie de pasos que nos mostrarán como localizar los nombres que nuestro PC asigna a los puertos UART de nuestra placa. Los nombres serán diferentes tanto en Linux, Windows y Mac OS X y nos servirán posteriormente para conectarnos con las aplicaciones.

Linux

En Linux ejecutaremos el siguiente comando para localizar el nombre que el sistema asigna a nuestra placa UART.

ls /dev/ttyUSB*

2016-09-28 09 48 52-Primeros pasos con Rhomb Rev 0.35 - Word.png

Una vez ejecutado el comando, en la imagen 7.1.4 podemos observar el resultado. Linux nombra a nuestros puertos UART como /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2, /dev/ttyUSB3 A la hora de conectarnos posteriormente, usaremos estos dispositivos.

Windows

En Windows, para localizar cuales son nuestros UART, hemos de acceder a nuestro administrador de dispositivos. El administrador de dispositivos se encuentra accediendo a Inicio > Panel de Control, dentro buscaremos Administrador de Dispositivos. Dentro de Administrador de Dispositivos, en el apartado (Puertos COM y LPT) podremos observar el nombre que Windows le ha dado a nuestros puertos. En nuestro caso los puertos asignados son el COM8, COM9, COM10 y COM11 tal y como puede apreciarse en la imagen 7.1.5.

2016-09-28 09 48 59-Primeros pasos con Rhomb Rev 0.35 - Word.png

Estos puertos son los que posteriormente nos servirán para conectarnos a nuestra PCB Development.

MacOS X

En el caso de Mac OS X, para detectar los puertos asignados a nuestro Adaptador UART, hemos de abrir una terminal y colocar un comando similar al usado en Linux.

ls /dev/tty.*

2016-09-28 09 49 06-Primeros pasos con Rhomb Rev 0.35 - Word.png

El resultado nos muestra que los puertos usados para la conexión en Mac OS X son los puertos /dev/tty.usbserial-DN014OUA, /dev/tty.usbserial-DN014OUK, /dev/tty.usbserial-DN014OUT, /dev/tty.usbserial-DN014OUU

Localización del puerto asignado

La placa UART tiene una serie de puertos llamados COM1, COM2, COM3 y COM4. En los diferentes sistemas operativos hemos podido observar que nombra a los puertos de diferentes modos. En los ejemplos anteriores, para el puerto COM1, el puerto asignado para Linux será el puerto /dev/ttyUSB0, Windows asignará el puerto COM8 y por último, Mac OS X asignará el puerto /dev/tty.usbserial-DN014OUA. Para los puertos COM2, COM3 y COM4, se asignará los puertos sucesivamente.

Linux

GTK Term es una aplicación gráfica de emulación de terminal para Linux, en distribuciones Ubuntu y derivadas se encuentra en repositorios. Para instalarla sólo hemos de ejecutar el siguiente comando

sudo apt-get install gtkterm

Una vez descargada la aplicación, la ejecutamos y hacemos click en Configuration, en el menú elegimos la opción Port. Nos aparecerá una ventana con nombre Configuration, donde nos aparecen una serie de opciones como Port, Baud Rate, Parity, Bits, Stopbits y Flow control. Nosotros sólo usaremos los parámetros, Port y Baud Rate. El resto los dejaremos por defecto.

En el apartado Port, si nuestro UART está conectado al puerto COM1, elegiremos el puerto /dev/ttyUSB0, por último, en el apartado Baud Rate en el desplegable elegiremos 115200

2016-09-28 09 49 13-Primeros pasos con Rhomb Rev 0.35 - Word.png

Una vez aplicados estos cambios, hacemos click en Ok. Seguidamente la conexión se realizará y podremos ver como se ejecuta el terminal. Existen ocasiones en las que al darle Ok, el programa no muestra ninguna terminal. En ese caso, probaremos pulsando la tecla Enter, en este caso, mostrará la terminal ejecutada. En caso de que siga sin mostrarse nada en pantalla tras pulsar la tecla Enter, comprobaremos los apartados Serial Port y Baud Rate debido a que pueden no estar correctos.

Windows

Putty es un cliente para Linux y Windows que soporta conexiones SSH, TCP Raw, Serial, Telnet y Rlogin. Podemos descargar Putty desde su página web: https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe Una vez descargado, lo instalamos. Finalizada la instalación, lo ejecutamos y una vez dentro, elegimos en Connection Type la opción Serial. En Serial Line tendremos que escribir COM8. En el apartado Speed hay que colocar 115200.

2016-09-28 09 49 21-Primeros pasos con Rhomb Rev 0.35 - Word.png

Una vez colocados todos los parámetros, hacemos click en Open. Con esto conectaremos a nuestra PCB Development.

Mac OS X

Para la conexión de nuestra PCB Development en Mac OS X, que no posee soporte para ninguna de las dos aplicaciones anteriormente citadas, hemos de conectar mediante Screen. Screen es una es un manejador de terminales que permite controlar desde varias sesiones desde una misma ventana, hasta ver varias de esas sesiones simultáneamente agrupándolas. Esta herramienta también nos permite abrir sesiones de Puerto Serie. Mac OS X lleva integrado por defecto Screen para la conexión por puerto serie. Por tanto no hemos de realizar ninguna instalación como en el caso de Linux y Windows. Para realizar la conexión mediante Puerto Serie, hemos de ejecutar el siguiente comando:

screen /dev/tty.usbserial-DN0140UA 115200

2016-09-28 09 49 29-Primeros pasos con Rhomb Rev 0.35 - Word.png