Project Sun SPOT
Programming the Real World
Inspiring Java developers to create a whole new breed of devices and technologies - and accelerating the growth of the "Internet of Things"
For years, Sun has been saying that one day everything of value will be part of the Internet. This vision of an Internet of Things includes not just computers that talk to each other and exchange data, but virtually everything-all connected, all-communicating and sharing data, all the time. Cars, bicycles, refrigerators, astronauts, toys, even trees will collect and deliver diverse data to equally diverse devices (yes, trees - embedded with sensors that detect climate changes and animal movements).
That's a lot of data to process, manage and store. Over the past 24 years Sun has built its business by creating the back-end infrastructure to handle vast volumes of data: servers, storage systems, sophisticated networking infrastructure, data management software, and so on. And now, with Project Sun SPOT (Small Programmable Object Technology), an ongoing research project at Sun Labs, Sun is giving developers a platform for inspiration and innovation on the device side.
We've created a platform that greatly simplifies development and experimentation with small wireless devices, and we've opened it up to the development community, said Roger Meike, research director for Project Sun SPOT. There will be tremendous opportunities to apply and expand this technology in all sorts of new and exciting ways.
Project Sun SPOT began at Sun Labs in late 2003 as an exploration of wireless transducer technologies. Since then, the project team has been investigating new ways to make small devices smarter, more secure, and more capable-with considerable success. For example, the "Squawk VM" (a small J2METM virtual machine) provides the ability to run wireless transducer applications "on the metal," saving overhead and improving performance; "SPOTworld" simplifies development by providing a single tool for programming, configuring, managing and monitoring Sun SPOT devices; and the use of Elliptic Curve Cryptography (ECC) dramatically improves device security.
Over time, as innovation continues, as the Sun SPOT hardware platform gets even smaller and as more powerful processors, new sensors, new radios, and new power supplies are developed, the platform will inspire a growing number of real-world applications.
Today, the SunSPOT team is focusing its ongoing research and innovation efforts on:
- Operating Environment
By basing the Sun SPOT platform on Java technology-top to bottom, hardware and software-the Sun SPOT team has made it easier to write code for small wireless transducers, sensors, and other consumer electronics devices. Developers can write a program in Java, load it on a device, run it, and debug it with standard Java IDEs. With Java it's also simpler to port applications among platforms, and SunSPOT devices provide a small, flexible, wireless platform on which to put these applications. For the millions of developers who already write code in Java there is little additional learning curve for building Sun SPOT programs.
With the unique features of the Squawk VM, developers can do some pretty amazing things. Sun SPOT devices can run applications without any underlying OS, or run multiple applications on one virtual machine. And the jaw-droppingly cool "migratable application" functionality enables applications (with their complete state information) to be dragged from one Sun SPOT device to another while they're still running. So you could, for example, move software off a SPOT device with low battery power onto another device with more battery life, avoiding loss of state information.
- Development Tools: NetBeans and SPOTWorld
Unlike other embedded systems, SunSPOT developers are able to use industry standard Java development tools such as Netbeans or Eclipse to programs and debug their applications. Sun SPOT developers find extra productivity and power from the tight integration with NetBeans, the Sun-sponsored, open integrated development environment (IDE) tool for Java development. NetBeans is available for download free of charge at www.netbeans.org.
The SunSPOT team is supplementing NetBeans with SPOTWorld -- a single tool for programming, configuring, managing and monitoring SPOT devices. SPOTWorld allows developers on the SunSPOT platform to address the issues of programming and managing hundreds of devices spread out over a large area.
By using ECC technology developed at Sun Labs, the Sun SPOT team has made it possible to add strong security without compromising the limited memory and processing capabilities of small devices. Sun Labs' ECC implementations power a small-footprint, secure Web server stack (including HTTP and SSL), nicknamed Sizzle, that can be embedded inside a wide array of small devices, so you can monitor and control them securely via a Web browser.
Any device or technology created on the Sun SPOT platform will be capable of leveraging the massive scalability of Sun infrastructure (vertically integrated systems from one to thousands of processors; horizontally scalable grids incorporating thousands of nodes; storage scalability to petabytes of capacity, etc.), so deployments can be carried out on virtually any scale with ease.
Applications for Sun SPOTs
The success of Java technology opens doors for innovative new Sun SPOT applications. Java technology is in 1.2 billion mobile phones. It's in 1.4 billion smart cards. It's in millions of set-top boxes, printers, Web cams, games, car navigation systems, lottery terminals, medical devices, parking payment stations, etc. By basing Sun SPOT technology on Java, the Sun SPOT team has made it easier for millions of programmers to build cool new technologies and devices that can do all kinds of things. And we've already seen some amazing applications prototyped and built with beta versions of Sun SPOT technology. For example:
- Swarm intelligence:
Many companies ship sophisticated, high-value items with multiple parts-and sometimes not all of these expensive parts arrive with the item. In some cases thieves remove portions of the contents while the box is en route. RFID technology doesn't detect this type of activity-it can only provide information such as where the container is at a given moment or whether it arrived at its destination; and GPS technology sometimes doesn't work inside a truck. But by using Sun SPOT sensors in its containers, customers will be able to put a stop to this criminal activity. The Sun SPOTs can actually monitor and compare notes with each other during shipment-like a Neighborhood Watch for boxes--and provide alerts if, for example, one container is being opened while the others are still in transit. They also provide audit information so that the shipper can pin down who had control of the box at any given time.
- Rapid Prototyping and Experimenting with Ideas:
Ever find yourself driving to work and wondering if you've left the iron on? Researchers with an auto manufacturer were preparing for an international transportation show and wanted to demonstrate new capabilities using the latest in electronics. After meeting with the Sun SPOT project team, they used Sun SPOT devices to create a system that could alert a driver that the iron was left on at home. One Sun SPOT was built into the iron, another into the car, and when the car left the garage while the iron was still hot, the signal was relayed to the driver that the iron was on. This amazing demo was built very quickly-from concept to working demo in about two weeks. Without Sun SPOTs this would not have been possible. This type of "home check" application could be instrumented in a broad range of other possibilities: security systems, smoke detectors, and other appliances.
- Rocket Launch Monitor:
The Sun SPOT platform is a dream come true for hobbyists. To cite just one example: Sun Labs occasionally undertakes what are called Friday Projects. The goal of these projects is to do something from start to finish in a single day. For one particular Friday project, the Sun SPOT team decided to launch Sun SPOTs on a model rocket. Starting Friday morning, the team built a rocket, embedded two Sun SPOTs in "Space Shuttle" vehicles to monitor and graph the progress of the launch as it happened, wrote the ground-telemetry software (in Java), developed some Sun SPOT antenna extenders and documented the whole thing from start to finish. At launch time the pressure was on: Sun's CTO, Greg Papadopoulos, brought a couple of aerospace customers to watch the launch. The result? The researchers launched two (redundant) Sun SPOTs on a single rocket that streamed light, temperature and acceleration data live over the radio to the ground stations that were busy plotting the data.
There are many other Sun SPOT applications in development at Sun and elsewhere, and new applications are limited only by developer's imaginations. That's why Sun Labs is making available a complete Sun SPOT Developer Kit, which will include all of the hardware and software needed to create applications for Sun SPOTs.
In general, we believe Sun SPOT technology will be important in a broad range of emerging application areas, particularly in:
- Education: Sun SPOT technology is a natural fit in the field of education because it is so flexible. It's all Java-based, so the vast majority of students will be able to work with it, and it's broadly applicable-from sensors to wireless transducers to new gizmos to art and design (for a few innovative examples see http://people.artcenter.edu/~vanallen/ecology/).
- Industrial Research: Companies that want to experiment with new concepts and try new ideas for any number of applications can use Sun SPOTs to build prototypes, test models, and provide analysis.
- Government and Military Applications: Virtually every branch of government and the military has potential applications for Sun SPOT technology-from Homeland Security to space exploration to surveillance to warfare systems.
- Hobbyists: If you're building something cool-from a robot controller to a monitoring system for your hot-air balloon to an entirely new type of electronic device, chances are you have a great application for a Sun SPOT. Check out www.makezine.com and you'll see plenty of possibilities.