97
 The pdf version This pre senta tion make s extensiv e use of animat ions. The pdf versio n may be confusing , upsettin g, distortin g, mislead ing confrusticating or bebothering because it is a mere projection of true self. •We apolog ize for an y inconve nience. 1

OpenHouse08 SPOTS

Embed Size (px)

Citation preview

Page 1: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 1/97

 The pdf version

• This presentation makes extensive use of animations.

• The pdf version may be confusing, upsetting, distorting, misleadingconfrusticating or bebothering because it is a mere projection of true self.

• We apologize for any inconvenience.

1

Page 2: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 2/97

Sun Small Programmable Object Technology

( Sun SPOTs )

one talk to rule them all

2

Page 3: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 3/97

 Agenda

• Introduction - Roger Meike

• Hardware - Bob Alkire

• Squawk - Eric Arseneau

• Networking - Pete St. Piere

• Security - Vipul Gupta

• Solarium - Randy Smith

• Emulator - Ron Goldman

• In the Field - Arshan Poursohi

• Hands On Lab - David Simmons

3

Page 4: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 4/97

Brace Yourself!

4

Page 5: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 5/97

 An Introduction

Roger Meike

Sun SPOT Chief Troublemaker

[email protected]

5

Page 6: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 6/97

Project Sun SPOT 

• Sun has licensed Java on over 1 billion

cell phones

• How do we encourage Sun technology

in whatever comes next?

S

mallProgrammableObjectTechnology

Sun

6

Page 7: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 7/97

Built to Inspire

• Designed for flexibility> Make hardware projects into

software projects

> Not designed for cost effectivedeployment today

• Substitute money for time

• We want to> Build a Community of

Developers

> Enable New Devices and

Services> Engage with new potential

customers

> Inspire!

7

Page 8: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 8/97

Shiny Objects

• Sun SPOTs Java Development Kit

• Education

• Researchers

• Hobbyists

• 1000s already deployed despite limited distribution

• We hope to have 20,000 devices deployed by June

• We hope to inspire billions of devices

• Sun’s interest

• We want to license Java on many of these devices

• We want to store and process their data on our servers

8

Page 9: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 9/97

Page 10: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 10/97

Java.net projects

squawk - the JVM

spots-core-libraries - Ongoing development of the core libraries for the Sun SPOT

spots-network-library - Ongoing library development for network stack of the Sun SPOT

spots-security - Ongoing library development for security on the Sun SPOTs

spots-sensorboard-library - Ongoing library development for dif erent SPOT sensorboards

solarium - an application for managing Sun SPOTs

spots-sdk-demos - Demo code distributed with the Sun SPOT SDK (AirText, BounceDemo,BuiltInSensorDemo, CalibrateAccelerometer, CodeSamples, DatabaseDemo, EmulatorDemo,HTTPDemo, RadioStrengthDemo, SpotCheck, TelemetryDemo)

spots-midi - Interfacing MIDI to Sunspots

yggdrasil - Reference implementation of a data collection framework

10

Page 11: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 11/97

Page 12: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 12/97

Open Source Hardware

spot-espot - the Sun SPOT main board

spot-edemo - Demonstration add-on board for Sun SPOT eSPOT

spot-ebones - eBones: information to create add-on boards for the eSPOTspot-eproto - Prototype board with simple interface to SunSPOT eSPOT

spot-eprotomega - eSPOT Prototyping board with Atmega88 processor

spot-eflash - MiniSD card reader/writer add on board for Sun SPOT eSPOT

spot-eserial - RS232 Serial interface board for the SunSPOT eSPOT

spot-eusbhost - USB host interface to Sun SPOT eSPOT

spot-edaq High-resolution Autonomous Data Acquisition board for SunSPOTs

12

Page 13: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 13/97

Custom Hardware Ecosystem

• There is a significant trend toward Open Source Hardware

• We’re trying to make it easy for people to build custom hardware

• We are working with vendors to provide a single stop process to fabboards and stuff them for a reasonable price

• This could be a big deal

13

Page 14: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 14/97

What is a Sun SPOT?

?14

Page 15: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 15/97

Sun SPOT Device

• Basic device has three layers

• Battery

• Processor Board with Radio

• Sensor Board (applicationspecific)

• Processor Board alone actsas a base-station

• User programs the deviceentirely in Java usingstandard Java tools

15

Page 16: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 16/97

Sun SPOT Mainboard

• 180 MHz 32 bit ARM920T core

• 512K RAM/4M Flash

