JavaScript en el mundo Embedded: de la bombilla al IoT

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

JavaScript en el mundo Embedded: de la bombilla al IoT



Cuando escuchamos «sistemas embebidos» (embedded systems), normalmente nos vienen a la mente asociaciones con lenguajes como C, C++ o, en el peor de los casos, Python en Raspberry Pi. Pero, ¿y si le digo que JavaScript — ese mismo lenguaje con el que escribe frontend y backend — está penetrando cada vez más en el mundo de los microcontroladores, sensores y dispositivos inteligentes?



Sí, no oyó mal. El desarrollo embedded con JavaScript no es una broma, sino una tendencia de trabajo real que está ganando impulso gracias a la aparición de frameworks como Espruino y Johnny-Five. Hoy exploraremos cómo hacer que su «amigo de hardware» parpadee LEDs, lea datos de sensores y los envíe a la nube — todo ello en JavaScript puro.



¿Por qué JavaScript en embedded? Tres razones de peso



Podría parecer, ¿para qué llevar un lenguaje interpretado al mundo de los recursos limitados? He aquí tres argumentos que cambian la perspectiva:



  • Baja barrera de entrada. Si ya conoce JS (¿y quién no lo conoce hoy en día?), no necesita aprender C ni lidiar con punteros. Toda su experiencia — ya sea de frontend o Node.js — se traslada al hardware.
  • Prototipado rápido. Escribir un firmware en JS se puede hacer en una tarde. No hay que esperar compilaciones ni reprogramaciones — muchas plataformas soportan carga de código en vivo vía Wi-Fi o USB.
  • Ecosistema IoT. JavaScript encaja perfectamente en la arquitectura de dispositivos «inteligentes»: se integra fácilmente con MQTT, HTTP, WebSockets y servicios en la nube (AWS IoT, Google Cloud IoT).


Por supuesto, para producción con requisitos estrictos de consumo energético y velocidad, C++ sigue siendo el rey. Pero para prototipos, proyectos de hobby y fines educativos, el JavaScript embebido es un verdadero hallazgo.



Herramientas: con qué trabajamos



Antes de escribir código, definamos el «hardware». Las opciones más populares para embedded con JS son:



  • Espruino — un microcontrolador que entiende JavaScript «de fábrica». Funciona en STM32, tiene un intérprete de JS a bordo. Ideal para aprendizaje.
  • Raspberry Pi Pico + Espruino — un microcontrolador económico (solo $4) al que se le puede cargar el firmware de Espruino.
  • Johnny-Five + Arduino — un clásico. Usted escribe JS en su computadora, y Johnny-Five controla el Arduino mediante el protocolo Firmata. Adecuado para quienes ya tienen un Arduino.
  • Node.js en Raspberry Pi (Linux completo) — si necesita algo más que solo parpadear un LED, como levantar un servidor web, controlar GPIO y cámaras — elija Pi 4/5.


En este artículo nos centraremos en Espruino y Johnny-Five, ya que ofrecen la experiencia JS más pura sin capas intermedias innecesarias.



Escribimos código: parpadeo de un LED en JS



Empecemos con el «¡Hola, mundo!» del mundo embedded — un LED parpadeante. Conecte un LED (con una resistencia de 220 ohmios) al pin D13 en Espruino (o al pin 13 en Arduino).



Ejemplo 1: Espruino (JS nativo)



// Conectamos el pin D13 como salidavar led = LED1; // LED integrado en Espruino

// Función de parpadeofunction blink() { led.toggle(); // Cambiamos el estado console.log('LED is', led.read() ? 'ON' : 'OFF');}

// Establecemos un intervalo de 500 mssetInterval(blink, 500);


Cargue este código a través de Espruino Web IDE (o mediante terminal). El LED comenzará a parpadear a una frecuencia de 1 Hz. Observe: usamos setInterval — exactamente igual que en el navegador o Node.js. Nada de registros, temporizadores o interrupciones en C — solo JS.



Ejemplo 2: Johnny-Five + Arduino



Si tiene un Arduino, instale la librería Johnny-Five mediante npm:



npm install johnny-five                

Blogs

Book Recommendations