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 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 “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]
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, 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
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