• 802.15.4 radio

• USB interface - mini-b connector

• 3.6V rechargeable 750 mAh lithium-ion battery

• 36 µA deep sleep mode

• “Java on the metal”

16

Page 17: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 17/97

eDemoboard

• 2G/6G 3-axis accelerometer

• Light sensor

• Temp sensor

• 2 push buttons

• 8 RGB 24 bit LEDS, power/control LED

• 6 analog inputs

• 5 General Purpose I/O pins and 4 high current output pins

• Easy to interface to servos, speakers and other devices

17

Page 18: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 18/97

Software

• Squawk Virtual Machine

• J2ME CLDC 1.1 IMP Profile

• Runs on the bare metal (No OS)

• Designed for memory constrained devices

• Written mainly in Java

• Runs multiple applications (isolates)

• Running isolates can “migrate” across devices

• Also runs on Solaris, Linux, Mac and Windows

• Easy to port

18

Page 19: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 19/97

Sun SPOT developer’s kit

• Two Full Sun SPOTs with

eDemoSensor boards and

batteries

• One base-station Sun SPOT

• Software

• Squawk VM

• Java SDK

• Netbeans

• USB cable

• Mounting clips

• Two wall mounts

• One PC board mount

19

Page 20: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 20/97

What Do They Do?

• What are the good for?

• What can you build with them?

• Lets take a look...

?20

Page 21: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 21/97

Sun SPOTs In Action

21

Page 22: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 22/97

Swarms

• Combine Mesh Networks and Mobile Platforms

• Autonomous Light Air Vessels ALAVs - Jed Berk - ArtCenter College of Design

22

Page 23: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 23/97

 Autonomous Deployment

• Renaissance Computer Institute at UNC - Dan Reed

23

Page 24: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 24/97

Page 25: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 25/97

Dog Oral Reward Kit - DORK 1.0

• Bob Beasley & Sadie (aka Spot)

• http://web.mac.com/bbeasley1

25

Page 26: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 26/97

Building a robot

• Simple Robot

• Ingredients

1 - Sun SPOT

2 - Servos

3 - Batteries

Wires

26

Page 27: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 27/97

Servos

 Tires

Batteries

Sun SPOT 

Wires

27

Page 28: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 28/97

Servos

Power

Control

(Connect to the Battery)

(Connect to the Sun SPOT)

28

Page 29: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 29/97

Servo Control Code

import com.sun.spot.sensorboard.EDemoBoard;

import com.sun.spot.sensorboard.io.IOutputPin;

import com.sun.spot.sensorboard.peripheral.Servo;

protected void startApp() throws MIDletStateChangeException {

IOutputPin[] pin = EDemoBoard.getInstance().getOutputPins();

Servo leftServo = new Servo(pin[EDemoBoard.H0]);

Servo rightServo = new Servo(pin[EDemoBoard.H1]);

leftServo.setPosition(0.5F);

rightServo.setPosition(0.5F);

}

29

Page 30: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 30/97

Cool

• It’s just wires and hot glue!

• No circuit to design

• Not transistors, capacitors,resistors, etc

• This is a software project!Java

30

Page 31: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 31/97

Sun SPOTs monitoring water

• KTH, Sweden

• Aqua WSN

• Monitor water quality in Malawi, Africa at the Blantyre Water Board

which provides drinking water for the city of Blantyre and other

peri-urban areas in the vicinity

• http://www.tslab.ssvl.kth.se/csd/projects/0726/ 

31

Page 32: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 32/97

Sun SPOTs in the Rainforest

• Warren Wilson College, NC

• Grant to research and implement a geographic

information system (GIS) and wireless sensor

network on the Cocobolo Nature Reserve in

Panama.

• The reserve is part of one of the largest

contiguous rainforests in Central America.

32

Page 33: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 33/97

Join us!

Our web site

http://www.sunspotworld.com

More Information

Support

Forums

Web Site

Projects on Java.net

https://spots.dev.java.net

33

Page 34: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 34/97

Sun SPOT Hardware

Bob Alkire

Hardware Crank 

[email protected]

34

Page 35: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 35/97

eSPOT 

• The Sun SPOT Main Board

• https://spot-espot.dev.java.net/ 

• BOM - Bill of Materials (.xls format)

• Gerbers - PC board gerber files (RS274X)

• Schematics - PC schematics, assembly and fabrication drawings (.pdf format)

• Design Files - Schematic and PC layout (Altium Designer)

