¿Qué es mejor desde el punto de vista comercial Arduino o Raspberry Pi?

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?

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.

Realmente no puedes compararlos.

Los microcontroladores en los diferentes modelos de Arduino se utilizan ampliamente en cualquier cosa, desde lavadoras hasta satélites. Las placas Arduino en sí mismas no se utilizan comercialmente. No sería rentable ni confiable. En cambio, los microcontroladores se colocan en tableros personalizados junto con sensores y controles. Las placas generalmente están diseñadas para ajustarse cómodamente en los dispositivos para los que están diseñadas.

Raspberry Pi puede ejecutar una instalación completa de Linux y se ha utilizado comercialmente para al menos un alojamiento de gama baja. También conozco compañías que las implementan simplemente como computadoras autónomas muy pequeñas / asequibles tal como están. Pero para implementaciones de “grado industrial” hay mejores soluciones, que incluyen de nuevo tableros personalizados diseñados para la tarea.

Desde un punto de vista de experimentación / creación de prototipos tempranos, ambos podrían ser útiles. Estoy seguro de que hay campañas de Kickstarter donde comenzaron con Arduino o Pi.

Arduino es mejor por las siguientes razones:

1) Arduino tiene una muy buena comunidad de caballeros senior en la industria electrónica que tienen muchos conocimientos para ayudarlo. Por otro lado, la comunidad Raspberry Pi es bastante contundente y difícilmente te ayudarán, pero siempre te insultarán por cosas de Linux.

2) Arduino se puede programar mediante un simple USB, pero Raspberry requiere un dispositivo de visualización dedicado para programar realmente en su interior.

3) Si está dispuesto a construir un sistema integrado o reemplazar un sistema de control, entonces Arduino sería una mejor opción. Si desea hacer algo que requiera una programación de alta gama, las puntuaciones de Raspberry aquí.

4) Arduino es un microcontrolador y Raspberry es una computadora de placa única, por lo que es 20K veces más rápido que Arduino. Si desea crear una gran variedad de servidores, puede utilizar Raspberry como la solución más rentable.

5) Arduino requiere programadores heredados que son costosos, pero Raspberry es un juego para niños, por lo que los nuevos entrantes pueden dominar fácilmente estas cosas, ya que usa Python para la mayoría de la codificación.

6) Arduino no tiene funciones de procesamiento de imágenes que se puedan programar, Raspberry puede hacer maravillas con OpenCV.

¿Qué es mejor desde la perspectiva empresarial, una cortadora de césped o una motosierra?

La pregunta no puede ser respondida. Son cosas completamente diferentes usadas para propósitos completamente diferentes. Sí, ambos tienen motores y se utilizan para cortar. Ahí es donde termina la similitud.

Un Arduino y un Raspberry Pi tienen procesadores y pueden usarse para sistemas integrados, pero son tan diferentes entre sí como una cortadora de césped y una motosierra.

¿Qué es mejor para los negocios? Bueno, cual es tu negocio? ¿Para qué los vas a usar?

Se usan para cosas muy muy diferentes debido al hardware involucrado en ellas. ¿Que estás tratando de hacer? El Arduino es mejor para IO y robótica, mientras que el Raspberry Pi tiene una potencia informática mucho mejor.