190 likes | 422 Views
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
E N D
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 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, parentWHERE 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 • 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