| |
| |

Sun Labs Project: Sun SPOT Wireless Sensors
By simplifying the development of wireless transducer applications, the Small Programmable Object Technology (SPOT) System from Sun Labs will help transform the potential of wireless sensors into real-world products.
The Possibilities for Wireless Sensors
The possibilities for wireless sensors have excited scientists and researchers, the business community, military and government officials, and consumers alike for many years. The potential applications for wireless sensors and transducers (sensors combined with actuator mechanisms) are limited only by the imagination. Sensing alone is not enough for many applications the ability to act on the sensory data is also required. A small, battery-powered platform capable of sensing and actuation is needed.
Just a few examples:
- "Smart dust" networks of tiny wireless microelectromechanical sensors (MEMS) could track and report on everything from cold areas in rooms to enemy movements in a military operation.
- Wireless sensors could catch manufacturing defects by sensing out-of-range vibrations in industrial equipment, monitor patient movements in a hospital room, track fertilizer runoff from farms into lakes, or ascertain the origins of a gunshot. Used in conjunction with RFID tags and actuation mechanisms, they could intelligently control light, heat, and appliances in buildings, making rooms "come alive" just before people enter.
- "Gesture interfaces" harnessing wireless sensors could make it possible to control devices by hand gestures, eliminating the distraction of finding and turning dials and knobs.
- "Swarms" or large numbers of autonomously functioning vehicles could be deployed to carry out a prescribed mission and respond as a group to high-level management commands.
Technological Obstacles to Widespread Adoption
The technology for wireless sensors is compelling, but on the whole there is still a wide gap between vision and real-world applications. Wireless sensors have remained primitive and difficult to program not ready for mass commercial deployment. There are several technical challenges that must be overcome:
- Current development tools for creating and investigating wireless sensor and transducer systems are difficult to use and unproductive.
- Security is a critical issue for many wireless sensor applications, but implementing effective security mechanisms within tight resource constraints at an affordable cost can be difficult and complex.
- More powerful processing capability is needed close to the sensor for signal analysis and control, and libraries are needed for investigating all aspects of wireless transducer applications from hardware all the way through to network layers.
- Unique characteristics of these new small devices present challenges for networking, requiring new ways for devices to communicate with each other and the Internet. Current standards don't apply, so new standards are needed that support communication both between the new devices themselves as well as between the new devices and devices using today's standards.
Sun SPOT: Simplified Development of Wireless Transducers Using Java Technology
Researchers at Sun Microsystems Laboratories are developing a system that takes major strides toward solving the key challenges that are inhibiting development of wireless sensor and transducer applications.
Based on a 32-bit ARM CPU and an 11-channel 2.4GHz radio, Sun SPOT radically simplifies the process of developing wireless sensor and transducer applications. The platform enables developers to build wireless transducer applications in Java using a sensor board for I/O, an 802.15.4 radio for wireless communication, and use familiar integrated development environments (IDEs) such as NetBeans to write code.
The Sun SPOT system uses Java technology to up-level programming. Developers can write a program in Java, load it on a wireless sensor device, run it, debug it, as well as access low-level mechanisms with standard Java IDEs. The inherent portability of Java technology makes it simpler to migrate applications among platforms and enables developers to build new wireless sensors devices using off-the-shelf hardware components. Java technology also eliminates or streamlines many of the low-level tasks of traditional development languages such as C, and for the millions of developers who already write code in Java technology there is little additional learning curve for building wireless sensor/transducer programs.
The Sun SPOT system features the "Squawk VM," a small J2ME virtual machine (VM) written almost entirely in Java technology. It provides the ability to run wireless transducer applications "on the metal" (directly on the CPU without any underlying OS), saving overhead and improving performance. End users also gain the flexibility to experiment with different implementations of low-level services, such as networking protocols, which are typically buried inside an OS. A set of Java libraries under development will provide access to the sensors, the I/O pins on the sensor application board, and the integrated on-board radio. By running multiple applications on the one virtual machine, and by using a more compact representation of class files, the Squawk VM makes better use of the small memory space available on SPOT devices.
SPOTWorld: A Single Tool for Programming, Configuring, Managing and Monitoring Sun SPOTs
Traditional computer applications require separate tools for each discrete development task: one for programming, another for configuring the application on the network, another for monitoring, and so on. Sun Labs researchers have developed a single tool that encompasses all of these tasks, further simplifying the creation of wireless transducer programs and broadening the scope of possible Sun SPOT applications.
Building distributed systems, especially those that involve small wireless devices, is notoriously difficult. SPOTWorld helps make this process easier.
The SPOTWorld tool can run stand-alone or be integrated with NetBeans, the Sun-sponsored, open IDE (available for download at www.netbeans.org). Using pop-up menus on the SPOTWorld interface, Sun SPOT developers can create an application, view the source file for the application, "ping" the device to confirm that it's operational, disconnect and reconnect the device to SPOTWorld, and more. SPOTWorld makes it possible for you to:
- Launch multiple programs on a single Sun SPOT one at a time or concurrently (the number of programs is limited only by the memory on the device).
- Edit code and redeploy the edited code onto the Sun SPOT.
- Debug a wireless transducer application as it runs on the device (even get a program's output in a terminal window).
- Discover any Sun SPOT operating within the radio field.
- Receive a status report from any discovered Sun SPOT even pause and resume execution of any of its running applications.
- Deploy a program "over the air."
Sun Labs researchers are working on future capabilities and additional extensions that will make SPOTWorld even more useful in developing and deploying Sun SPOTs.
| |

|
| |
SPOTWorld, shown here integrated with the NetBeans IDE, enables the user to inspect, deploy, manage, and edit the code of Java technology applications running on their SPOTs and desktops. |
One of the most exciting capabilities SPOTWorld can provide is "migratable application" functionality that enables applications with their complete state information to be dragged from one Sun SPOT to another while they're running. This capability makes it possible, for example, to move software from one Sun SPOT onto another with fresher batteries, avoiding loss of state information. It also enables developers to write programs that migrate through the network; the application can move from one device to the next collecting state information and other data.
Planned SPOTWorld extensions include the capability to:
- Supply general diagnostic information such as battery level, signal strength, available memory, etc.
- Monitor communication via mesh networking: one Sun SPOT can forward radio packets to a destination
- See trend information in real time: for example, temperature information could be monitored and graphed within SPOTWorld.
- Develop "mixed network" applications that span a Sun SPOT deployment and a conventional network of desktops and servers.
- Leverage over-the-air (OTA) reprogramming, enabling sensor applications to be deployed over difficult terrains or in hostile environments.
Strong Security for Small Devices
Security is particularly important for wireless transducer applications and particularly challenging. With limited memory and computational capabilities, a limited energy supply, and the need to operate in potentially hostile or hazardous environments with unattended operation, wireless transducers require strong security with extremely small overhead.
Sun Labs has unique expertise in several security technologies and is applying this expertise to wireless sensors and transducers. One such technology is public key cryptography, which is essential for bootstrapping secure communication between a large number of devices, a problem referred to as scalable key management. The technology is also used in digital signatures for authenticating communicating entities and digital content (both code and data).
Public-key cryptography is widely believed to be beyond the capabilities of sensor devices. However, Sun Labs has recently demonstrated highly optimized, implementations of RSA that perform much better than any reported previously. Sun Labs has also developed implementations of Elliptic Curve Cryptography (ECC), a resource efficient alternative to RSA, that provide an additional order of magnitude performance improvement on 8-bit CPUs. These implementations power a small-footprint, secure Web server stack (including HTTP and SSL), nicknamed Sizzle, that can be embedded inside a wide array of tiny devices, allowing them to be monitored and controlled securely via a Web browser. According to Professor David Wagner of the University of California at Berkeley, this work represents the "biggest breakthrough in sensor network security in the last year."
About Sun Labs
Established in 1990, Sun Microsystems Laboratories is the applied research and advanced development arm of Sun Microsystems, Inc., with locations in California and Massachusetts. Sun Labs is one of the ways Sun invests in the future, and is responsible for many of the technology advancements that have made Sun a technology powerhouse including asynchronous and high-speed circuits, optical interconnects, third generation (3G) Web technologies, sensors, network scaling, and Java technologies. Although many companies have R&D groups, Sun Labs can claim one of the highest rates of technology transfer in the industry.
| |