SunSPOT_TutorialSole
Download
Report
Transcript SunSPOT_TutorialSole
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ć, [email protected]