JavaScript no mundo Embedded: da lâmpada à IoT

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

JavaScript no mundo Embedded: da lâmpada à IoT



Quando ouvimos "sistemas embarcados" (embedded systems), geralmente vêm à mente associações com linguagens C, C++ ou, na pior das hipóteses, Python no Raspberry Pi. Mas e se eu lhe dissesse que JavaScript — a mesma linguagem que você usa para frontend e backend — está cada vez mais presente no mundo dos microcontroladores, sensores e dispositivos inteligentes?



Sim, você não ouviu errado. Desenvolvimento embedded em JavaScript não é brincadeira, mas sim uma tendência real que ganha força graças ao surgimento de frameworks como Espruino e Johnny-Five. Hoje vamos entender como fazer seu "amigo de ferro" piscar LEDs, ler dados de sensores e enviá-los para a nuvem — tudo isso em JavaScript puro.



Por que JavaScript em embedded? Três razões de peso



Parece absurdo levar uma linguagem script para um mundo de recursos limitados? Aqui estão três argumentos que mudam essa visão:



  • Baixa barreira de entrada. Se você já conhece JS (e quem não conhece hoje em dia?), não precisa aprender C e lidar com ponteiros. Toda sua experiência — seja com frontend ou Node.js — é transferida para o hardware.
  • Prototipagem rápida. Escrever um firmware em JS pode ser feito em uma noite. Não é preciso esperar compilação ou regravação — muitas plataformas suportam carregamento ao vivo via Wi-Fi ou USB.
  • Ecossistema IoT. JavaScript se encaixa perfeitamente na arquitetura de dispositivos "inteligentes": você se integra facilmente com MQTT, HTTP, WebSockets e serviços em nuvem (AWS IoT, Google Cloud IoT).


Claro, para produção com requisitos rigorosos de consumo de energia e velocidade, C++ continua sendo o rei. Mas para protótipos, projetos de hobby e fins educacionais, o JavaScript embarcado é um verdadeiro achado.



Ferramentas: com o que trabalhamos



Antes de escrever código, vamos definir o "hardware". As opções mais populares para embedded com JS:



  • Espruino — microcontrolador que entende JavaScript "de fábrica". Funciona com STM32, possui interpretador JS integrado. Ideal para aprendizado.
  • Raspberry Pi Pico + Espruino — microcontrolador barato (apenas $4) no qual você pode carregar o firmware Espruino.
  • Johnny-Five + Arduino — clássico. Você escreve JS no computador, e o Johnny-Five controla o Arduino via protocolo Firmata. Adequado para quem já tem Arduino.
  • Node.js no Raspberry Pi (Linux completo) — se você precisa não apenas piscar um LED, mas também subir um servidor web, controlar GPIO e câmeras — escolha o Pi 4/5.


Neste artigo, focaremos em Espruino e Johnny-Five, pois eles oferecem a experiência mais pura em JS, sem camadas extras.



Escrevendo código: piscando um LED em JS



Vamos começar com o "Hello, World!" do mundo embedded — um LED piscando. Conecte um LED (com resistor de 220 Ohm) ao pino D13 no Espruino (ou ao pino 13 no Arduino).



Exemplo 1: Espruino (JS nativo)



// Conecta o pino D13 como saídavar led = LED1; // LED integrado no Espruino

// Função de piscarfunction blink() { led.toggle(); // Alterna o estado console.log('LED está', led.read() ? 'LIGADO' : 'DESLIGADO');}

// Define intervalo de 500 mssetInterval(blink, 500);


Carregue este código através do Espruino Web IDE (ou pelo terminal). O LED começará a piscar a 1 Hz. Observe: usamos setInterval — exatamente como no navegador ou Node.js. Nada de registradores, timers ou interrupções em C — apenas JS.



Exemplo 2: Johnny-Five + Arduino



Se você tem um Arduino, instale a biblioteca Johnny-Five via npm:



npm install johnny-five                

Blogs

Book Recommendations