What is the SPOTs project?
The SPOTs project was initiated in Sun Labs, the research arm of Sun Microsystems, and has now grown to include contributions from a community of researchers, educators, students and hobbyists. A small, wireless, battery operated device was developed that represents technology we expect to be pervasive in 2-5 years. The challenge now is to create a comprehensive, Java-based software platform for these devices as well as a compelling set of applications that use it and accessory hardware to complement it.
What are the goals of the SPOTs project?
There are several goals to the work:
Promote the use of Java
Sun SPOTs will give Java programmers a new ways to express their work
Bring new programmers to Java - Sun SPOTs are a shiny object that are fun to program
Accelerate the creation of the "Internet of things."
The Internet is made of millions of computers and now billions of cell phones. There will be trillions of whatever comes next. By creating a flexible experimental platform we hope to inspire people to build whatever comes next.
What is a Sun SPOT device?
A Sun SPOT is a small, battery powered, wireless, experimental platform. It is designed to be easy to program and use so that any Java programmer can think beyond the keyboard, mouse and screen and thus be inspired to build new applications using Java.
What are the tech specs of a Sun SPOT?
Main board
• 180 MHz 32 bit ARM920T core - 512K RAM/4M Flash
• 2.4 GHz IEEE 802.15.4 radio with integrated antenna
• USB interface
• 3.6V rechargeable 750 mAh lithium-ion battery
• 36 uA deep sleep mode
Sensor board
• 2G/6G 3-axis accelerometer
• Temperature sensor
• Light sensor
• 8 tri-color LEDs
• 6 analog inputs
• 2 momentary switches
• 5 general purpose I/O pins and 4 high current output pins
Squawk Virtual Machine
• Fully capable J2ME CLDC 1.1 Java VM with OS functionality
• VM executes directly out of flash memory
• Device drivers written in Java
• Automatic battery management
Developer Tools
• Use standard IDEs. e.g. NetBeans, Eclipse to create Java code
• Integrates with J2SE applications
• Sun SPOT wired via USB to a computer acts as a base-station
What is unique about Sun SPOTs
The system is Java-based.
This makes for easier programming and integration with networked applications.
Developers use standard Java development tools such as NetBeans
Java is running "on-the-metal." It handles many of the service traditionally supplied by an OS
Isolates
Multiple applications can run at the same time without requiring multiple virtual machines and significant amounts of memory
The way isolates are implemented on Sun SPOTs they are objects. The developer can start, stop, even migrate running applications from one device to another.
Battery management
Power is a scarce resource on mobile devices
It has a very low power (36 µA) sleep mode
Ultimately we would like this to be analogous to how Java handles memory management through garbage collection and thus frees developer to concentrate on the logic of their application rather than chasing down memory leaks.
The device is quite powerful for a small devices.
It is a full 32-bit processor with lots of easily accessible I/O for experimentation
Who is the SPOTs project aimed at?
We have three primary target audiences:
Education - for use in the class room from college to high school in everything from embedded systems classes to robotics to industrial design classes
Research - for use in experiments in everything from rapid prototyping of wireless sensor networks to research in mesh/adhoc networking and gestural interfaces
Hobbyists - for everything from robotics to electronic musical instruments to model rocketry
Others - There are commercial applications for Sun SPOTs
What are some typical applications of Sun SPOTs?
The applications are limited only by imagination. Here are some examples:
Environmental monitoring - making sure the grapes in the vineyard are picked at exactly the right moment, understanding wildlife habitats etc
Structural monitoring - monitoring bridges and buildings for everything from smart HVAC control to analyzing stresses to bridges
Medical monitoring - monitoring patient vital signs, swallow-able sensors, emergency room triage
Home monitoring - security systems, home medical monitoring etc
Asset tracking - beyond RFID - sensors can use swarm intelligence to reason about a shipment in route
Robotics - Building swarms of cooperating robots that communicate via their radio link
Gesture-based interfaces - control other systems by waving your hands or even dancing.
Are there any examples of how the Sun SPOT has been used so far?
Education
Ambient Computing class at U Essex
Result is that Sun SPOT represents a good compromise between the "neats" (Computer Science students who like high level languages and provable systems) and "scruffies" who just want to make something work. As a result of this class they are looking at other ways to incorporate Sun SPOTs into their curriculum
Art Center College of Design
Design students (non-engineers) were given Sun SPOTs and one Java programmer to serve the whole class. They were able to prototype working devices that ranged from flocking blimps to consumer music devices to re-engineered college dorm social dynamics.
A university in Australia will be using Sun SPOTs to teach a robotics class.
Research
VW
VW was able to quickly prototype a system to answer the age old question, "did I leave the iron on?" They used a Sun SPOT in their show car Passat and added "home check" function as the car leaves the house. It checks the security system and other aspects of the house all the way down to the iron. they put a Sun SPOT in an iron so that it could report back if it was on or off, warm or cold and horizontal or vertical. Drivers never have to worry about leaving their iron on again!
Hobbyists
Rocket launch
At Sun Labs we did a project start to finish in a single day. It involved building a model rocket and outfitting it with a couple Sun SPOTs (gotta have redundancy) as well as writing some software. By the afternoon we were able to launch the rocket and stream 3 dimensions of acceleration, light and temperature data live from our model rocket to the ground station (laptops in the parking lot).
All the stuff at the Maker Faire booth
What is the difference between a sensor and an RFID?
RFIDs mostly just report an ID when asked at close range.
Sensors have processing and power built in. They are able to proactively take action. They can report history as well as current state.
Consider a human organ that is being sent across the country for a transplant operation. If that organ is tagged with an RFID, you can tell whether or not the box that was received was the box that was sent. With sensors you can tell if temperature ever went out of range - was the box dropped? Was it tampered with or opened? All kinds of things that might be important to know before you put that organ into the recipient.
Can I build my own hardware to connect to the Sun SPOT
Yes! We will make all the interfaces and documentation necessary to build your own boards available. There are two approaches:
1 - Build a small board that fits on the Sun SPOT. We will make form factor information available if you would like to fit your board into our plastics.
2 - Connect the Sun SPOT to your larger circuit board. The development kit includes special plastics for mounting the device to a larger circuit board (just as we have done with our set top box