Your SlideShare is downloading. ×
0
Programming the Real-world
      Introduction to SPOT




                                              Peng Deng

       ...
• Graduated from MEDC in 2008

• Research assistant in UniMelb
  – SensorWeb


• Software engineer in Daintree Networks
  ...
Agenda
• Introduction
   – Evolution of Computing
   – WSN

• Sun SPOT
   – What is SPOT
   – Hardware and Software

• Tut...
Evolution of Computing
                                                            4




                     2020 and bey...
Wireless Sensor Network
•   Small-scale sensor nodes
•   Wireless communication
•   Large scale of deployment
•   Unattend...
TinyOS and Crossbow
• Difficult to setup development environment
   – TinyOS SDK, JDK, cygwin…

• Difficult to program
   ...
What is Sun SPOT
• Embedded Development Platform
   – Flexible hardware and software
• Easy to program – Java top to botto...
Sun SPOT Hardware
                             2.4 GHz IEEE
                             802.15.4 Radio
       Antenna
   ...
Sun SPOT Hardware [cont.]
       8 3-colors LEDs                                  Switches




       Light sensor        ...
Sun SPOT Software
• Squawk Virtual Machine
  – J2ME CLDC 1.1 (cellphone without display)
  – Runs on bare metal (No OS)
  ...
Tutorial
      Get Data From Sun SPOT


     PC
     PC                    Host Application
 (Processing)
  (Processing)

...
App Dev Procedure
1. Create Sun SPOT project or Sun SPOT
   Host project



2. Implement your application



3. Connect, c...
Embedded Application
Import …

public class StartApplication extends MIDlet {

    protected void startApp() throws MIDlet...
Embedded Application
//create instances of sensors on board
private IAccelerometer3D accel = EDemoBoard.getInstance().getA...
Host Application
J2SE application
RadiogramConnection conn = (RadiogramConnection) Connector.open("radiogram://:100");
Dat...
Debug Remote App
• Create a debug agent
  – ant debug -DremoteId=0014.4F01.0000.46E0


• Attache IDE Debuger

• Add your b...
Applications




               17
Applications
Autonomous Deployment




                        18
Applications
   Robot




               19
Applications
                             Swarms




Autonomous Light Air Vessels
•Cell phone vibration motor to propel

•...
Applications
Mike’s Flying Bike
Flying and Exercise!

Sun SPOT + Google Earth Flight Simulator




                       ...
Applications
      SPOTkin




Sun SPOT + Pumpkin?
                      22
My Projects
      Game Panel




Sun SPOT + Never Ball
                        23
My Projects
     Virtual Earth Controller




   The earth is on your palm

Sun SPOT + NASA World Wind
                   ...
My Projects
                             Gesture Recognition

Facts:
1.Multi-attributes; 2. Data stream
Challenges:
1.Reco...
Q&A
Thank you

                               Peng Deng
                      Research Assistant
                     SUM Rese...
Upcoming SlideShare
Loading in...5
×

Programming The Real World

3,160

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
3,160
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Programming The Real World"

