Sun SPOT Introduction Miloš Solujić
Jan 03, 2016
Sun SPOT
Introduction
Miloš Solujić
OutlineSPOT – beginnings Technical details - hardwareTechnical details - softwareBasestationsSPOT – Pros and ConsExample applicationQuestions
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 Flash2.4 GHz IEEE 802.15.4
radioUSB interfaceExample Board:2G/6G 3-axis
accelerometerTemperature sensor Light sensor
Technical details - hardware
8 tri-color LEDs6 analog inputs2 momentary switches5 general purpose I/O
pins4 high current output
pinsBattery 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 consPros
◦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 NetworksConcept 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
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ć, [email protected]