SoftwareFreedomDay-S.. - The University of Sydney
Download
Report
Transcript SoftwareFreedomDay-S.. - The University of Sydney
SunSPOTs
At Sydney University
by Tim Dawborn
Agenda
What are SunSPOTs?
What are we doing with them?
Corona
SPOTCopter
What are SunSPOTs?
A SunSPOT is a small electronic device
made by Sun Microsystems
They have a variety of sensors
attached to it
SunSPOTs are programmed in a Java
dialect, with the Java VM run on the
hardware itself
(“bare metal”)
What are SunSPOTs?
Java “Squawk” VM
180 MHz 32bit ARM920T core
512K RAM
4Mb Flash Memory
2.4 GHz IEEE 802.15.4 radio
USB interface
2G/6G 3-axis accelerometer
Temperature, light, touch sensors
5 IO pins and 4 output only pins
What are SunSPOTs?
SunSPOTs communicate wirelessly to
one another via the 802.15.4 “Zigbee”
protocol
Putting many of these SunSPOTs
together forms a Wireless Sensor
Network (WSN)
Wireless Sensor Networks
“A wireless sensor network (WSN) is a
wireless network consisting of spatially
distributed autonomous devices using
sensors to cooperatively monitor physical
or environmental conditions, such as
temperature, sound, pressure, light,
motion or pollutants, at different
locations”[1]
Most WSN platforms are programmed in a
C dialect called nesC
[1] http://en.wikipedia.org/wiki/Wireless_sensor_network
What are we doing with them?
Corona: SunSPOT Distributed Query
Processing System
Project
started in 2006
Being open sourced early in 2009
A query processing platform for a
SunSPOT WSN
Corona
Original Architects:
Raymes Khoury
Tim Dawborn
Edmund Tse
Dr. Bernhard Scholz
Core Developers:
Raymes Khoury
Tim Dawborn
Other Important Contributors:
Dr. Uwe Röhm
Saeed Attar
Khaled Almi'Ani
Glen Pink
Corona
What is a distributed query processor?
Make
the WSN act like a table in a
relational database
Corona allows queries to be formulated in
an SQL-style syntax, which are fed to the
SunSPOT network to be executed, for
which a table of results is retrieved
Example:
SELECT temp, light
FROM network
WHERE temp > 25
Corona
Corona
Corona is a resource-aware system
Resource
awareness is a key aspect of
WSN programming
Using the wireless to communicate
between nodes is the most costly
operation on the SunSPOTs
WSN nodes should be deployed once
and last a long time without having to
be physically altered
Corona
Distributed relational database issues
How
can you do relational operations
such as “AVERAGE(light)” in a
distributed environment?
How can you do subqueries in a
distributed environment where network
transmission is very costly?
SELECT node, parent
WHERE light >
(SELECT MAX(light) GROUP BY temp)
Corona
Resource-aware networking issues
How
should you detect new nodes in the
mesh network when transmission is
costly?
Being a “distributed database” system,
what should happen if a bridge node in
the network drops out in terms of the
data in the now isolated component of
the network graph?
What are we doing with them?
SPOTCopter: Remote Control
Helicopters
INFO1905
Advanced first year project
this semester
Aim is to get the user to specify the
height to hover at from a desktop
computer, and to make the SunSPOT
mounted to the helicopter perform this
action
SPOTCopter
Flying a helicopter is easier said than
done – unstable system
SunSPOT platform does not have
proper floating point numbers
SunSPOTs have a slow clock speed
so solving differential equations of
motion in “real time” has issues
SPOTCopter
SPOTCopter
SPOTCopter
A project still in the making
By the end of the year there will be a
Youtube video of our SPOTCopter
flying
Conclusion
SunSPOTs are a nice platform for
working with WSN technologies
partially due to using Java over nesC
WSN is an new and exciting research
area
WSN technologies have a lot of real
world applications
http://www.it.usyd.edu.au/~wsn