jueves, 8 de enero de 2015

¿Por qué usar Microframework es una buena opción?

No siempre el Arduino es la mejor opción para realizar un proyecto embebido, en éste artículo expondremos un caso donde el microframework nos permitirá ahorrar algún dinero, espacio físico y tiempo de desarrollo.

Vayamos al grano...


Supongamos que necesitamos desarrollar una solución de hardware donde se requiera almacenamiento en una microsd y una conexión de red.

Para éste ejemplo haremos la comparación entre el clásico Arduino Uno y el NetduinoPlus2 que es una implementación de microframework OpenSource con el factor de forma del Arduino. Para ser más justos utilizaremos todos los precios de un solo distribuidor en este caso Sparkfun.

vayamos directo al grano con la siguiente gráfica.



Si nos vamos por la opción del Arduino tendríamos las siguiente limitantes: 

1) Hay que usar 2 (dos) tarjetas, eso implica que se ocupa el doble de espacio que el NetduinoPlus2

2) No crean que siguen disponiendo de 32k para el programa, la librería Ethernet de Arduino usa 1532 bytes.

3) Al estar usando una tarjeta SPI de hecho ya están usando un pin dedicado a la tarjeta Ethernet y microSD.

4) Poca memoria RAM sólo 2k.

5) Están gastando mucha plata 24.95 + 45,95 = 70,9 dólares.

Ahora bien veamos que nos da el NetduinoPlus2

1) Menos espacio, una sola tarjeta.

2) 384Kb que no se ven afectados por uso de la Ethernet puesto que ya está descontado éste espacio.

3) Los puertos SPI están libres.

4) El microprocesador es de 32bits vs 8 bits del Arduino.


5) Al ser microframework el nivel de abstracción es demasiado elevado, imaginense poder usar el poderoso framework .NET sin tantas complicaciones (manejos de hilos, complejos programas que serían muy difícil de implementar en C++).

6) Solo hay que gastar 59.95 dólares.


Aquí aplica bien el dicho de las ofertas "Más por Menos".


Ahora bien el Microframework no es la perfección, por ejemplo aquí no puedes tener SoftwareSerial algo que para el Arduino es algo sencillo de hacer; si queremos sacar el MCU del Arduino no hay problema, el hardware nos sale mas barato, con el Netduino no es algo tan trivial; no hay que dejarse engañar de la frecuencia del NetduinoPlus2, aún cuando es 10 veces superior a la del Arduino recuerden que ejecuta un código intermedio, si borramos el microframework del NetduinoPlus2 y trabajamos directamente en el STM32 si veríamos un enorme rendimiento pero sólo en C/C++ o sea sin .NET.