• LICENSE - All files within this project are covered by GPL license.

eSPOT Main Board Features

• ARM920T 180MHz Processor (Atmel AT91RM9200)• 4Mbyte Flash PROM• 512Kbyte Psuedo static RAM• 2.4GHz 802.15.4 DSSS Radio Transceiver (TI CC2420)• Real Time Clock and Power Management Processor (Atmega88)• USB Battery Charger/Switching Regulator (Linear LTC3455)• 30 pin high density interboard connector 

35

Page 36: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 36/97

eDemo

• Standard sensor board in dev kit.

• https://spot-edemo.dev.java.net/ 

• BOM - Bill of Materials (.xls format)

• Gerbers - PC board gerber files (RS274X)

• Schematics - PC schematics, assembly and fabrication drawings (.pdf format)

• Design Files - Schematic and PC layout (Altium Designer)

• LICENSE - All files within this project are covered by GPL license.

eDemo Board Features

  ▪ a 3-axis accelerometer (with two range settings: 2G or 6G)

 ▪

a temperature sensor   ▪ a light sensor   ▪ 8 tri-color LEDs  ▪ 6 analog inputs readable by a 12bit ADC  ▪ 2 momentary switches  ▪ 5 general purpose I/O pins▪ 4 high current output pins with a Atmega88 IO processor 

36

Page 37: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 37/97

Page 38: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 38/97

eBones

• eBones is a template for Sun SPOT board design. This is a good starting place if you are

contemplating making a custom sensor system.

• Includes PC board outlines, fabrication drawings, footprints for inter-board connector and

ICs. This information covers both the smaller 1.9" x 1.5" external board which fits inside

the plastic (similar to the eDemo board) and the larger external board that a eSPOT can

plug into.

• Application Notes

• External Hardware Design Guide (pdf)

• External Software Design Guide (pdf)

• Hardware Files

• BOM - Bill of Materials (.xls format)

• Gerbers - PC board gerber files (RS274X)

• Schematics - PC schematics, assembly and fabrication drawings (.pdf format)

