Son muy diferentes, cada uno tiene sus propósitos.
La Raspberry Pi es una caja Linux pequeña y económica. Es un sistema totalmente profesional, capaz de ejecutar casi cualquier distribución de Linux. No tendría reparos en usarlos en un producto de bajo volumen, aunque el Beaglebone Black es un diseño más abierto, mejor para construirse si va a grandes volúmenes o desea la capacidad de hacer una versión para entornos más difíciles. El Pi no aplica un lenguaje o entorno de desarrollo, su confiabilidad dependerá en gran medida de la distribución de Linux y las herramientas que elija, y de cuán buenos sean sus desarrolladores. Es solo una computadora.
El Arduino es un dispositivo de prototipos de bajo nivel. Es un sistema de microcontrolador francamente no muy bueno con un IDE algo dañado y un cargador de arranque débil sin capacidad de programación por aire. La creación de redes es una idea de último momento y no es lo suficientemente potente como para manejar la seguridad (a menos que vaya a algo como un yún, que apenas es un Arduino). Ese sistema está acoplado a bibliotecas creadas por aficionados y, a menudo, no son confiables y se programan utilizando un estilo de C ++ sin restricciones completamente inapropiado para productos reales. Es una mala idea ir al mercado de masas con un Arduino, debe reescribirse desde cero. ¿Entonces por qué es tan popular?
- Quiero construir una demostración de brazo de robot usando ROS. ¿Debo usar un BeagleBoard o Raspberry Pi?
- ¿Cuáles son los posibles proyectos interesantes con un dispositivo Raspberry Pi y Arduino Uno?
- ¿Cómo se puede desarrollar un producto basado en Beagleboard si el costo por AM3359 IC es mayor de $ 47?
- ¿Cuál sería un buen tema para una tesis de maestría relacionada con la seguridad cibernética de Linux y Raspberry pi o IoT?
- Cómo hacer una barra de progreso mecánica de MP3 usando cobre / madera para reproducir / progresar un audio MP3 en Raspberry Pi
en dos palabras, conveniencia y comunidad.
Si desea armar rápidamente un prototipo desde cero, y aún no está construyendo un dispositivo integrado y no es un experto, puede estar en funcionamiento con Arduino en una o dos horas. Muchas de las cosas con las que necesita interactuar ya existen como escudos, por lo que no es necesario diseñar, diseñar, fabricar y ensamblar una placa con componentes de montaje en superficie difíciles de soldar. Hay bibliotecas ya escritas. Y el IDE se instala en 30 segundos, no las horas que le toma a un entorno de desarrollo profesional descargar, instalar, actualizar, encontrar todas las bibliotecas, corregir las variables de su entorno, resolver algún problema estúpido del compilador, etc.
Los fabricantes de chips están mejorando, pero el software no es su punto fuerte, y sus sistemas son más complejos y más capaces, por lo que terminas tomando algunas semanas para comenzar a funcionar con una cadena de herramientas y un tablero de desarrollo integrados reales. Sin embargo, una vez que esté en funcionamiento, el desarrollo puede ser bastante eficiente, ya que tiene herramientas como un depurador y comprenderá mucho mejor el compilador, los mapas de memoria, etc., y a menudo tendrá un sistema operativo en tiempo real y un chip más potente (y al mismo tiempo más eficiente) que lo que obtienes en un Arduino.
Y una vez que tenga un bloque de construcción básico, puede adaptarlo sin cesar: recuerdo que mi esposa se burló de mí porque en una empresa anterior, diseñamos un dispositivo para interactuar con parquímetros, y solo porque dejamos algunos pines adicionales, terminé adaptando el monitor del medidor para resolver todos los problemas, incluso los muy inapropiados. Y esas soluciones pasaron directamente a producción simplemente cambiando el esquema de la placa y reorganizando un poco los conectores y reescribiendo el 20% del firmware. Una vez que tenga esa base y experiencia, Arduino se vuelve menos atractivo.
En pocas palabras: Arduino es una herramienta de creación de prototipos. Si no está diseñando un producto, o algo que absolutamente tiene que funcionar de manera confiable durante mucho tiempo, Arduino es una excelente opción, especialmente si desea comenzar a construir antes de contratar a un desarrollador profesional integrado, o necesita una prueba de concepto realmente rápida . Y ahora hay productos compatibles con Arduino como Particle que tienen capacidades de hardware y redes mucho más potentes. Hay otras herramientas de creación de prototipos que pueden ser más adecuadas para usted y que también vale la pena considerar, como Tessel (si está en node.js y JavaScript en lugar de C ++) o Electric Imp. Y me gustan los phidgets como una forma aún más simple de hacer pruebas de concepto USB en su computadora portátil. Pero Arduino tiene la comunidad más grande y la mayor cantidad de accesorios y bibliotecas.
Pero si va a venderlo, y tiene el conjunto de habilidades adecuado disponible, es mejor comenzar con una tabla de evaluación de uno de los principales fabricantes de chips como TI, Nordic, NXP, Cypress o STM.
Actualización de noviembre de 2016: me he convertido en un fanático del kit Cypress PSoC4 BLE Pioneer como una excelente manera de comenzar y crear un prototipo, casi tan fácil de poner en marcha como Arduino, pero es un sistema de desarrollo integrado real que podría hacer la transición directa a la producción Y un dispositivo mucho más potente, con conexión en red, una interfaz analógica configurable y muchas más interfaces a bordo, con buenas bibliotecas de soporte. Comunidad más pequeña, pero pude obtener buena ayuda cuando la necesité, y viene con muchos buenos ejemplos.