SunSPOTs At Sydney University by Tim Dawborn
Apr 02, 2015
SunSPOTsAt Sydney University
by Tim Dawborn
Agenda
What are SunSPOTs? What are we doing with them?
CoronaSPOTCopter
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 SystemProject started in 2006Being open sourced early in 2009A 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 systemResource awareness is a key aspect of
WSN programmingUsing 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 issuesHow 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, parentWHERE light > (SELECT MAX(light) GROUP BY temp)
Corona
Resource-aware networking issuesHow 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 semesterAim 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