LAB-7430: Developing Distributed Wireless Applications Using Sun Small Progammable Object Technology (Sun SPOT) Systems
Expected duration: 120 minutes
Contacts: David G. Simmons and Simon Ritter
Last Updated: April 3, 2008

The possibilities and potential applications for wireless embedded devices are limited only by one's imagination. Environmental monitoring, asset tracking, proactive healthcare, intelligent agriculture and military surveillance are just a handful of applications that can be revolutionized by the use of such devices. However, the current state-of-the-art makes developing for these platforms a tedious chore -- it often involves learning unfamiliar languages and tools and there is little or no debugging support.

Sun Labs researchers working on Project Sun SPOT (Small Programmable Object Technology) have created a small, wireless, battery-powered device, that provides a versatile, Javaª technology-based platform for developing embedded applications. This commercially available platform comes equipped with a 32-bit ARM processor and an IEEE 802.15.4 radio. Stackable boards include application-specific sensors and actuators such as accelerometers, light detectors, temperature sensors, LEDs, push buttons and general I/O pins. These devices can be duty cycled to run for months on a single charge of their rechargeable battery. By supporting application development and debugging via standard Java tools and IDEs, this platform opens up the world of embedded programming to a much broader class of developers.

This hands-on lab is a revised version of a very popular lab from last year. This year, the Sun SPOT team is bringing true hardware development to the Java Developer. Flexpoint Sensor Systems has graciously donated some thin-film bend sensors for this developmental lab where we will be controlling servos remotely based on input from these bend sensors.

This lab teaches participants how to write applications using the Sun SPOT platform and to integrate external sensors and actuators to make hardware engineers out of Java developers. You will learn how to work with an analog bend sensor, use the radio to communicate between multiple SPOTs, and interpret the bend sensor data as an action via the servo. Each participant will have access to two Sun SPOT devices a Flexpoint Sensor Systems bend sensor, a HiTec HS-311 Servo, and all the associated electronics to build a wirelessly networked bend sensor-servo application.

Copyright

Copyright 2008 Sun Microsystems, Inc. All rights reserved. Sun, Sun Microsystems, the Sun logo, Solaris, Java, the Java Coffee Cup logo, JavaOne, the JavaOne logo, and all Solaris-based and Java-based marks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.

Prerequisites

This hands-on lab assumes you have some basic knowledge or programming experience with the Java Programming language.

System Requirements:

Software needed for the lab:

All the exercises in this lab can be done using an editor of your choice and ant script at the command line.
If you want to build and deploy them using NetBeans IDE, you are welcome to do so as well.
The instructions of how to build and deploy the lab exercises in this lab are included.
Download and unzip the lab contents zip file (7430_spot.zip) under a directory of your choice
Remember the chosen directory as <zip_root>

Hardware needed for the lab:
This lab requires some hardware, without which the exercises in this hands on lab do not make much sense.

Notations used in this documentation

Notes to JavaOne attendees using lab machines provided. (This does not apply to those who use their own machines.)

Lab exercises

Note: There are 2 distinct types of exercises: Hardware and Software. These have been divided this way to make clear that you will be doing two distinctly different types of activities during this lab: Constructing hardware and writing software. The first two exercises are generic configuration and familiarization exercises which you may or may not need to complete depending on the lab system you are using and your level of familiarity with the Sun SPOT hardware.

Once you're completely done, your sensor/actuator Sun SPOT network setup should look something like this:

Resources

Where to send questions or feedbacks on this lab and public discussion forums