SunSPOT_TutorialSole

advertisement
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
Download