14 diciembre, 2019

Primeros pasos con Johnny Five y Arduino

¿Qué es?

Johny Five

En este tutorial vamos a aprender a utilizar Johnny Five, un paquete npm que nos ofrece una capa de abstracción del hardware (en nuestro caso, Arduino Uno) para controlarlo desde nuestra aplicación con NodeJS.

La página oficial de Johnny Five se encuentra en:

http://johnny-five.io/


¿Qué hardware necesito?

Necesitamos:

  • Una placa Arduino. Yo uso las de marca Elegoo, que me dan buen resultado y son baratas. Para más información, podéis consultar la entrada Primeros pasos con Arduino.
  • Un led, que conectaremos tal y como se indica en el punto anterior.
  • Un cable USB para conectar la placa Arduino al ordenador.

¿Cómo cargo el Sketchbook en Arduino?

Una vez abierto el IDE de Arduino, nos vamos a «Archivo -> Ejemplos -> Firmata -> StandarFirmata». A continuación, vamos a cargar en nuestra placa el código, pulsando el botón de «Cargar»

Cargar Firmata
Cargar firmata

Una vez cargado, debería aparecernos en la pantalla de resultados (en negro) el mensaje: «El Sketch usa 12438 bytes (38%) del espacio de almacenamiento de programa. El máximo es 32256 bytes. Las variables Globales usan 1117 bytes (54%) de la memoria dinámica, dejando 931 bytes para las variables locales. El máximo es 2048 bytes.». Si aparece algún error, puede ser debido a que no hayas seleccionado la tarjeta correcta, no esté bien conectada o no hayas especificado el puerto correcto. Si el error persiste, puedes dejarme un comentario y trataré de ayudarte.

Ahora, es importante que cierres el IDE de Arduino, ya que si no, no podremos conectarnos a la placa más adelante.

¿Cómo configuro el proyecto?

Una vez conectada la placa con el firmware cargado, creamos nuestra aplicación NodeJS (se asume que se ha instalado según indica en la sección de descargas de la web oficial):

mkdir hi-johny-five
cd hi-johny-five
npm init

Nos preguntará varias cosas, como el nombre del paquete o el autor del mismo. A elección del usuario queda rellenarlos, o simplemente darle a «Enter» hasta finalizar.

Necesitamos añadir al proyecto la dependencia del repositorio npm:

npm install --save johnny-five

Ahora ya tenemos creado un proyecto con Johnny Five y podemos empezar a desarrollar.

¿Por dónde empiezo el desarrollo?

Ahora, con nuestro IDE preferido, crearemos el archivo «index.js» dentro de «hi-johny-five». Escribiremos el siguiente código:

const five = require("johnny-five");

console.log('Hi Johnny Five from diegorys.es');

const board = five.Board();
board.on("ready", () => {
    console.log('The board is ready!');
    const led = new Led(13);
    led.blink();
    console.log('The led is blinking!');
});

Podemos ejecutarlo mediante:

node index.js

Si detecta correctamente la placa, el led empieza a parpadear y veremos el siguiente mensaje:

Hi Johny Five from diegorys.es
1574100582391 Available /dev/ttyACM0  
1574100582396 Connected /dev/ttyACM0  
1574100586233 Repl Initialized  
The board is ready!
The led is blinking!    

Si estamos trabajando en Linux, es posible que nos salga el siguiente error:

1574100413840 Error Error: Permission denied, cannot open /dev/ttyACM0 

Esto es debido a que un usuario normal, no tiene permisos para acceder a los dispositivos USB. Podemos solucionarlo ejecutando el script como superusuario:

sudo node index.js

El código lo tengo compartido en mi cuenta de GitHub:

https://github.com/diegorys/hi-johnny-five

Finalizado este tutorial básico, ya somos capaces de instalar y utilizar Johnny Five. En próximos tutoriales, conectaremos diferentes componentes electrónicos a Arduino y los manejaremos usando este paquete. Podéis sugerir en los comentarios por cuál os gustaría que empezase.

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies