Sun SPOT Introduction Milo Soluji Outline SPOT beginnings
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 ARM 920 T � 512 K RAM - 4 M Flash � 2. 4 GHz IEEE 802. 15. 4 radio �USB interface �Example Board: � 2 G/6 G 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 16 KB in future
Technical details - software �Lots ◦ ◦ ◦ ◦ of libraries, with drivers for: The on-board LED The PIO, AIC, USART The CC 2420 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 our. Address = System. get. Property("IEEE_ADDRESS"); � IScalar. Input light. Sensor = EDemo. Board. get. Instance(). get. Light. Sensor(); � ITri. Color. LED[] leds = EDemo. Board. get. Instance(). get. LEDs(); � System. out. println("Starting sensor sampler application on " + our. Address + ". . . "); � System. err. println("Caught " + e + " in connection initialization. "); � now = System. current. Time. Millis(); � // Go to sleep to conserve battery Utils. sleep(SAMPLE_PERIOD - (System. current. Time. Millis() - now));
Technical details - software �SPOT applications conform to the MIDlet standard �start. App(), pause. App() and destroy. App()- three methods to be implemented in any on-SPOT application
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 startbasestation is 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 Networks System 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
Data Collection Point - DCP
DCP – Some State Diagram EVENT REPORTING Presented main part of work method in Dcp. Reporter � No unnecessary processor working � Good scalability = dozens of sensors on same base station with humble resources �
Control Centre - CC
Symbiotic Networks - Screenshots
Symbiotic Networks - Screenshots
Symbiotic Networks - Screenshots
Questions… Contact: Miloš Solujić, sole@etf. rs
- Slides: 20