Raspberry Pi + JavaScript (Node.js)

0
57

Si eres un usuario habitual o estás interesado en empezarte en el mundo de Raspberry Pi, probablemente sepas de algunos lenguajes con los que puedes programar en una Pi. En esta ocasión hablaremos de cómo podemos escribir programas en JavaScript que, entre otras cosas, interactúen con periféricos de la tarjeta. Al final dejaremos un tutorial para que tus primeros pasos programado tu Pi con JS sean de lo más fácil.

¿Qué es JavaScript?

Hablemos rápidamente de lo que es JavaScript para poder entender porque es una buena idea utilizarlo. JS es un lenguaje de programación, entre otras características, interpretado y orientado a objetos. Interpretado significa que, al igual que python, ruby o php, el código necesita de otro programa para ser ejecutado; es decir, un “intérprete”.

 

¿Dónde se utiliza JavaScript comúnmente?

Es muy común escuchar de JS en el desarrollo web ya que es el lenguaje de programación que se ejecuta en el navegador. En este caso el código JS de un página web llega al navegador y el intérprete del navegador en cuestión lo ejecuta. JS hace posible muchas de las funcionalidades que tenemos en la web moderna, desde animaciones hasta interacción con periféricos de nuestros dispositivos desde un navegador.

¿Y para Raspberry Pi?

Bueno, en la Raspberry también necesitamos un intérprete que se encargue de ejecutar las instrucciones escritas en JS. Nuestro intérprete será Node.js.

Node es un es un entorno en tiempo de ejecución multiplataforma de código abierto. En el desarrollo web es común verlo como la capa de un servidor que utiliza JS. El que sea de código abierto ha hecho posible instalarlo en una Raspberry Pi. Por otra parte la gran comunidad que existe se ha encargado de generar una cantidad impresionante de paquetes a un nivel tal, que el manejador de paquetes de Nodejs es el registro de software más grande del mundo.

¿Porque es buena idea utilizar node en una Pi?

El manejador de paquetes de Nodejs es npmjs y nos ayuda a instalar paquetes que nos facilitan las implementaciones que deseamos tener en un proyecto. Por mencionar algunos ejemplos, existen paquetes para:

  • Interactuar con los GPIO
  • Interactuar con la cámara
  • Acceder al puerto serie
  • Mandar correos
  • Paquetes completos dedicados a robótica y más; por ejemplo Jhonny-Five

Desde luego, muchas veces podemos lograr resultados equivalentes con otros lenguajes de programación. En muchos casos se trata de gustos, de qué tan familiarizado estés con cada lenguaje o de las características del proyecto que tengas en mente. Por ejemplo podemos ver una amplia ventaja para Node en implementaciones que utilizan servicios web o para implementaciones de Internet de las Cosas, ya que como mencionamos JS es el lenguaje de programación más utilizado en el desarrollo web.

¿Cómo empiezo?

Creamos un tutorial para que empieces a programar tu Raspberry Pi + Node.js (Primeros pasos) cuanto antes, si así lo deseas. En el tutorial escribiremos un pequeño programa que interactúe con 2 GPIOs, esperamos te sea de ayuda.

Comentarios