research i - chapter 1 update - maggie nelson
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