blog
Javascript Opinión robots

Javascript para Robots y Node.js

El otro día fui a ver la película Big Hero 6. ¿La viste? La película no está mal y tiene muchos detalles interesantes que si la viste, podemos comentarlo aquí. El entusiasmo por la robótica  de Hiro Hamada, un adolescente de 14 años, me hizo pensar en lo accesible que la robótica puede ser en la vida real,  en los últimos años, no solo a nivel de Hardware, pero incluso la programación del software que permite controlar estas máquinas.

Para mí, ¡algo que es aún más increíble es la posibilidad de utilizarse JavaScript para controlar Robots! El desarrollo web deja de limitarse a software y/o hardware aplicado y entra en una nueva dimensión. Es cierto, si tienes conocimiento de JavaScript, puedes utilizarlo para controlar un Robot. ¡Ya te puedes imaginar las aplicaciones!

JavaScript

Ya discutimos diferentes veces que siendo desarrolladores de JavaScript podemos aprovechar sus APIs, frameworks y bibliotecas, llevando el desarrollo web a dimensiones difíciles de imaginar hace poco años. Estas herramientas permiten desarrollar aplicaciones que interactúan con otros softwares, pero también con Hardware.

Node.js

Cuando Ryan Dahl creó Node.js, una plataforma Open Source que ayuda en el desarrollo de aplicaciones de alta escalabilidad, no creo que se imaginaba dónde podría llegar su lenguaje, y tan rápido. Lo cierto es que gracias a Node.js se han desarrollado un número infinito de aplicaciones e incluso los amantes de la robótica y al mismo tiempo desarrolladores web pueden aprovechar de dicha herramienta.

Node.js tiene una serie de módulos que permiten añadir funcionalidades, o mejorar la propia herramienta. Uno de estos módulos, o biblioteca es el Johnny-five y puede que sea el más importante hablando de robótica.

Johnny-five es un modulo Open Source que pretende ser un framework base de programación, un kit para desarrollar proyectos de hardware. Sus APIs se comportan de forma "consistente en todas  las plataformas soportadas", permitiendo libertad de desarrollo. Jonny-five utiliza un protocolo llamado Firmata para comunicar con el microcontrolador a través de USB.

NodeBots

Los NodeBots son robots  basados en Arduino, una "plataforma de hardware libre" pensada para simplificar el desarrollo de proyectos interactivos", y son controlados por Node.js y Jhonny-five. Con NodeBots, programar un circuito de hardware se transforma en programar algo "muy similar" a programar una página web moderna. Para programar Arduino ya no necesitas aprender C o C++.

La comunidad "NodeBots" es cada día mayor y se realizan eventos dedicados a NodeBots en todo el mundo. Hay incluso el día Internacional de NodeBots.

Nodecopter

Estamos en la era de los drones. Con Node.js también es posible entrar en este mundo. NodeCopter.js es un evento de un día donde desarrolladores pueden programar y jugar con un Parrot AR Drone 2.0. Utilizando el módulo ar-drone y ejecutando un código simple, entre otras cosas los desarrolladores pueden hacer que el drone levante vuelo.

Cyclonjs

Cyclon.js es otro framework de JavaScript, módulo de Node.js, para la robótica y su objetivo también es el de poder pasar instrucciones de forma fácil  a robots y dispositivos a través de su API.  Cyclon.js soporta entre muchos otros, Arduino y ARDrone. Se puede ejecutar directamente desde un navegador, o utilizando alguna aplicación móvil de PhoneGap.

No sé si algún día las máquinas serán más inteligentes que los humanos, o tan eficientes como Baymax, el robot de los hermanos Hamada, lo cierto es que con más gente teniendo la posibilidad de desarrollar, estas tendrán seguramente características personales de más humanos.

Fuentes

Pruebas de navegador con BrowserSync

Artículo anterior

Frameworks MV* de JavaScript

Siguiente artículo
I help Organizations to use Technology to improve people's lives

También te puede interesar

Los mejores software para gestión de proyectos

3 Herramientas DevOps

Maquetar en Drupal 7: Funciones del Tema

CodyHouse