research i - chapter 1 update - maggie nelson

Upload: mitfall2010studio

Post on 10-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    1/27

    Physical Computing and Sensing:

    An Introduction

    CH.09 CH.08 CH.07 CH.06 CH.05 CH.04 CH.03 CH.02 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    2/27

    Physical Computing and Sensing

    CH.01 CH.02 CH.03 CH.04 CH.05 CH.06 CH.07 CH.08 CH.09

    CH 09 CH 08 CH 07 CH 06 CH 05 CH 04 CH 03 CH 02 CH 01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    3/27

    A wireless router/modem, an example of

    an embedded system.

    The Atmega32 micontroller

    http://www.at

    mel.com/dyn/products/produc

    t_card.asp?part_

    id=2014

    http://www.maplin.co.u

    k/

    Embedded Computation:

    Introduction

    The term Embedded Computation refers to

    computer systems designed to perform one or a few

    dedicated functions, usually embedded as part of a

    complete device often including hardware and me-

    chanical parts. Embedded systems control many

    devices in common use today, ranging from digitalwatches and MP3 players to large stationary instal-

    lations like trafc lights and factory controllers. Often

    used with real-time computing constraints, embedded

    systems are not always standalone devices; instead,

    many consist of small, computerized parts within a

    larger device that serves a more general purpose.

    CH.09 CH.08 CH.07 CH.06 CH.05 CH.04 CH.03 CH.02 CH.01

    Microcontrollers

    A microcontroller is a small computer on a single

    integrated circuit containing a processor core, memo-

    ry, and programmable input/output peripherals. Micro-

    controllers are designed for embedded applications,in contrast to the microprocessors used in personal

    computers or other general purpose applications. By

    reducing the size and cost compared to a design that

    uses a separate microprocessor, memory, and input/

    output devices, microcontrollers make it economical

    to digitally control a wide range of devices and pro-

    cesses.

    CH 01 CH 02 CH 03 CH 04 CH 05 CH 06 CH 07 CH 08 CH 09

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    4/27

    Arduino Duemilanove

    Arduino BT

    http://arduino

    .cc/en/Main/Hardware

    http://arduino.cc/en/Main

    /Hardware

    Embedded Computation:

    Microcontrollers

    In the context of this course, single-board mi-

    crocontrollers are the most relevant for use. Arduino

    is one popular type of open-source hardware and soft-

    ware, which comes in a variety of models of different

    sizes and capabilites. The following is a list of the Ar-

    duino boards currently sold, with a short description ofeach one.

    Duemilanove: meaning 2009 in Italian, this

    board is named after the year of its release, and is the

    latest in a series of USB Arduino boards. It contains

    everything needed to support the microcontroller; sim-

    ply connect it to a computer with a USB cable or power

    it with a AC-to-DC adapter or battery to get started.

    Mega: a larger option with more input/outputs,

    the Mega Arduino has 54 digital input/output pins (of

    which 14 can be used as PWM outputs), 16 analog

    inputs, 4 UARTs (hardware serial ports), a 16 MHz

    crystal oscillator, a USB connection, a power jack, an

    ICSP header, and a reset button.

    BT: a microcontroller board based on the ATme-

    ga168 (datasheet) and the Bluegiga WT11 bluetooth

    module, which supports wireless serial communication

    over bluetooth.

    Mini: a smaller microcontroller board intended

    for use on breadboards and when space is at a premi-

    um. It can be programmed with the Mini USB adapter

    or other USB or RS232 to TTL serial adapter.

    CH.01 CH.02 CH.03 CH.04 CH.05 CH.06 CH.07 CH.08 CH.09

    CH 09 CH 08 CH 07 CH 06 CH 05 CH 04 CH 03 CH 02 CH 01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    5/27

    Lilypad Arduino

    Arduino Pro

    http://arduino

    .cc/en/Main/Hardware

    http://arduino.cc/en/Main

    /Hardware

    Embedded Computation:

    Microcontrollers

    Nano: a small, complete, and breadboard-

    friendly board. It has more or less the same functional-

    ity of the Arduino Duemilanove, but in a different pack-

    age. It lacks only a DC power jack, and works with a

    Mini-B USB cable instead of a standard one.

    LilyPad: designed for wearables and e-textiles,

    this microcontroller can be sewn to fabric and similarly

    mounted power supplies, sensors and actuators with

    conductive thread.

    Fio: intended for wireless applications, users

    can upload sketches with an a FTDI cable or Spark-

    fun breakout board. Additionally, by using a modiedUSB-to-XBee adaptor such as XBee Explorer USB,

    the user can upload sketches wirelessly. The board

    comes without pre-mounted headers, allowing for vari-

    ous types of connectors or direct soldering of wires.

    Pro: with a wider variety of connectors, this

    model is intended for semi-permanent installation in

    objects or exhibitions. The board comes without pre-mounted headers, allowing the use of various types of

    connectors or direct soldering of wires. The pin layout

    is compatible with Arduino shields. The 3.3V versions

    of the Pro can be powered with a battery.

    Pro Mini: like the larger version, this model is

    intended for semi-permanent installation. The pin lay-

    out is compatible with the Arduino Mini. There are two

    versions of the Pro Mini, which run at 3.3V and 8 MHz,

    and at 5V and 16 MHz respectively.

    CH.09 CH.08 CH.07 CH.06 CH.05 CH.04 CH.03 CH.02 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    6/27

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    7/27

    Boarduino

    Xbee Shield

    http://www.sparkfun.com/commerce/produ

    ct_info.p

    hp?products_

    id=9588

    http://www.solarbotics.co

    m/products/18940/

    Embedded Computation:

    Microcontroller Shields

    Shields are printed circuit boards which sit atop

    an Arduino or a clone and plug into the normally sup-

    plied pin-headers. These are expansions to the base

    Arduino to extend the possible actuators, sensors, and

    functionalities of Arduino. Sheilds can have any one of

    many functions, from motor controls to breadboarding(prototyping).

    The following is a rundown of many types of

    common shields available for Arduino. As there are

    so many different types, this is by no means an ex-

    haustive list, and more information can be found

    online at http://www.arduino.cc/playground/Main/

    SimilarBoards#goShie

    Boarduino: a mini Arduino clone that sits di-

    rectly on the breadboard, eliminating the need for

    wiring between the two. The main difference from a

    standard Arduino is that it does not have an on-board

    USB-to-TTL converter. It uses a 5-pin interface that is

    designed to match the FTDI TTL-232R USB-to-TTLcable, or other serial-to-TTL converter.

    Xbee Shield: allows an Arduino board to com-

    municate wirelessly using Zigbee, up to 100 feet in-

    doors or 300 feet outdoors (with line-of-sight). It can

    be used as a serial/usb replacement or you can put it

    into a command mode and congure it for a variety of

    broadcast and mesh networking options.

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

    CH.02 CH.03 CH.04 CH.06 CH.07 CH.08 CH.09CH.01 CH.05

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    8/27

    Rugged Circuits Gadget Shield

    LCD Shield

    http://www.criticalvelocity.com/item.p

    hp?ite

    mid=shield9)

    http://www.ruggedcircuits.com/html/gadget_shield.h

    tm

    l

    research topic:

    Microcontroller Shields

    Rugged Circuits Gadget Shield: an add-on

    (shield) for the GATOR, Arduino Duemilanove, and

    Arduino Mega boards, extending the functionality of

    the board by adding several interesting sensors and

    actuators. Fully assembled and ready to go, this shield

    comes complete with 3-axis accelerometer, an IR de-tector, an IR emitter, high-brightness RGB LED, infra-

    red LED, two thumbwheel potentiometers, two push-

    buttons, four LEDs, and one visible light sensor.

    LCD Shield: open source, allows you to easily

    connect a character LCD to the Arduino, includes a

    speaker, a push button and prototyping space.

    rMP3 Playback Module: Play sounds/music

    and read/write data from SD cards.

    TellyMate Shield: TV-Out from your Arduino,

    uses the serial output of the Arduino to control a 38x25

    character display on a PAL or NTSC TV.

    Button Shield: a shield with 32 buttons, mode

    A and mode B, a space bar, and a shift key with dual

    inline LEDs. It lets you turn the Arduino into a hand-

    held, portable microcontroller computer, or gadget.

    Propellurino: a shield with open source soft-

    ware with a multicore processor; different interfaces

    allow you to use as a synthesizer with Arduino, to dis-

    play data on a VGA screen, and more.

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    9/27

    TellyMate Shield

    Propellurino

    http://www.hobby-roboter.de/forum/viewtopic.p

    hp?f=5&t=72

    http://www.batsocks.co.u

    k/products/Shields/TellyMate%20Shield.h

    tm

    rMP3 Playback Module

    Button Shield

    http://www.liquidware.com/shop/show/BUT

    /ButtonShield

    http://www.roguerobotics

    .com/products/electronics/rmp3

    CH.01 CH.02 CH.03 CH.04 CH.06 CH.07 CH.08

    CH.01 CH.05

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    10/27

    6-pack Shield

    DoubleTall Extender Shield

    http://www.liquidware.com/shop/show/DTX

    /DoubleTall+ExtenderShield

    http://www.takeawayfest

    ival.com/node/257

    Microcontroller Shields

    6-pack: an Arduino shield consisting of 6 linear

    potentiometer sliders that can be assigned to different

    variables in the users preferred software. It can be

    used to control a wide array of audio/video applica-

    tions, from software synthesizers to HDJ systems. All,

    with a minimal footprint (3,5 x 2,5) at a fraction of thecost of an equivalent MIDI interface.

    DoubleTall Extender Shield: Put 2 shields on

    the Arduino at once with this piece of hardware. Plug

    in an Arduino to the underside and it replicates all of

    the pins in two locations. The pin replicators keep ev-

    erything connected.

    Adafruit Servo/Stepper/DC Motor shield:

    A shield that can control 2 hobby servos and up to 2

    unipolar/bipolar stepper motors or 4 bi-directional DC

    motors at one time.

    Input Shield: buttons, a joystick, and an A-B

    selector switch for making games or controlling robots.

    Battery Shield: connects to the back of the Ar-

    duino, with a USB-rechargable lithium ion battery that

    can power an Arduino for 14-28 hours.

    Adafruit XPort/Ethernet shield: allows use of

    an XPort module for connecting to the Internet as a

    client or server.

    Embedded Computation:

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    11/27

    Input Shield

    Xport/Ethernet Shield

    http://www.la

    dyada.net/make/eshield/

    http://www.l

    iquidware.com/shop/show/INPT/InputShield

    Servo/Stepper/DC Motor Shield

    Lithium Backpack Battery Shield

    http://www.liquidware.com/shop/show/BP/Lithium+BackPack

    http://www.ladyada.net/m

    ake/mshield/

    CH.02 CH.03 CH.04 CH.06 CH.07 CH.08 CH.09CH.01 CH.05

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    12/27

    RFIDuino Shield

    TouchShield Stealth

    http://www.liquidware.com/shop/show/TS/TouchShield+Stealth

    http://rfd.m

    arcboon.c

    om

    /#category2

    Embedded Computation:

    Microcontroller Shields

    RFIDuino: Reads and writes 13.56MHz ISO-

    14443A (Mifare) RFID tags. Available as an easy-to-

    solder kit, through-hole only. RFIDuino mounts up-

    side-down on top of a Arduino, and has an integrated

    antenna.

    TouchShield Stealth: a 128128 pixel OLED

    screen on a PCB shield. It is Arduino-ready and brings

    advanced I/O capabilities to the Arduino platform.

    Compiling and uploading to the TouchShield is done

    through a one-click button in the Arduino Environment,

    making it easy to write touch-interface applications.

    Adafruit Wave shield: Plays any size 22KHz

    audio les from an SD memory card for music, effects

    and interactive sound art.

    GPS & Datalogging shield: Connects up a

    GPS module and can log location, time/date as well

    as sensor data to an SD memory ash card.

    pHduino: a pH meter using Arduino board for

    pH measurements with a glass electrode.

    ServoShield: uses two 4017 decade counters

    to drive up to 16 servos using only 4 pins (digital pins

    6 to 9) and as little as one 8bit timer in standard mode

    or two 16/8bit timers in high accuracy mode.

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    13/27

    Adafruit Wave Shield

    pHduino

    http://code.g

    oogle.com/p/phduino/

    http://www.a

    dafruit.com/index.p

    hp?main_

    page=product_

    info&products_

    id=94

    Adafruit GPS + Datalogging Shield

    Servo Shield

    http://www.renbotics.com/

    http://www.ladyada.net/m

    ake/gpsshield/

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    14/27

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    15/27

    9-volt Battery + Arduino

    H-Bridge Motor Controller

    http://electro

    nics.d

    ivinechildhighschool.org

    /Home/Arduino-Lessons/h-

    bridge

    http://transformativedesign.p

    bworks.com/Arduino-Tuto

    rial-2%3A-

    Switches-and-LEDs

    Power Management

    Many options exist to manage power supply to

    Arduino, including sheilds, external batteries, external

    DC power supplies, relays, and even solar power. The

    following is a summary for each of these possibilities.

    External batteries: shields are available to con-nect external batteries to Arduino. Standard AA or 9V

    are popular options, and its possible to use recharge-

    able batteries to extend their utility. Rechargeable gel

    cell batteries, which can supply power for 60-70 hours,

    are another option, though their bulk makes them less

    useful for mobile applications.

    External plug-ins: DC power supply can han-

    dle 110V-220V, to supply Arduino board with a maxi-

    mum of 25V. User forums have suggested that running

    external DC power at less than 9V may make Arduino

    unstable, although there is not much documentation

    to support this claim. An external DC power supply is

    necessary to run some peripherals, especially in the

    case of multiple servos, LCDs or LEDs.

    H-Bridge: An h-bridge motor controller is very

    useful for two purposes: one is to control two motors

    at the same time, the other is to be able to reverse the

    direction of the motors at will. This sort of component

    would come in handy if you were working on anything

    that you wanted to go back and forth or any two sepa-

    rate directions, especially in order to switch the power

    on and off hundreds of times per second.

    Embedded Computation:

    CH.02 CH.03 CH.04 CH.06 CH.07 CH.08 CH.09CH.01 CH.05

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    16/27

    Power Relay Circuit Diagram

    http://blog.m

    akezine.com/archive/2009/02

    /connecting_

    a_

    relay_

    to_

    ar-

    duino.h

    tml

    Power Management

    Power relays: In short, a relay allows our rel-

    atively low voltage Arduino to easily control higher

    power circuits. A relay accomplishes this by using the

    5V outputted from an Arduino pin to energize an elec-

    tromagnet which in turn closes an internal, physical

    switch attached to the aforementioned higher powercircuit.

    The use of a power relay is strongly recom-

    mended for those interested in controlling wall pow-

    ered devices, due to their higher voltage and thus

    higher potential for damaging the user or the Arduino

    board. This leads to another signicant reason to use

    a relay -- for electrical isolation. The switching contactsof a relay are completely isolated from the coil, and

    hence from the Arduino.

    Wind Turbine Remote Arduino Power Meter:

    While this project cannot yet power Arduino with

    energy captured through wind power, it is moving in the

    right direction. The idea is to log the amount of power

    generated from the wind turbine and have the data au-

    tomatically be uploaded online where it can graphed.

    The power meter works by reading the current ow-

    ing from the turbine using a Hall Effect current sen-

    sor, which outputs a voltage that can then be read by

    the Arduinos analog to digital input. The Arduino then

    sends the data through the Internet to a server, which

    reads the data and stores it in a database so graphs

    can be created. More information can be found here:

    http://www.danlampie.com/?p=452

    Embedded Computation:

    Power Relay Circuit on Arduino

    http://bridell.com/switching-and-reversing-arduino-rela

    y-shield/

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    17/27

    Experimental Solar-Capture device

    http://www.funwitharduino.com/sun-tracking-solar-powered-arduino.

    html

    Solar Cell + Battery for Arduino

    http://www.nuelectronics.com/estore/index.p

    hp?main_

    page=product_info&products_

    id=13

    Power Management

    Solar Power for Arduino: Commercial-avail-

    able solar-powerd units for Arduino are now on market.

    This 9V Solar & battery power supply, at right, is spe-

    cially designed for Arduino and other microcontroller

    project alike. It can be used as a portable power sup-

    ply, and is capable of delivering 9V, 500mA power. Itcan be charged by your PCB USB port or by sun-light

    or in-door light sources.

    Some experiements have also been made with

    solar tracking for Arduino, which would enable the use

    of solar collectors for more efcient power storage.

    For the most part, current work in this area has been

    by individuals hacking certain systems to create theirowe low-cost trackers; however, given that the above

    solar cell and battery is now commericially available,

    a consumer-grade solar tracker system may not be far

    behind.

    Embedded Computation:

    CH.02 CH.03 CH.04 CH.06 CH.07 CH.08 CH.09CH.01 CH.05

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    18/27

    Texas Instruments Multiplexer

    Sparkfun MUX Breakout Board

    http://www.s

    parkfun.com/commerce/product_info.p

    hp?products_

    id=9056

    http://www.sparkfun.com

    /commerce/product_info.p

    hp

    ?products_

    id=299

    Embedded Computation:

    Multiplexing

    Controlling large number of elements with one

    13-pin arduino might seem a challenge, but is possiblt

    through multiplexing. This is a process where multiple

    analog message signals or digital data streams are

    combined into one signal over a shared medium. The

    aim is to share an expensive resource. For example,in telecommunications, several phone calls may be

    transferred using one wire. It originated in telegraphy,

    and is now widely applied in communications.

    The Arduino website discusses the use of a

    Multiplexer in combination with a Demultiplexer to re-

    distribute signals: http://www.arduino.cc/playground/

    Learning/4051

    One example of this device is the Texas Instru-

    ments CD74HC4067 16-Channel multiplexer, which

    takes an analog to digital reading from 16 devices with

    only 1 ADC channel and 4 control pins. Sparkfun also

    makes a breakout board for this multiplexer, which al-

    lows for easier access to each channel input. These

    parts are both a very economical solution to control-

    ling more than 12 devices from an Arduino board; the

    Multiplexer itself costs less than $1, while the breakout

    board with multiplexer already soldered on is about $4.

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    19/27

    Maxuino environment

    Firefy Toolbar and Primer document

    http://www.freyexperiments.c

    om/

    http://vjanomolee.multip

    ly.com/journal/item/1/SUCCESS-Arduino2Max-

    msp_

    wMaxuino

    Embedded Computation:

    Scripting Platforms for Arduino

    MaxMSP: Max is a visual programming lan-

    guage for music and multimedia, widely used by com-

    posers, performers, researchers, and artists for cre-

    ating innovative recordings and installations. As an

    extension to Max, MSP (Max Signal Processing), it

    allows real-time manipulation of digital audio signals,so users can create their own synthesizers and effects

    processors. Extensions such as Maxuino help Ardui-

    no talk to MaxMSP.

    Firefy is a set of software tools dedicated to

    bridging the gap between Grasshopper, the Arduino

    micro-controller, the internet and beyond. It allows

    near real-time data ow between the digital and physi-

    cal worlds, and will read/write data to/from internet

    feeds, remote sensors and more.

    Python: using an interpreter library, one can

    write code in the high-level Python language, then up-

    load it to Arduino.

    RAD: Ruby Arduino Development is a frame-

    work for programming the Arduino physcial comput-

    ing platform using Ruby script. It converts Ruby scripts

    into C source code, which can be compiled and run

    on the Arduino microcontroller. The ability to write mi-

    crocontroller code in a high level dynamic language

    like Ruby allows use of development aids the users of

    Ruby have come to expect: developer testing, platform

    independence, easy metaprogramming, etc.

    CH.02 CH.03 CH.04 CH.06 CH.07 CH.08 CH.09CH.01 CH.05

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    20/27

    Scripting Platforms for Arduino

    RhinoScript: based on Microsofts VBScript

    language, this tool allows users to can quickly add

    functionality to Rhino, such as to automate repetitive

    tasks to quickly build 3d models and visualizations.

    RhinoScript follows a set of procedures, and the ability

    to control the ow of the script and incorporate user

    input is where it becomes particularly useful. Oftenused with Processing, where 3d visualizations can be

    exported to Rhino les for further customization and

    rendering.

    Lego ROBOLAB: Lego makes GUI software,

    with intuitive drap-and-drop features, called ROBO-LAB to teach schoolchildren how to program their

    Mindstorm robotic systems; however these robots can

    also be programmed with several high-level platforms

    for more advanced users.

    ActionScript: used primarily for the develop-

    ment of websites and software targeting on the AdobeFlash platform, on webpages in the form of embedded

    SWF les. In addition to web-based games and rich In-

    ternet applications with streaming media, it is suitable

    for some database applications and in basic robotics.

    PHP: Hypertext Preprocessor is a widely used,

    general-purpose scripting language that was originallydesigned for web development to produce dynamic

    web pages. As a general-purpose programming lan-

    guage, it may also function as a graphical application.

    Embedded Computation:

    Processing pattern for use in Rhino

    a Lego Mindstorm Robot

    http://minds

    torms.lego.com/en-us/products/default.aspx

    http://cat2.m

    it.e

    du/4.2

    07/bod

    y.html

    Other Scripting Platforms

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    21/27

    Platform Comparison

    Other Scripting Platforms

    HTML: HyperText Markup Language is the pre-

    dominant markup language for web pages and the

    building blocks of all basic websites. It allows images

    and objects to be embedded and can be used to cre-

    ate interactive forms and structured documents by

    denoting text elements. It can embed scripts in other

    languages to affect the behavior of HTML webpages

    Java: a general-purpose, class-based, object-

    oriented language that is specically designed to have

    as few implementation dependencies as possible. It is

    intended to let application developers write once, run

    anywhere. Java is extremely popular and is widely

    used from application software to web applications

    Basic: Beginners All-purpose Symbolic In-

    struction Code, a family of high-level programming

    languages. It remains popular through its inuence on

    several highly modied dialects and new languages,

    such as Microsoft Visual Basic, which enables the rap-

    id application development of graphical user interface

    (GUI) applications. ZBasic is another subset which has

    useful extensions for microcontroller programming.

    C: a general-purpose computer programming

    language widely used for developing portable appli-

    cation software, including embedded system applica-

    tions. It is a popular choice due to its code portabil-

    ity and efciency, ability to match externally imposed

    data access requirements, and low runtime demand

    on system resources, as well as its speed, stability,

    and near-universal availability.

    Embedded Computation:

    CH.02 CH.03 CH.04 CH.06 CH.07 CH.08 CH.09CH.01 CH.05

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    22/27

    Crowdsourcing diagram

    http://eclipsesource.com/blogs/2009/07/1

    3/crowdsourcing-docu-

    mentation-a

    t-eclipse/

    Sensing + Web 2.0

    Viral Sensing

    The term Viral Sensing refers to techniques

    that use pre-existing social networks to read activity

    data through self-replicating viral processes, analo-

    gous to the spread of pathological and computer

    viruses. Though data can be delivered via word-of-

    mouth, it tends to be enhanced by the network effectsof the Internet. Similar to viral marketing, viral sensing

    may take in data in the form of video clips, interac-

    tive games, user activities and interactions, images, or

    even text messages.

    Crowdsourcing

    Crowdsourcing is the act of outsourcing tasks,

    traditionally performed by an employee or contractor,

    to a large group of people or community (a crowd),

    through an open call. For example, the public may be

    invited to develop a new technology, carry out a design

    task (also known as community-based design and dis-

    tributed participatory design), rene or carry out the

    steps of an algorithm (see human-based computa-

    tion), or help capture, systematize or analyze large

    amounts of data.

    The term has become shorthand for the trend of

    leveraging the mass collaboration enabled by Web 2.0

    technologies to achieve business goals.

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    23/27

    Cloud Computing diagram

    GUI Widget example

    http://en.wi

    kipedia.org/wiki/File:Widgets.p

    ng

    http://en.w

    ikipedia.org

    /wiki/File:Cloud_

    computing.sv

    g

    Sensing + Web 2.0

    Mashups

    In Web development, a mashup is a Web page

    or application that uses and combines data, presenta-

    tion or functionality from two or more sources to create

    new services.

    The term implies easy, fast integration, fre-

    quently using open APIs and data sources to produceenriched results that were not necessarily the original

    reason for producing the raw source data.

    To be able to permanently access the data of

    other services, mashups are generally client applica-

    tions or hosted online. Since 2010, two major mashup

    vendors have added support for hosted deployment

    based on Cloud computing solutions.

    In the past years, more and more Web applica-

    tions have published APIs that enable software devel-

    opers to easily integrate data and functions instead of

    building them by themselves. Mashups can be consid-

    ered to have an active role in the evolution of social

    software and Web 2.0. Mashups composition tools

    are usually simple enough to be used by end-users.

    They generally do not require programming skills, they

    rather support visual wiring of GUI widgets, services

    and components together. Therefore, these tools con-

    tribute to a new vision of the Web, where users are

    able to contribute to and benet from a wider array of

    information.

    CH.02 CH.03 CH.04 CH.06 CH.07 CH.08 CH.09CH.01 CH.05

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    24/27

    Twitter Data, visualized through APIs

    http://micha

    eldundas.com/images/blog/dnsQueryBubble1.png

    Interactive/Online Platforms

    Scripting specialist and blogger Marc Andrees-

    sen has written an interesting post in which he catago-

    rizes internet platforms into three levels (see diagram

    at right). This logic is interesting as it relates to the

    web as an interactive platform where developers can

    acquire code for popular websites and networks. Oneway to do this is through APIs (Application program-

    ming interface). It facilitates interaction between dif-

    ferent software programs similar to the way the user

    interface facilitates interaction between humans and

    computers. An API is implemented by applications,

    libraries, and operating systems to determine their

    vocabularies and calling conventions, and is used to

    access their services.

    Services and networks like Twitter make their

    APIs available to allow other web services and ap-

    plications to integrate with them; Flickr, Facebook, Ya-

    hoo, Google Maps and Google Earth all to the same,

    permitting access to gather data from these sites for

    use in applications such as visualizations.

    In addition to use of APIs, Postgres is another

    open source data management tool that incorporates

    administrative aspects to help companies manage

    their sites. PostgreSQL, often simply Postgres, is an

    object-relational database management system (OR-

    DBMS) controlled by a global community of develop-

    ers and companies develops the system. Some prom-

    inent users of the system include Yahoo!, MySpace,

    OpenStreetMap, Sony Online, hi5.com, and Skype.

    Sensing + Web 2.0

    platforms apps run elsewhere, and

    calls into the platform via a web

    services API to draw on data and

    services. Ex: Flickr

    platforms apps run elsewhere, but

    inject functionality into the platform

    via a plug-in API. Ex: Facebook

    platforms apps run inside the platform

    itself the platform provides the

    runtime environment within which

    the apps code runs.

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    25/27

    Interactive/Online Platforms

    Similar to APIs and Postgres, Pachube is a

    data brokerage platform for the internet of things, man-

    aging millions of datapoints per day from thousands

    of individuals, organisations & companies around the

    world. It enables you to store, share & discover real-

    time sensor, energy and environment data from ob-jects, devices & buildings around the world.

    Apart from enabling direct connections between

    any two devices, objects or environments, it can also

    be used to facilitate many-to-many connections: just

    like a physical patch bay, Pachube enables any

    things to plug-in to other things in real time so that,

    for example, buildings, interactive environments, net-

    worked energy meters, virtual worlds and mobile sen-

    sor devices can all talk and respond to each other.

    Pachube also works with Java, Processing, and

    Arduino through the EEML library for Processing (see

    sample code at right), which enables simple creation,

    access and manipulation of EEML documents. With

    the EEML library it is easy to set up connections to

    Pachube in order to:

    link Processing sketches across networks;

    use Arduino to share real time sensor data;

    connect Processing sketches to real time sen-

    sor data from around the world;

    make Processing sketches respond to and

    control Second Life environments;

    log/graph Processing variables;

    Additionally, there is a Pachube to Arduino ap-

    plication called Pachuino, which may be quicker and

    simpler than using the EEML library alone.

    Sensing + Web 2.0

    import processing.serial.*;import cc.arduino.*;

    import eeml.*;

    import pachuino.*;

    Pachuino p;

    void setup(){

    p = new Pachuino(this, Arduino.list()[0],

    115200);

    p.manualUpdate("http://www.pachube.com/api/1153.xml"); // change URL -- this is the feed

    you want to update

    p.setKey("ENTER_PACHUBE_API_KEY_HERE");

    // local sensors

    p.addLocalSensor("analog", 0,"lightSensor");

    p.addLocalSensor("analog", 1,"temperature");

    p.addLocalSensor("digital", 2, "button");

    p.addLocalSensor("digital", 5, "button2");

    // remote sensors

    p.addRemoteSensor(504, "accesses");

    p.addRemoteSensor(1182, 0);

    p.addRemoteSensor("http://www.pachube.com/

    api/1228.xml", 2);

    p.addRemoteSensor("http://www.pachube.com/

    api/1136.xml", "blockameter");

    }

    void draw(){

    foat tempVal1 = p.localSensor[3].value;

    foat tempVal2 = p.remoteSensor[0].value;

    String tempTags1 = p.localSensor[0].tags;

    String tempTags2 = p.remoteSensor[1].tags;

    p.digitalWrite(10, 1);

    p.analogWrite(9, p.remoteSensor[0].value *

    10);

    //p.debug();

    }

    void onReceiveEEML(DataIn d){

    p.updateRemoteSensors(d);

    }

    CH.02 CH.03 CH.04 CH.06 CH.07 CH.08 CH.09CH.01 CH.05

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    26/27

    Data Visualization

    Data visualization is the study of the visual rep-

    resentation of data, meaning information which has

    been abstracted in some schematic form, including at-

    tributes or variables for the units of information.

    According to Friedman (2008) the main goal ofdata visualization is to communicate information clear-

    ly and effectively through graphical means. It doesnt

    mean that data visualization needs to look boring to

    be functional or extremely sophisticated to look beau-

    tiful. To convey ideas effectively, both aesthetic form

    and functionality need to go hand in hand, providing

    insights into a rather sparse and complex data set by

    communicating its key-aspects in a more intuitive way.

    Yet designers often fail to achieve a balance between

    design and function, creating gorgeous data visualiza-

    tions which fail to serve their main purpose to com-

    municate information.

    Data visualization is closely related to Infor-

    mation graphics, Information visualization, Scientic

    visualization and Statistical graphics. In the new mil-

    lennium data visualization has become active area

    of research, teaching and development. According to

    Post et al (2002) it has united the eld of scientic and

    information visualization.

    Sensing + Web 2.0

    Glocal Visualization

    Student list conversations map

    http://www.auscillate.com/itp/listview/images/listview.g

    if

    http://www.g

    loc

    al.ca/

    CH.09 CH.08 CH.07 CH.06 CH.04 CH.03 CH.02CH.05 CH.01

  • 8/8/2019 Research I - Chapter 1 Update - Maggie Nelson

    27/27

    Data Visualization

    Websites with further information on Data Visualization.

    Data Visualization: http://datavisualization.ch/

    Information Aesthetics: http://infosthetics.com/

    Flowing Data: http://owingdata.com/

    Visual Complexity: http://www.visualcomplexity.com/vc/

    Websites as graphs:

    http://www.aharef.info/static/htmlgraph/

    Poetry visualization:

    http://www.esono.com/boris/projects/poetry05/

    Newsmap: an application that visually reects the con-

    stantly changing Google News news aggregator. The

    size of data blocks is dened by their popularity at the

    moment. http://newsmap.jp/

    Voyage: an RSS-feader which displays the latest news

    in the gravity area. http://rssvoyage.com/

    Glocal: a collaborative, multifaceted artist-led project

    that examines the changing role of digital image making

    today. Glocal is particularly interested in exploring the

    construction and relevance of the unique or originary

    image in relation to the multiple or multitude.

    http://www.glocal.ca/

    Sensing + Web 2.0