200 likes | 451 Views
Sun SPOT. Introduction. Miloš Solujić. Outline. SPOT – beginnings Technical details - hardware Technical details - soft ware Basestations SPOT – Pros and Cons Example application Questions. SPOT – beginnings. SPOT stands for Small Programmable Object Technology
E N D
Sun SPOT Introduction Miloš Solujić
Outline • SPOT – beginnings • Technical details - hardware • Technical details - software • Basestations • SPOT – Pros and Cons • Example application • Questions
SPOT – beginnings • SPOT stands for Small Programmable Object Technology • Java is already available on few bilion cellphones – next step is SPOT • Sun Labs launched new platform for playing with sensing on Java ME • It is Java ME – CLDC – MIDP compatible
Technical details- hardware • 180 MHz 32 bit ARM920T • 512K RAM - 4M Flash • 2.4 GHz IEEE 802.15.4 radio • USB interface • Example Board: • 2G/6G 3-axis accelerometer • Temperature sensor • Light sensor
Technical details - hardware • 8 tri-color LEDs • 6 analog inputs • 2 momentary switches • 5 general purpose I/O pins • 4 high current output pins • Battery can operate for few weeks if application is well designed
Technical details - software • Squawk – Java virtual machine written in Java, for SPOT, but not only • Designed for resource constrained systems, like SPOT • Manages power and other features of SPOT transparently for programmer • Isolates – support for multiple independent execution spaces • Aim is to be fittable on 16KB in future
Technical details - software • Lots of libraries, with drivers for: • The on-board LED • The PIO, AIC, USART • The CC2420 radio chip, IEEE 802.15.4 • The base-station support • The over-the-air (OTA) • The radio policy manager • And so on…
Technical details - software – example code using libraries • String ourAddress = System.getProperty("IEEE_ADDRESS"); • IScalarInputlightSensor = EDemoBoard.getInstance().getLightSensor(); • ITriColorLED[] leds = EDemoBoard.getInstance().getLEDs(); • System.out.println("Starting sensor sampler application on " + ourAddress + " ..."); • System.err.println("Caught " + e + " in connection initialization."); • now = System.currentTimeMillis(); • // Go to sleep to conserve battery Utils.sleep(SAMPLE_PERIOD - (System.currentTimeMillis() - now));
Technical details - software • SPOT applications conform to the MIDlet standard • startApp(), pauseApp() and destroyApp()- three methods to be implemented in any on-SPOT application
Basestations • Basestations: • to allow applications running on the Host to interact with applications running on Targets • may run in either dedicated or shared mode • any Sun SPOT can be used as the basestation • ant startbasestationis needed to start SPOT attached via USB as basestation
SPOT – pros and cons • Pros • Java enabled • It is low steep curve of learning for SPOT • Good documentation, community • Simulator • Cons • Not so small • Security not on high level • Some issues working with linux
Example application:Symbiotic Networks • Concept introduced by David Loftus and Srdjan Krco, Ericsson Ireland • Current status: prototype of system is designed and implemented • It is tested in laboratory conditions
Symbiotic NetworksSystem overview • Highly decomposable system design, still possible to deploy on single PC • Proof of concept level of implementation, but good base for design of enterprise-level application
DCP – Some State Diagram EVENT REPORTING • Presented main part of work method in DcpReporter • No unnecessary processor working • Good scalability = dozens of sensors on same base station with humble resources
Questions… Contact: Miloš Solujić, sole@etf.rs