Nodi per interfacciarsi con Arduino - BitMakerMan/Share_NodeRed_Flow GitHub Wiki

#node-red-contrib-johnny5

Descrizione

node-red-contrib-johnny5 è un set di nodi per Node-RED che permette di interfacciarsi facilmente con dispositivi hardware come Arduino, Raspberry Pi, BeagleBone e molti altri, grazie all’utilizzo della libreria JavaScript Johnny-Five.

Questo ti consente di:

  • Leggere e scrivere su GPIO (ingressi/uscite digitali e analogiche)
  • Gestire sensori, servo motori, display LCD, I2C e altro ancora
  • Eseguire codice JavaScript personalizzato direttamente nel flusso Node-RED

Caratteristiche principali

  • Supporto per: Arduino, Raspberry Pi, BeagleBone, Particle Core, LightBlue Bean, e molti altri
  • Nodi disponibili:
    • Digital Input / Output
    • Analog Input / Output
    • PWM
    • Servo Motor
    • I2C
    • Script personalizzati (esecuzione codice Johnny-Five inline)
  • Possibilità di comunicazione remota via TCP o MQTT
  • Integrazione completa con Node-RED

Link utili


ARDUINO E IL PROTOCOLLO FIRMTA:

🧠 Cos'è Firmata?

Firmata è un protocollo standardizzato per comunicare tra un microcontrollore (come Arduino) e software esterni (ad esempio Node-RED, Python, Pure Data, Max/MSP, ecc.) tramite una porta seriale.

🔧 In breve

Firmata ti permette di:

  • Controllare i pin GPIO: ingressi/uscite digitali e analogiche
  • Gestire segnali PWM (modulazione della larghezza d’impulso)
  • Comunicare con dispositivi I2C
  • Interfacciarti con Arduino senza dover riscrivere continuamente il firmware

Tutto questo da un sistema host come un Raspberry Pi o un PC.


💡 Come funziona

  • È implementato come libreria per Arduino
  • Usa un formato di comunicazione ben definito, simile ai messaggi MIDI
  • Permette a programmi esterni di inviare comandi diretti ai pin del microcontrollore

📦 A cosa serve?

Firmata è utile quando vuoi utilizzare Arduino come una periferica intelligente, controllata da un sistema esterno più potente, ad esempio:

  • Interfacciamento con Node-RED per automazioni IoT
  • Controllo grafico tramite Pure Data o Max/MSP
  • Lettura/senso di dati da sensori collegati ad Arduino, gestiti da Python o JavaScript

🛠️ Esempio di utilizzo comune

  1. Carichi lo sketch StandardFirmata su Arduino
  2. Collegi Arduino al computer via USB
  3. Usi un programma esterno (es. Node-RED con node-red-contrib-johnny5) per leggere e scrivere sui pin