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
- Pagina ufficiale del nodo: https://flows.nodered.org/node/node-red-contrib-johnny5
- GitHub Repository: https://github.com/hreichert/node-red-contrib-johnny5
- Documentazione Johnny-Five: http://johnny-five.io/api/
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
- Carichi lo sketch
StandardFirmata
su Arduino - Collegi Arduino al computer via USB
- Usi un programma esterno (es. Node-RED con
node-red-contrib-johnny5
) per leggere e scrivere sui pin
- Pagina ufficiale Arduino Firmata: https://docs.arduino.cc/retired/hacking/software/FirmataLibrary/