viernes, 29 de agosto de 2014

RaspberryPi or not RaspberryPi he ahí el dilema

"Eligiendo entre el RaspberryPi y el BeagleBoneBlack"

Inicialmente mi intención era colocarle un nombre a este artículo un poco mas tradicional, tal vez RaspberryPi vs BeagleBoneBlack pero ya hay muchos por internet con este nombre.

El RaspberryPi lo podríamos definir en una sola frase como "Realmente es lo máximo" pero como decía el Oráculo de la Matrix realmente el problema es saber elegir.

Inicialmente la primera pregunta que uno se debe hacer es

1- ¿Para que voy a utilizar un Linux embebido?

En ocasiones uno por querer ir con la moda elegimos una arquitectura no adecuada, es como si quisiéramos una bazuca para matar una mosca. Hay que seguir la regla de oro al momento de diseñar una solución; maximizar la simplicidad sin sacrificar la seguridad, que tenga un bajo consumo energético y que sea estable y económico en términos de costo.

2- ¿No será que con un simple Arduino puedo darle la solución a mi problema?

Tal vez, incluso a veces ni siquiera es necesario utilizar un microcontrolador, en ocasiones un sencillo circuito analógico puede ser la solución a algunos de los problemas; por ejemplo, en mi casa utilizo cámaras ip, lógicamente una cámara de estas debe estar basada en un sistema embebido posiblemente un linux o quizas un freebsd, el punto es que en una ocasión la cámara dejo de funcionar porque se colgó su sistema operativo, sin embargo me llamo la atención que al momento de la transición de la luz a la oscuridad o viceversa se activaba el filtro de luz, un pequeño lente oscuro que se mueve con un relé; uno puede deducir que la decisión de colocar éste lente no la toma el sistema operativo de la cámara sino que con un pequeño circuito que se alimenta con una sensor de luz puede poner o quitar el lente polarizado.

3- Cual de tantos linux embebidos es el que voy a usar?

Ésto es lo más difícil, hay demasiadas opciones, tendríamos que redefinir la pregunta a ¿Cuál de tantos linux embebidos que ya he trabajado y que son relativamente fáciles de conseguir es el que voy a utilizar?; y si estamos en Venezuela eso de fáciles de conseguir complica un poco el asunto.

Bueno ahora si vamos al grano, en esta ocasión analizaremos al RaspberryPi y el BeagleBoneBlack con un enfoque no tradicional.

* Lo primero que salta a la vista entre estos dos sistemas es que el BeagleBoneBlack tiene muchísimas más GPIO que RaspberryPi, 65 el BBB vs 8 el RaspberryPi. Sin embargo existe en el mercado una tarjeta que expande el número de pines del RaspberryPi, lo hace a traves del I2C.

* El BBB no requiere de una microsd para trabajar, posee 4Gb de memoria flash para almacenar el sistema operativo, si se va utilizar el RaspberryPi es recomendable que la microsd sea mínimo de clase 4, bueno eso depende de lo que se vaya a hacer, si vamos a trabajar con video una clase 10 no nos caería nada mal.

* El RaspberryPi tiene 2 USB y dígame si hablamos del RaspberryPi B+ que tiene 4 vs Un simple host del BBB, hay que resaltar que BBB posee un USB cliente y el Raspberry no lo posee.

* Set de instrucciones: El BBB es un sistema embebido basado en ARMv7 el RaspberryPi está basado en ARMv6 el cual ya esta siendo poco usado en el mundo de los dispositivos embebidos adicionalmente si agregamos el hecho de que el BBB trabaja a 1Ghz de forma nativa y RaspberryPi a 700Mhz sin hacer overclock, hace que el BBB se lleve al raspberryPi por los cachos en lo que a poder de cómputo se refiere.

* Capacidades gráficas: Ahí gana el RaspberryPi, este pequeñin se jacta de tener un poderoso procesador gráfico que le permite decodificar video streaming a 1080p sin mayor dificultad en tiempo real.

* Salidad de Audio: sencillamente el BBB sólo puede sacar audio por el HDMI mientras que el RaspberryPi tiene un plug dedicado, claro está, lo malo es que si se va a utilizar este conector no se debe utilizar el generador de pulso modulado ya que tiene solo 1 y lo comparte con el puerto de expansión.

* Comunicación: El BBB se luce con esto, posee nada mas y nada menos que 5 puertos seriales por hardware vs 1 solo el RaspberryPi; en cuanto con el I2C el BBB posee 3 vs 1 en el RaspberryPi.

* Convertidor Analógico Digital: Ups el Raspberry no tiene, hay que apoyarse con una tarjeta de expansión que la ayude a tener ésta característica, en el caso del BBB posee 7 y lo mejor de todo es que es de 12 bits "excelente!!!".

* Consumo eléctrico: Sin duda alguna el ganador es el RaspberryPi.

En Resumen si la solución a implantar está basada en Multimedios el RaspberryPi es la mejor opcíon, en cambio si el objetivo es Robótica de álta complejidad es decir si vamos a incluir visión artificial sin duda alguna es necesario el BBB, es muy difícil poner a correr las últimas versiones de OpenCV, OpenNI en el RaspberryPi.


Y por último una pequeña fotico donde posan los dos sistemas ademas del ArduinoYUN que insistió mucho que le tomara una foto y que porque también es un Linux Embebido, no lo quize nombrar será para otra ocasión.