Wiring
software

Schermata di esempio
Genere| Integrated development environment
Sviluppatore| Hernando Barragán, Brett Hagman e Alexander Brevig
Data prima versione| 2003
Ultima versione| 1.0 (0101) (28 ottobre 2014[1])
Sistema operativo| Multipiattaforma
Linguaggio| C++

Licenza| Software: GPL
Hardware: Creative Commons
(licenza libera)
Sito web| www.wiring.org.co
Modifica dati su Wikidata · Manuale

Wiring è una piattaforma di sviluppo open source composta da un linguaggio di programmazione, un ambiente di sviluppo integrato (Integrated Development Environment o IDE) e un circuito stampato basato su un microcontrollore. Il progetto Wiring è nato nel 2003 all'Interaction Design Institute Ivrea su iniziativa di Hernando Barragán. Attualmente è sviluppato presso la Scuola di Architettura e Design dell'Università de Los Andes di Bogotà, in Colombia.

Wiring è basato su Processing, un progetto open source creato da Casey Reas e Ben Fry, entrambi ex-membri dell'Aesthetics and Computation Group del MIT Media Lab.

Wiring è una piattaforma pensata per facilitare il compito di progettisti e artisti nella realizzazione di progetti interattivi come ad esempio l'accensione di luci o dispositivi all'approssimarsi di una persona al dispositivo sviluppato.[2]

## Software

[modifica | modifica wikitesto]

IDE di Wiring versione 1.00

L'ambiente di sviluppo (IDE) di Wiring è un'applicazione multipiattaforma scritta in Java derivato da quello del linguaggio di programmazione Processing. È progettato per risultare volutamente semplice, essendo destinato a introdurre alla programmazione e all'elettronica artisti e designer.[2] L'IDE include un editor di codice, dotato di evidenziazione della sintassi e delle parentesi e indentazione automatica, capace di compilare i programmi scritti e inviarli (upload) alla scheda di sviluppo con un semplice click.

L'IDE di Wiring è distribuito con una libreria in C/C++ chiamata anch'essa "Wiring", che offre al programmatore un modo semplice per accedere alle periferiche di input/output della piattaforma hardware. I programmi Wiring sono chiamati sketch e sono scritti in C/C++ e necessitano soltanto di due funzioni per poter essere eseguiti:

* `setup()` – funzione che viene eseguita una sola volta, all'avvio del programma, che può essere utilizzata per definire delle impostazioni del programma che non verranno più cambiate nel corso della sua esecuzione;
* `loop()` – funzione che viene richiamata continuamente, fino allo spegnimento del dispositivo.

## Esempio di codice

[modifica | modifica wikitesto]

Uno dei più semplici programmi eseguibili è quello che fa lampeggiare il LED integrato sulla scheda Wiring. Quello che segue è un esempio di codice che esegue tale compito:

const byte ledPin = WLED;        // WLED è una costante predefinita che indica il LED integrato

void setup () {
pinMode(ledPin, OUTPUT);      // viene definito il pin a cui è collegato il LED come "output"

void loop () {
digitalWrite(ledPin, HIGH);   // accende il LED
delay (1000);                 // attende 1 secondo (1000 millisecondi)
digitalWrite(ledPin, LOW);    // spegne il LED
delay (1000);                 // attende 1 secondo

La compilazione e l'invio dello sketch avvengono con un click sulla voce del menu "Upload to Wiring hardware" oppure sul corrispondente pulsante grafico dell'IDE. Prima della compilazione vera e propria il codice dello sketch viene copiato in un file temporaneo a cui viene aggiunto il file header che contiene la libreria Wiring mentre alla fine del codice viene aggiunta la funzione "main" per rendere lo sketch un programma in C/C++ valido.

L'IDE di Wiring si appoggia alla toolchain GNU e alle librerie AVR per compilare i programmi, e usa il software avrdude per eseguire l'upload dello sketch alla scheda.

## Open hardware e open source

[modifica | modifica wikitesto]

Gli schemi elettrici e i sorgenti dell'hardware del progetto Wiring sono distribuiti sotto licenza Creative Commons. Il codice sorgente dell'IDE e della libreria Wiring sono distribuiti sotto licenza GNU GPL.

## Progetti correlati

[modifica | modifica wikitesto]

### Processing

[modifica | modifica wikitesto]

L'IDE di Wiring è basato sul progetto Processing sviluppato al Massachusetts Institute of Technology (MIT).

### Arduino

[modifica | modifica wikitesto]

Wiring e Processing hanno generato un altro progetto simile, la piattaforma di sviluppo Arduino, che utilizza l'IDE di Processing insieme a un linguaggio di programmazione C/C++ semplificato basato su Wiring.

## Note

[modifica | modifica wikitesto]

1. ^ Area download di Wiring, su wiring.org.co, Wiring. URL consultato il 19/11/2015.
2. ^ a b Informazioni sul progetto Wiring, su wiring.org.co, Wiring. URL consultato il 15/04/2012.

## Voci correlate

[modifica | modifica wikitesto]

* Arduino (hardware)
* Processing

## Collegamenti esterni

[modifica | modifica wikitesto]

*   * (EN) Sito ufficiale, su wiring.org.co.
* Repository sorgenti di Wiring, su github.com.
* Sito internet del progetto Wiring, su wiring.org.co.
* Sito internet del progetto Processing, su processing.org.
* Sito internet del progetto Arduino, su arduino.cc.

Portale Informatica

Portale Ingegneria

Portale Software libero
*[EN]: inglese