  1. 1. Programming the Real-world Introduction to SPOT Peng Deng ∑ SUMLab CSSE University of Melbourne
  2. 2. • Graduated from MEDC in 2008 • Research assistant in UniMelb – SensorWeb • Software engineer in Daintree Networks – Implement wireless protocol decoder 2
  3. 3. Agenda • Introduction – Evolution of Computing – WSN • Sun SPOT – What is SPOT – Hardware and Software • Tutorial • Application Demos • My Projects 3
  4. 4. Evolution of Computing 4 2020 and beyond: Ubiquity Era Thousands of computers per user. 4
  5. 5. Wireless Sensor Network • Small-scale sensor nodes • Wireless communication • Large scale of deployment • Unattended operation • …… • Environmental monitoring • Security • Defence • Bioinformatics and health • Transportation management • Chemical detection and emergency response 5
  6. 6. TinyOS and Crossbow • Difficult to setup development environment – TinyOS SDK, JDK, cygwin… • Difficult to program – No process/memory management – Applilcation = scheduler + graph of components – nesC: Low level language • Lack computing power – MICA2 7MHz 128K; MICAz 4MHz 128K • Open source software, propitiatory hardware 6
  7. 7. What is Sun SPOT • Embedded Development Platform – Flexible hardware and software • Easy to program – Java top to bottom – User programs the device entirely in Java – Using standard Java tools • Connected – Wireless Communication – Mesh networking – Over the Air Programming • Mobile – Built in battery charged through USB • Aware and Active – Able to sense and affect surroundings • Secure – Built-in asymmetric cryptography • Open Source 7 – Software -- Hardware
  8. 8. Sun SPOT Hardware 2.4 GHz IEEE 802.15.4 Radio Antenna Module CC2420 180 MHz 32 bit 512K RAM ARM920T core 4M Flash USB interface with Daughter board mini-B connector connector 8 Power switch
  9. 9. Sun SPOT Hardware [cont.] 8 3-colors LEDs Switches Light sensor 3-D Accelerometer Analog in 4-5 Temperature sensor and A/D converter Digital I/O 0-3 Analog inputs Replicated switches Digital I/O "High" current outputs 9
  10. 10. Sun SPOT Software • Squawk Virtual Machine – J2ME CLDC 1.1 (cellphone without display) – Runs on bare metal (No OS) – Designed for memory constrained devices – Runs multiple applications (concurrently) • IDE Supported – NetBeans, Eclipse, …… any Java IDE you familiar with 10
  11. 11. Tutorial Get Data From Sun SPOT PC PC Host Application (Processing) (Processing) Sun SPOT Sun SPOT Base Station Base Station Sun SPOTs Sun SPOTs Embedded Application 11
  12. 12. App Dev Procedure 1. Create Sun SPOT project or Sun SPOT Host project 2. Implement your application 3. Connect, compile and deploy application to SPOT 12
  13. 13. Embedded Application Import … public class StartApplication extends MIDlet { protected void startApp() throws MIDletStateChangeException { //application logic } protected void pauseApp() {} //not used protected void destroyApp(boolean unconditional) throws MIDletStateChangeException {} //execute when exit } 13
  14. 14. Embedded Application //create instances of sensors on board private IAccelerometer3D accel = EDemoBoard.getInstance().getAccelerometer(); private ITemperatureInput tempSensor = EDemoBoard.getInstance().getADCTemperature(); private ILightSensor lightSensor= EDemoBoard.getInstance().getLightSensor(); //application logic—get values from sensors String msg = String.valueOf(accel.getAccelX())+";"+ String.valueOf(accel.getAccelY())+";"+ String.valueOf(accel.getAccelZ())+";"+ String.valueOf(tempSensor.getCelsius())+";"+ String.valueOf(lightSensor.getValue()); //send data back to PC RadiogramConnection conn =(RadiogramConnection)Connector.open("radiogram://0014.4F01.0000.4BFD:100"); Datagram dg = conn.newDatagram(conn.getMaximumLength()); dg.writeUTF(msg); conn.send(dg); conn.close(); 9 lines of code! 14
  15. 15. Host Application J2SE application RadiogramConnection conn = (RadiogramConnection) Connector.open("radiogram://:100"); Datagram dg = conn.newDatagram(conn.getMaximumLength()); conn.receive(dg); String rawData = dg.readUTF(); System.out.println(rawData); conn.close(); DONE! 15
  16. 16. Debug Remote App • Create a debug agent – ant debug -DremoteId=0014.4F01.0000.46E0 • Attache IDE Debuger • Add your breakpoints 16
  17. 17. Applications 17
  18. 18. Applications Autonomous Deployment 18
  19. 19. Applications Robot 19
  20. 20. Applications Swarms Autonomous Light Air Vessels •Cell phone vibration motor to propel •Roam around to find friend or seek food •Spinning together •Feed them 20
  21. 21. Applications Mike’s Flying Bike Flying and Exercise! Sun SPOT + Google Earth Flight Simulator 21
  22. 22. Applications SPOTkin Sun SPOT + Pumpkin? 22
  23. 23. My Projects Game Panel Sun SPOT + Never Ball 23
  24. 24. My Projects Virtual Earth Controller The earth is on your palm Sun SPOT + NASA World Wind 24
  25. 25. My Projects Gesture Recognition Facts: 1.Multi-attributes; 2. Data stream Challenges: 1.Recognition; 2. Segmentation Solutions: 1.Machine Learning; 2. Threshold+std dev Accuracy: 17% ~ 97% 25
  26. 26. Q&A
  27. 27. Thank you Peng Deng Research Assistant SUM Research Lab CSSE University of Melbourne August 4, 2009 27
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×