Sun SPOT Project Ideas
- Automatic room light - When it gets dark according to one SPOT, all the LEDs come on on several others.
- String length measurer - Hang a spot at the end of a string, let it swing as a pendulum, caluculate the period and use the simple formula period = 2 * pi * sqrt(L/g) to figure out the length. Print this on the host.
- Earthquake detector with emergency exit pathway indicators - (LEDs blink in sequence amongst SPOTs deployed along a hallway to indicate the way out.) I guess this is like Arvind's fire alarm thing.
- Gesture Recognition - Allow the user to interact with a computer via a set of hand gestures
- Gait Analysis / Pedometer - Use a Sun SPOT attached to the user's leg to infer information about the speed and distance of travel
- Delayed reporting - Record data while free-ranging & send it all back to host app whenever come in range of basestation
- Balancing Robot - Create a robot that can balance on two wheels and navigate through a course. Two wheels could be arranged in series like a motorcycle or in parallel like a segway.
- Transducerlib indirection modification - This enhancement to transducerlib allows SPOT-side apps to read or write the state of ANY sensor. So set the state of a switch, set the state of the accelerometer, and so on. We can already read or write the state of the LEDs. The result enables a testing harness, for playback of sensor data. This would be a generally useful contribution: this access could be enabled remotely from SPOT World or even other SPOTs. In other words, click on a screen button to control the app on a remote spot which is reading one of the switches. Tilt this SPOT here, and have the (unmodified) bouncing ball demo react accordingly on that SPOT over there.
- Load balancing multiple Isolates - Use Isolate self-migration to allow multiple Isolates to distribute themselves amongst N nodes. Criteria could be battery level. Extra credit for a new kind of radio connection that can be torn down and reestablished transparently across migrations. Extra credit for a load balancing algorithm that is not centralized and is not subject to oscillations.
- Port the Sun SPOT platform to a new device of your choice
- Design and implement a REST API to control/monitor a SunSPOT, e.g. a GET on http://host:port//sensors/edemoboard/light would return the light reading on the SPOT whose IEEE address is , similarly a PUT of a JAR file on http://host:port//applications would install the application contained in the JAR on to (after converting it to a suite file). A good place to look for inspiration is the Twitter API (http://apiwiki.twitter.com/Twitter-API-Documentation)
- Get JRuby, Groovy, or your favorite scripting language to run on top of Java Micro Edition (JME) - this would then allow you to write your favorite scripting language for Sun SPOTs.
Feel free to add other suggestions to this list.