• Design Files - Schematic and PC layout (Altium Designer, Orcad Layout and Eagle

• LICENSE - All files within this project are covered by BSD license.

• https://spots-ebones.dev.java.net/ 

38

Page 39: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 39/97

eBones Mechanical Drawings

39

Page 40: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 40/97

eBones Schematics

40

Page 41: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 41/97

Using eBones

• User starts with eBones schematic

and adds their own circuitry.

• They layout the new PC artwork

using eBones as a template

41

Page 42: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 42/97

eProto

• Stackable add-on board for prototyping hardware interfaces.

• https://spot-eproto.dev.java.net/ 

• BOM - Bill of Materials (.xls format)

• Gerbers - PC board gerber files (RS274X)

• Schematics - PC schematics, assembly and fabrication drawings (.pdf format)

• Design Files - Schematic and PC layout (Altium Designer)

• LICENSE - All files within this project are covered by BSD license.

42

Page 43: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 43/97

eProtoMega

• This board is similar to the eProto board with the addition of

a Atmega88 processor.

• https://spot-eprotomega.dev.java.net/ 

• BOM - Bill of Materials (.xls format)

• Gerbers - PC board gerber files (RS274X)

• Schematics - PC schematics, assembly and fabrication drawings (.pdf format)

• Design Files - Schematic and PC layout (Altium Designer)

• LICENSE - All files within this project are covered by BSD license.

43

Page 44: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 44/97

Page 45: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 45/97

eFlash

• Used for data logging.

• Holds two of the industry standard MiniSD flash cards.

• https://spot-eflash.dev.java.net/ 

• BOM - Bill of Materials (.xls format)

• Gerbers - PC board gerber files (RS274X)

• Schematics - PC schematics, assembly and fabrication drawings (.pdf format)

• Design Files - Schematic and PC layout (Altium Designer)

• LICENSE - All files within this project are covered by BSD license.

45

Page 46: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 46/97

eDAQ

• High Quality Data Acquisition Board

• 2 high speed plus 4 Analog to Digital Converters

• https://spot-eDAQ.dev.java.net/ 

• BOM - Bill of Materials (.xls format)

• Gerbers - PC board gerber files (RS274X)

• Schematics - PC schematics, assembly and fabrication drawings (.pdf format)

• Design Files - Schematic and PC layout (Altium Designer)

• LICENSE - All files within this project are covered by BSD license.

46

Page 47: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 47/97

eUSBHost

• eUSBHost is an add-on board for the Sun SPOT project for adding USB host

• This unit has is design only, it has not been prototyped.

• https://spot-eusbhost.dev.java.net/ 

• BOM - Bill of Materials (.xls format)

• Gerbers - PC board gerber files (RS274X)

• Schematics - PC schematics, assembly and fabrication drawings (.pdf format)

• Design Files - Schematic and PC layout (Altium Designer)

• LICENSE - All files within this project are covered by BSD license.

47

Page 48: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 48/97

Squawk 

Eric Arseneau

SPOT Squawker

[email protected]

48

Page 49: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 49/97

Squawk 

• Squawk is the Java on the “bare metal”

• Java™ Operating Environment for small devices

• Designed for

• Resource constrained devices

• Porting toolkit for micro-embedded devices

• Implements

• CLDC 1.1

• IMP 1.0

49

Page 50: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 50/97

Squawk - VM Details

• Classic interpreter today

• GC written in Java -> C

• JAR -> Suite

• Intention

• No JIT

• Complete VM in Java -> C

• Application & VM -> C

• C is a step towards native language of target

50

Page 51: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 51/97

Page 52: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 52/97

Squawk - Open Source

• Released Jan 22, 2008

• https://squawk.dev.java.net

• Leverages Open Sourced phoneME Feature

• Official source is the best way to be compliant

• Functional and tested code base for core API

• 75% of core API is phoneME source

• Can achieve much more

• Community is an excellent source of help

• Open source licensing simplified

52

Page 53: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 53/97

Page 54: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 54/97

Networking

Pete St.Pierre

Network Plumber

[email protected]

54

Page 55: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 55/97

Networking Overview

• Sun SPOT radio characteristics:

• IEEE 802.15.4 (Zigbee): lower cost, power but slower than Bluetooth (802.15.1)

or Wi-Fi (802.11)

• 128-byte packets, ~70m range, 250Kbps, 2.4 GHz

• Autonomous mesh networking extends range, eases deployment

• Modular, pure Java implementation encourages rapid prototyping andexperimentation

• Easy interfacing with Internet-connected devices/services, e.g. HTTP, TCP/IP*

55

Page 56: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 56/97

Self-organizing...

 A 

G

E

F

C

B

D

Where

is G?

 This

way to

G

Data

for G

Whereis G?

Where

is G?

56

Page 57: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 57/97

Self-healing...

B

 A 

G

E

F

C

D

Whereis G?

 This

way to

G

B*

Data

for G

Data

for G

57

Page 58: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 58/97

Flexible, All-Java Stack 

I802_15_4_MAC

IRadioPacketDispatcher

ILowPan*

IProtocolManager IRoutingManager

 Applications

Interfaces Implementation

 AODVManager

802_15_4_MAC

RadioPacketDispatcher

LowPan

 Applications

Radiogram Radiostream CTPManagerUDP TCP

IPv6

58

Page 59: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 59/97

 Accessing the Internet

• Sun SPOTs implement HTTP, communicate via gateway

• With TCP/IP implementation completed, SPOTs will be first-class citizens of

the Internet -- enabling the “Internet of things”

59

Page 60: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 60/97

Security Vipul Gupta

Sun SPOT Locksmith

[email protected]

60

Page 61: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 61/97

Why?

“Over-the-air” is the way of life for Sun SPOTs

Wireless code deployment, data exchange and management need

protection from unauthorized access, tampering, eavesdropping ...61

Page 62: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 62/97

Goals

• “User” (not cryptography) is often the weakest link

• Marry strong, efficient cryptography with simple, user-transparent key

management

• Leverage Sun Labs’ expertise in resource-efficient public-key cryptography --

elliptic curve cryptography 

• compromising a device does not compromise entire network

• Reuse well-known, peer-reviewed industry standards

• Trust management should “just work” in the most common scenario

62

Page 63: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 63/97

Securing Code Deployment

• Started out as a Java branding problem

• Byte code verified on desktop and “sealed”

using a digital signature (ECDSA)

• Code sent over-the-air or via USB

• Signature verified on SPOT before execution

• Addresses both

- Java branding

- general code authentication

• Signing key never leaves desktop!

compile

deploy 

Java Project

.JAR.suite

63

Page 64: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 64/97

Key Management for Code Deployment

• Each user’s SDK has a public/private key pair. SPOT stores “trusted” key

of owner.

• First deployer becomes owner with special over-the-air privileges -- code

deployment, management commands, restoring to ownerless state

• Simple, user-transparent key management balances security/ convenience

• Capturing a device does not allow attacker to deploy code to others

PrivateSDK 

PublicSDK PublicSDK 

e.g., application deployment  

First interaction with “ownerless” SPOT

Trusted “owner”:

 

_ __________(empty)

64

Page 65: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 65/97

Secure Communication*

• Inspired by the simplicity of “https” user experience

• Reuses SSL protocol underneath. Adds HTTPS support for SPOT/Web

communication

• Securing inter-SPOT communication requires one simple change to

existing applications

* This feature will be available in a forthcoming SDK release

conn = Connector.open(“radiostream://” + addr + “:” + port);

conn = Connector.open(“sradiostream://” + addr + “:” + port);

65

Page 66: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 66/97

Page 67: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 67/97

Main Takeaways

• Autonomous mesh networking built-in, pluggable architecture encouragesexperimentation

• Security mechanisms use NSA-endorsed, next-generation, resource-efficient

public-key cryptography with user-transparent key management

• It just works!

67

Page 68: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 68/97

SolariumRandy Smith

Master of Sun SPOT SpaceTime

[email protected]

68

Page 69: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 69/97

Solarium

Randy Smith

Vipul Gupta

 Arshan Poursohi

Ron Goldman

69

Page 70: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 70/97

Discover

Program

Deploy Debug

Configure

Manage

SPOTWorld

70

Solarium

Page 71: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 71/97

SPOTWorldSPOTWorldViewer 1

SPOTWorldViewer 2

...

?

?

71

Page 72: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 72/97

Demo

72

Page 73: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 73/97

Emulating Sun SPOTsRon Goldman

Sun SPOT Virtual Handyman

[email protected]

73

Page 74: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 74/97

How to give everyone a Sun SPOT?

• We would like every student & developer to be able to use Sun SPOTs.

• SPOTs are not cheap; hardware costs money.

• But distributing software is free.

• Can we give away a virtual SPOT, i.e. software-only?

• Yes we can! Provided that we have a SPOT simulator or emulator.

74

Page 75: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 75/97

SPOT emulator

• Use Squawk VM to run virtual SPOT application

• Use Solarium for the GUI

• Treat virtual SPOTs like real Sun SPOTs

• Virtual SPOTs can send radio messages to each other

• Virtual SPOTs can talk over the radio to real SPOTs

75

Page 76: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 76/97

Emulating the sensors

• Use a sensor panel to set the values of the virtual SPOT’s sensors

• Can specify temperature, input voltages, accelerations, etc.

76

Page 77: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 77/97

Emulator architecture

Solarium

77

D

Page 78: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 78/97

com.sun.spot.Solarium

Solarium

Demo

78

Page 79: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 79/97

Sun SPOTs in the Field Arshan Poursohi

SPOT Whisperer

[email protected]

79

Page 80: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 80/97

Sun SPOT advantages

• Capable HW makes prototyping easy and fast

• Java development environment

• Existing API provides useful base functionality

• Fast to develop and easy to understand/modify codebase

• OTA code deployment and management

• Easy to modify in the field

• Easy to monitor and trouble shoot

80

Page 81: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 81/97

Project Blackbox

• Keep track of conditions presentin the box while in transit

• Tight schedule requirements

• National tour beginning in 2

weeks

• Existing sensors inactive while

in transit

• http://www.sun.com/blackbox

81

Page 82: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 82/97

 After some consultation

• Vibration, key locations

• time sync across devices

• filters for finding and

recording significant events

• Environmental conditions

• Location, GPS

• Datalogging

• Uplink while in transit

82

Page 83: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 83/97

2 weeks later

83

Page 84: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 84/97

2 weeks later (con’t)

84

Page 85: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 85/97

Building a Datalogger

• Requirements

• Robust, Low Power, Cheap

• Plan A 

• Laptop or MiniPC

• Plan B

• eProto begets eFlash

85

Page 86: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 86/97

2 Months later

• Steady stream of data from Blackbox in transit

• Database of transit info back here in the lab

• Working on tools to browse data for interesting events

• Data passed on to the Blackbox team

• Prototype considered complete

86

Page 87: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 87/97

Sun SPOTs on Blackbox

87

Bl kb Sh k T

Page 88: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 88/97

Blackbox Shake Test

88

Page 89: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 89/97

Educational Outreach Program

• Granting Sun SPOT development kits to educators and students worldwide

• Participating in the larger programs to reach out to university professors and

students worldwide

• Building blocks for future work on Sun SPOTs

• Completely ‘open’ working environments

• Leverage existing and establish links to world wide universities to the benefitof the whole company

• Our grant programs are combined with a new pricing model, substantial

educational discount

89

Page 90: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 90/97

Request for Participation

• Invites users to participatein the community. We are

willing to grant Sun SPOT

JDKs for projects that are a

substantial benefit to the

community at large.

A SUN LABS RESEARCH PROJECT

Help Us build the Sun SPOT JavaTM Open Source Community.

Are you a professor, student, or hobbyist? Would you like to use

wireless sensors in your curriculum, research or project? Join the Sun Small

Programmable Object Technology (SPOT) Open Source developer community!

The Opportunity:

Recognizing the vital role that open source software contribution plays in

fostering new developer communities, Project Sun SPOT is soliciting

interesting proposals from creative people for wireless sensor and embedded

hardware and software projects. To encourage this goal monetarily as

well as in spirit, Sun Labs will award Sun SPOT development kits to those

projects that we think will be most effective in inspiring and expanding

the Sun SPOT Open Source community.

What do we want?

Interesting code posted to http://spots.dev.java.net that inspires the Sun SPOT user community and is a basis

for other great ideas, as well as your help in growing the Sun SPOT community by actively participating in Sun

SPOT forums, blogs and user groups, etc. We’re particularly interested in projects that are creative building

blocks for future work.

 Your proposal should include the following:

Project description including why your project is a good building block for the embedded open

source community

What you plan to call your project on Java.net

Your plan for regular updates to the community so members can follow your progress

Description of how the community will gain access to your code and documentation

Your project timeline

How many Sun SPOTs you think you’ll need to complete the project

The award for this program will be one or more Sun SPOT JavaTM Development Kits (JDKTM). There will be no

cash grants.Submit your proposal to http://[email protected]. If you submit a proposal by the 15th of the

month, we will respond on the 1st of the following month, and award Sun SPOT JDKs, while supplies last, to

the proposals that best address the project goals.

 About Sun SPOTs and the Sun SPOT JDK

The Sun SPOT hardware platform is a small, battery operated, wireless device running the Squawk JavaTM Virtual

Machine (JVMTM), which acts as both operating system and software application platform and runs directly

on the processor without an intervening OS. Based entirely on Java, Sun SPOTs provide a low-cost, low-power

versatile platform for developing wireless sensor and embedded applications. The Sun SPOT JDK includes a

complete hardware platform, the Squawk JVM, and a set of programming tools, including the NetBeans TM IDE,

so even high-level programmers can quickly write custom embedded applications. For more information, technical

details, forums, news, events and to purchase a Sun SPOT JDK, visit http://www.sunspotworld.com/

Sun SPOT Open Grant ProgramRequest for Proposals

SunTM Small Programmable Object Technology

>

90

Page 91: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 91/97

 Yggdrasil

• Common Framework for DataCollection

• Started life in Open Source

• Active development with outside

collaborators

• https://yggdrasil.dev.java.net/ 

91

Page 92: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 92/97

Warren Wilson CollegeCocobolo Natural Reserve

92

Page 93: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 93/97

 Your turn

• http://www.sunspotworld.com

• buy online

• EDU pricing

• forums

• http://spots.dev.java.net

93

Page 94: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 94/97

Sun SPOTs Hands On LabDavid Simmons

SPOT Knocker

[email protected]

94

Page 95: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 95/97

Hands On Lab

• Hardware for software people

• Learn to connect external sensors and servos

• Build stuff! Its good for you!!

• Classes today and tomorrow as part of Sun Labs

Open House

• To sign up, see me immediately following this talk

or sign up in the SW lab

• This HOL is a preview of JavaOne (for free!)

95

C

Page 96: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 96/97

Robotics Contests

• Systronix

• Greenfoot + Trackbot + SunSPOT

• https://trackbots-greenfoot-contest-2008.dev.java.net/ 

• Wintriss School

• IRobot Create + Sun SPOT = International Autonomous Robot Contest

• To be held a San Diego County Fair June 21-22

• http://www.iaroc.org

96

96

Page 97: OpenHouse08 SPOTS

8/14/2019 OpenHouse08 SPOTS

http://slidepdf.com/reader/full/openhouse08-spots 97/97

Join us!

Our web site

http://www.sunspotworld.com

More Information

Support

Forums

Web Site

Projects on Java.net

htt // t d j t