OpenHouse08 SPOTS
Transcript of 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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 4/97
Brace Yourself!
4
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 5/97
An Introduction
Roger Meike
Sun SPOT Chief Troublemaker
5
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 9/97
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 11/97
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 14/97
What is a Sun SPOT?
?14
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
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
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
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 21/97
Sun SPOTs In Action
21
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 23/97
Autonomous Deployment
• Renaissance Computer Institute at UNC - Dan Reed
23
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 24/97
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 27/97
Servos
Tires
Batteries
Sun SPOT
Wires
27
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
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
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
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 34/97
Sun SPOT Hardware
Bob Alkire
Hardware Crank
34
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 37/97
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 39/97
eBones Mechanical Drawings
39
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 40/97
eBones Schematics
40
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 44/97
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 48/97
Squawk
Eric Arseneau
SPOT Squawker
48
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 51/97
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 53/97
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 54/97
Networking
Pete St.Pierre
Network Plumber
54
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
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
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 60/97
Security Vipul Gupta
Sun SPOT Locksmith
60
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
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
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 66/97
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 68/97
SolariumRandy Smith
Master of Sun SPOT SpaceTime
68
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 69/97
Solarium
Randy Smith
Vipul Gupta
Arshan Poursohi
Ron Goldman
69
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 70/97
Discover
Program
Deploy Debug
Configure
Manage
SPOTWorld
70
Solarium
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 71/97
SPOTWorldSPOTWorldViewer 1
SPOTWorldViewer 2
...
?
?
71
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 72/97
Demo
72
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 73/97
Emulating Sun SPOTsRon Goldman
Sun SPOT Virtual Handyman
73
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 77/97
Emulator architecture
Solarium
77
D
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 78/97
com.sun.spot.Solarium
Solarium
Demo
78
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 79/97
Sun SPOTs in the Field Arshan Poursohi
SPOT Whisperer
79
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 83/97
2 weeks later
83
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 84/97
2 weeks later (con’t)
84
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 87/97
Sun SPOTs on Blackbox
87
Bl kb Sh k T
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 88/97
Blackbox Shake Test
88
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
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
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 92/97
Warren Wilson CollegeCocobolo Natural Reserve
92
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
8/14/2019 OpenHouse08 SPOTS
http://slidepdf.com/reader/full/openhouse08-spots 94/97
Sun SPOTs Hands On LabDavid Simmons
SPOT Knocker
94
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
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
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