Diferencias entre Raspberry Pi y Arduino…y algún consejo rufián
¡Hola! ¿Qué tal? Sí, ya sé ya sé, no soy davidochobits. Pero no nos volvamos locos que voy a intentar estar a la altura. Me presento y tal: Soy Rufián. La verdad es que suelo leer los posts de davidochobits y molan, pero de Hardware Libre el tío no habla ni a la de tres. Así que me ha invitado a que lo haga en este espacio. ¡Gracias! 😉
Y es que a diario veo cómo la gente se hace un lio que no veas con Arduino y Raspberry Pi. davidochobits te contó en su día que Arduino utiliza un IDE y que Raspberry Pi puede funcionar con Debian. Pero ¿Cuál es la diferencia entre ambas? ¿Puede Arduino utilizar un Sistema Operativo como Debian? ¿Puedes utilizarlas indistintamente? ¡Vamos a por ello!
Destripando la Raspberry Pi
Empiezo por lo fácil para ti, Raspberry Pi. Raspberry Pi es un ordenador. Ni más ni menos. Es pequeño entonces tiene sus limitaciones. ¿Porqué tanto revuelo con este ordenador? Su tamaño, su memoria (que es una tarjeta SD) y que tiene pines.
Por partes, lo del tamaño está claro. Lo de la tarjeta aunque parezca una gilipollez es un puntazo ya que puedes hacer lo que quieras sin miedo a estropear nada del sistema operativo. Es común ir con tiento o no instalar ciertas cosas o no jugar tanto como podríamos. Raspberry te ofrece un ordenador para eso, para que hagas lo que quieras sin miedo a re-instalaciones lentas y odiosas o cosas similares. Además, el software que incluye es libre, lo que ayuda a que se puedan cambiar aún más cosas.
En cuanto a lo de los pines, esto es algo más electrónico. Digamos que Raspberry Pi te da la opción de conectar otros componentes electrónicos pero, ¡cuidado! Si lo haces mal puedes quemar algún pin y si se quema…voló, como el del vídeo. No hay marcha atrás. Pierdes ese pin.
¿A qué mola? Ahora me iría a mi casa sintiéndome el puto amo por haberte dicho qué un pin se puede quemar sin decirte qué coño es un pin. A ver, un pin, físicamente es una punta metálica que sale de la placa y que se puede programar. Es una punta por que en Raspberry utilizan machos. Arduino por su parte utiliza hembras (¡uy! ¿se podrán conectar uno encima del otro? Eso lo tengo que probar).
De esta manera yo podría programar (en Python, C, BASIC o bash) que aparezca un voltaje por un pin. Así podría conectar un led y hacer que se iluminara de forma intermitente o a saber qué.
Sabes lo que estoy pensando.. ¿Qué es Arduino?
Luego tenemos Arduino. Aquí ya no tenemos un ordenador sino que tenemos un microcontrolador. Es un ordenador tonto. Al cuál solo puedes mandarle cosas de una en una y sin estresarlo mucho. Es lo que encontramos en electrodomésticos, por ejemplo. ¿Qué tiene de bueno? Que no siempre necesitas un Ferrari para ir a hacer la compra y volver. Así que lo que haces es comprarte un coche más normalito que se adapte a tus necesidades.
En este caso las necesidades son algo que permita detectar cosas del exterior con facilidad y permita hacer acciones sencillas con facilidad. Algo más barato que un PC (Raspberry ha roto la olla en ese aspecto) y que sea fácilmente conectable con sensores (elementos que captan señales) y actuadores (elementos que hacen una acción).
Claro, para qué voy a poner un ordenador en la nevera si solamente necesito que vigile la temperatura de la misma y diga: ¡Hermano, que la temperatura está baja, dale caña al motor! Y con esto encender el motor hasta que la temperatura sea la adecuada. Es mucho más económico y más sensato utilizar algo más básico que un ordenador en estos casos.
¿Y tanto revuelo con Arduino para esto? Pues sí, resulta que no sabíamos que nos gustaba encender lucecitas hasta que nos lo han puesto tan fácil con esta placa. ¿Fácil? Sí, facilísimo. Antes la gente como yo programaba en C a bajo nivel y declarando mil puertos y pines. Ahora con C++ y un poco de imaginación puedes hacer cualquier cosa.
Además, supongo que estás familiarizado con el mundo Open. El Open Hardware es lo mismo que el Open Software pero en la parte física de los componentes. Éstos son igual que un programa: necesitan de un diseño que es el que es abierto. De esta manera si Arduino tiene un led que a mi no me gusta podría rediseñarlo para que esa lucecita desapareciese. Es por eso la gran marea de clones y proyectos similares que han surgido a partir de éste. Esto ha ayudado un poco más a la locura. La gente puede ver los esquemas y copiarlos o modificarlos. Algo que antes nunca nadie había pensado.
¿Te digo un secreto? Raspberry Pi no es Open Hardware. El hardware está bien cerrado y en su página de preguntas frecuentes lo dicen bien claro: Si quieres el hardware tienes que firmar un contrato con nosotros para que te lo vendamos. Ellos compiten más con un software libre y un precio ridículo para un ordenador. Porque te voy a decir algo que nadie te dirá: Arduino es caro. Si vas a la página oficial es más caro que un microcontrolador de otras marcas.
¡Ouch! ¡Pero qué tarde es!
Antes de despedirme (en serio, davidochobits está ya mirándome mal en plan: ¿Pero este tío qué se ha creído?¿Quiere que le parta la cara?) Quería responderte a una de las preguntas que he planteado al inicio: ¿Puede Arduino utilizar un Sistema Operativo como Debian? El caso es que Debian no, pero existe una placa Arduino qué si que contiene un sistema operativo llamado Linino. Ésta es una versión que se asemeja mucho a una Raspberry Pi ya que puedes lanzar scripts, pasar la respuesta a Arduino y hacer cosas con esos datos. Por ejemplo, encender las luces de un árbol de navidad cada vez que recibes una mención en Twitter. Si te interesa saber más, en su día escribí aquí sobre esa placa. (En serio daviochobits, ¡me piro ya!)
Así que nada, espero que te sirva, que le dejes muchos comentarios a davidochobits por aquí y un placer pasarme por este blog. ¡Cuídense, rufianes! 😉