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"); IScalarInput lightSensor = 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 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 DcpReporter 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