Wiring (development platform)

WiringDeveloper(s)| Hernando Barragán, Brett Hagman, and Alexander Brevig

|

Stable release|

1.0 (0100) / 18 October 2011; 14 years ago (2011-10-18)[1]

Type| Software framework, integrated development environment
License| LGPL or GPL license
Website| wiring.org.co

Wiring is an open-source electronics prototyping platform composed of a programming language, an integrated development environment (IDE), and a single-board microcontroller. It was developed starting in 2003 by Hernando Barragán.

Barragán started the project at the Interaction Design Institute Ivrea. The project is currently developed at the School of Architecture and Design at the Universidad de Los Andes in Bogotá, Colombia.

Wiring builds on Processing, an open project initiated by Casey Reas and Benjamin Fry, both formerly of the Aesthetics and Computation Group at the MIT Media Lab.

The documentation was created with software designers and artists in mind.[citation needed] Project experts, intermediate developers, and beginners from around the world share ideas, knowledge and their collective experience as a project community. Wiring makes it easy to create software for controlling devices attached to the electronics board to create all kinds of interactive devices. The concept of developing is to write a few lines of code, connect a few electronic components to the Wiring hardware and observe, for example, that a motion sensor controls a light when a person approaches it, write a few more lines, add another sensor, and see how this light changes when the illumination level in a room decreases. This process is called sketching with hardware; explore ideas quickly, select the more interesting ones, refine and produce prototypes in an iterative process.

## Contents

* 1 Software
* 2 Open-source hardware and software
* 3 Related projects
* 3.1 Processing
* 3.2 Arduino and Fritzing
* 4 See also
* 5 Sources
* 6 External links

## Software

The Wiring IDE is a cross-platform application written in Java which is derived from the IDE made for the Processing programming language. It is designed to introduce programming and sketching with electronics to artists and designers. It includes a code editor with features such as syntax highlighting, brace matching, and automatic indentation capable of compiling and uploading programs to the board with a single click.

The Wiring IDE includes a C/C++ library called "Wiring", which makes common input/output operations much easier. Wiring programs are written in a dialect of C and C++. A minimal program requires only two functions:

* `setup()`: a function run once at the start of a program which can be used to define initial environment settings.
* `loop()`: a function called repeatedly until the board is powered off or reset.

A typical first program for a developer using a microcontroller is to blink a light-emitting diode (LED) on and off. In the Wiring environment, the user might write a program like this:

int ledPin = WLED;               // a name for the on-board LED

void setup () {
pinMode(ledPin, OUTPUT);      // configure the pin for digital output

void loop () {
digitalWrite(ledPin, HIGH);   // turn on the LED
delay (1000);                 // wait one second (1000 milliseconds)
digitalWrite(ledPin, LOW);    // turn off the LED
delay (1000);                 // wait one second

When the user clicks the "Upload to Wiring hardware" button in the IDE, a copy of the code is written to a temporary file including a standard header file at the file beginning, and a simple main function appended.

The Wiring IDE uses the GNU toolchain and AVR Libc to compile programs, and uses avrdude to upload programs to the board.

## Open-source hardware and software

The Wiring hardware reference designs are distributed under a Creative Commons Attribution Share-Alike 2.5 license and are available on the Wiring Web site. Layout and production files for the Wiring hardware are also available. The source code for the IDE and the hardware library are available and released under the GPLv2

## Related projects

### Processing

Wiring was based on the original work done on Processing project in MIT.

### Arduino and Fritzing

Wiring and Processing have spawned another project, Arduino, which uses the Processing IDE, with a simplified version of the C++ language, as a way to teach artists and designers how to program microcontrollers. There are now two separate hardware projects, Wiring and Arduino, using the Wiring environment and language.

Fritzing is another software environment within this family, which supports designers and artists to document their interactive prototypes and to take the step from physical prototyping to actual product.

## See also

* BASIC Stamp
* Gumstix
* Make Controller Kit
* OOPic
* PICAXE
* Rabbit Semiconductor
* Tinkerforge

## Sources

* Reas, Casey; Fry, Ben; Maeda, John (September 30, 2007), Processing: A Programming Handbook for Visual Designers and Artists (1st ed.), The MIT Press, pp. 736, ISBN 0-262-18262-9, http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=11251
* Igoe, Tom (September 28, 2007). Making Things Talk: Practical Methods for Connecting Physical Objects (1st ed.). O'Reilly Media. pp. 432. ISBN 0-596-51051-9. http://oreilly.com/catalog/9780596510510/.
* Noble, Joshua (July 15, 2009). Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFramework (1st ed.). O'Reilly Media. pp. 768. ISBN 0-596-15414-3. http://oreilly.com/catalog/9780596800581/.

1. ↑ "Previous Releases". Wiring.org.co. http://wiring.org.co/download/. Retrieved January 5, 2011.

## External links

* Processing.org
* Arduino
* Fritzing

* v
* t
* e

Ambient intelligence

Concepts|

* Context awareness
* Internet of things
* Object hyperlinking
* Profiling
* Spime
* Supranet
* Ubiquitous computing
* Web of Things
* Wireless sensor networks

Technologies|

* 6LoWPAN
* ANT+
* DASH7
* IEEE 802.15.4
* Internet 0
* Machine to machine
* Radio-frequency identification
* Smartdust
* XBee

Platforms|

* Arduino
* Contiki
* Electric Imp
* Gadgeteer
* ioBridge
* Netduino
* Raspberry Pi
* TinyOS
* Wiring
* Xively
* NodeMCU

Applications|

* Ambient device
* CeNSE
* Connected car
* Home automation
* HomeOS
* Internet refrigerator
* Nabaztag
* Smart city
* Smart TV
* Smarter Planet

Pioneers|

* Kevin Ashton
* Gaetano Borriello
* Adam Dunkels
* Stefano Marzano
* Don Norman
* Roel Pieper
* Josef Preishuber-Pflügl
* John Seely Brown
* Bruce Sterling
* Mark Weiser

Other|

* Ambient Devices
* AmbieSense
* Ebbits project
* IPSO Alliance

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Wiring_(development_platform)&oldid=684655"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template