SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Programming the Real-world
      Introduction to SPOT




                                              Peng Deng

                                                 ∑ SUMLab
                             CSSE University of Melbourne
• Graduated from MEDC in 2008

• Research assistant in UniMelb
  – SensorWeb


• Software engineer in Daintree Networks
  – Implement wireless protocol decoder

                                           2
Agenda
• Introduction
   – Evolution of Computing
   – WSN

• Sun SPOT
   – What is SPOT
   – Hardware and Software

• Tutorial

• Application Demos

• My Projects

                                 3
Evolution of Computing
                                                            4




                     2020 and beyond: Ubiquity Era
                     Thousands of computers per user.




                                                        4
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
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
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
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
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
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
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
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
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
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
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
Debug Remote App
• Create a debug agent
  – ant debug -DremoteId=0014.4F01.0000.46E0


• Attache IDE Debuger

• Add your breakpoints


                                           16
Applications




               17
Applications
Autonomous Deployment




                        18
Applications
   Robot




               19
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
Applications
Mike’s Flying Bike
Flying and Exercise!

Sun SPOT + Google Earth Flight Simulator




                                   21
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
                                24
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
Q&A
Thank you

                               Peng Deng
                      Research Assistant
                     SUM Research Lab
            CSSE University of Melbourne


                  August 4, 2009       27

Weitere ähnliche Inhalte

Was ist angesagt?

Qualcomm: Bringing cognitive technologies to life
Qualcomm: Bringing cognitive technologies to lifeQualcomm: Bringing cognitive technologies to life
Qualcomm: Bringing cognitive technologies to lifeQualcomm Research
 
BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017Kuniyasu Suzaki
 
IP power stone 4000v.5
IP power stone 4000v.5IP power stone 4000v.5
IP power stone 4000v.5Scott Shelton
 
SDN - a new security paradigm?
SDN - a new security paradigm?SDN - a new security paradigm?
SDN - a new security paradigm?Sophos Benelux
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016Kuniyasu Suzaki
 
Zen and the art of collecting and analyzing malware
Zen and the art of collecting and analyzing malwareZen and the art of collecting and analyzing malware
Zen and the art of collecting and analyzing malwareGaetano Zappulla
 
Атаки на мобильные сети
Атаки на мобильные сетиАтаки на мобильные сети
Атаки на мобильные сетиEkaterina Melnik
 
Peter wood – the ethical hacker
Peter wood – the ethical hackerPeter wood – the ethical hacker
Peter wood – the ethical hackerresponsedatacomms
 
Service Assurance for Virtual Network Functions in Cloud-Native Environments
Service Assurance for Virtual Network Functions in Cloud-Native EnvironmentsService Assurance for Virtual Network Functions in Cloud-Native Environments
Service Assurance for Virtual Network Functions in Cloud-Native EnvironmentsNikos Anastopoulos
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1Eric Theis
 
44CON & Ruxcon: SDN security
44CON & Ruxcon: SDN security44CON & Ruxcon: SDN security
44CON & Ruxcon: SDN securityDavid Jorm
 
Automated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented SystemAutomated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented SystemSander van der Burg
 
Increasing Throughput per Node for Content Delivery Networks
Increasing Throughput per Node for Content Delivery NetworksIncreasing Throughput per Node for Content Delivery Networks
Increasing Throughput per Node for Content Delivery NetworksDESMOND YUEN
 

Was ist angesagt? (20)

Construct an Efficient and Secure Microkernel for IoT
Construct an Efficient and Secure Microkernel for IoTConstruct an Efficient and Secure Microkernel for IoT
Construct an Efficient and Secure Microkernel for IoT
 
Qualcomm: Bringing cognitive technologies to life
Qualcomm: Bringing cognitive technologies to lifeQualcomm: Bringing cognitive technologies to life
Qualcomm: Bringing cognitive technologies to life
 
BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017BMC: Bare Metal Container @Open Source Summit Japan 2017
BMC: Bare Metal Container @Open Source Summit Japan 2017
 
Hh 2012-mberman-sds2
Hh 2012-mberman-sds2Hh 2012-mberman-sds2
Hh 2012-mberman-sds2
 
IP power stone 4000v.5
IP power stone 4000v.5IP power stone 4000v.5
IP power stone 4000v.5
 
Nd8301nvr
Nd8301nvrNd8301nvr
Nd8301nvr
 
XS Oracle 2009 Intro Slides
XS Oracle 2009 Intro SlidesXS Oracle 2009 Intro Slides
XS Oracle 2009 Intro Slides
 
SDN - a new security paradigm?
SDN - a new security paradigm?SDN - a new security paradigm?
SDN - a new security paradigm?
 
”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016”Bare-Metal Container" presented at HPCC2016
”Bare-Metal Container" presented at HPCC2016
 
Mp lab
Mp labMp lab
Mp lab
 
SDN
SDNSDN
SDN
 
Zen and the art of collecting and analyzing malware
Zen and the art of collecting and analyzing malwareZen and the art of collecting and analyzing malware
Zen and the art of collecting and analyzing malware
 
Атаки на мобильные сети
Атаки на мобильные сетиАтаки на мобильные сети
Атаки на мобильные сети
 
Peter wood – the ethical hacker
Peter wood – the ethical hackerPeter wood – the ethical hacker
Peter wood – the ethical hacker
 
Service Assurance for Virtual Network Functions in Cloud-Native Environments
Service Assurance for Virtual Network Functions in Cloud-Native EnvironmentsService Assurance for Virtual Network Functions in Cloud-Native Environments
Service Assurance for Virtual Network Functions in Cloud-Native Environments
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1
 
44CON & Ruxcon: SDN security
44CON & Ruxcon: SDN security44CON & Ruxcon: SDN security
44CON & Ruxcon: SDN security
 
LayerZero Series 70: eRDP Remote Distribution Panel
LayerZero Series 70: eRDP Remote Distribution PanelLayerZero Series 70: eRDP Remote Distribution Panel
LayerZero Series 70: eRDP Remote Distribution Panel
 
Automated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented SystemAutomated Deployment of Hetergeneous Service-Oriented System
Automated Deployment of Hetergeneous Service-Oriented System
 
Increasing Throughput per Node for Content Delivery Networks
Increasing Throughput per Node for Content Delivery NetworksIncreasing Throughput per Node for Content Delivery Networks
Increasing Throughput per Node for Content Delivery Networks
 

Andere mochten auch

Eclipse,open ocd,openjta gv3嵌入式开发教程
Eclipse,open ocd,openjta gv3嵌入式开发教程Eclipse,open ocd,openjta gv3嵌入式开发教程
Eclipse,open ocd,openjta gv3嵌入式开发教程magicmanu
 
Mini6410+++º +¦ß-20101121
Mini6410+++º +¦ß-20101121Mini6410+++º +¦ß-20101121
Mini6410+++º +¦ß-20101121meru2ks
 
使用Samba提升linux平台开发效率
使用Samba提升linux平台开发效率使用Samba提升linux平台开发效率
使用Samba提升linux平台开发效率Zhen Li
 
Mini2440 Um 20090223
Mini2440 Um 20090223Mini2440 Um 20090223
Mini2440 Um 20090223guest8a46f9
 
Php可调试团队开发环境配置
Php可调试团队开发环境配置Php可调试团队开发环境配置
Php可调试团队开发环境配置wangkangluo1
 
51 cto下载 android应用程序开发宝典
51 cto下载 android应用程序开发宝典51 cto下载 android应用程序开发宝典
51 cto下载 android应用程序开发宝典sys520084
 

Andere mochten auch (7)

Eclipse,open ocd,openjta gv3嵌入式开发教程
Eclipse,open ocd,openjta gv3嵌入式开发教程Eclipse,open ocd,openjta gv3嵌入式开发教程
Eclipse,open ocd,openjta gv3嵌入式开发教程
 
Mini6410+++º +¦ß-20101121
Mini6410+++º +¦ß-20101121Mini6410+++º +¦ß-20101121
Mini6410+++º +¦ß-20101121
 
Android_lecture_000
Android_lecture_000Android_lecture_000
Android_lecture_000
 
使用Samba提升linux平台开发效率
使用Samba提升linux平台开发效率使用Samba提升linux平台开发效率
使用Samba提升linux平台开发效率
 
Mini2440 Um 20090223
Mini2440 Um 20090223Mini2440 Um 20090223
Mini2440 Um 20090223
 
Php可调试团队开发环境配置
Php可调试团队开发环境配置Php可调试团队开发环境配置
Php可调试团队开发环境配置
 
51 cto下载 android应用程序开发宝典
51 cto下载 android应用程序开发宝典51 cto下载 android应用程序开发宝典
51 cto下载 android应用程序开发宝典
 

Ähnlich wie Programming The Real World

Introducing the Sun SPOTs
Introducing the Sun SPOTsIntroducing the Sun SPOTs
Introducing the Sun SPOTsStefano Sanna
 
Sunspot Final
Sunspot FinalSunspot Final
Sunspot Finalpauldeng
 
3D Mapping with LiDAR - Report
3D Mapping with LiDAR - Report3D Mapping with LiDAR - Report
3D Mapping with LiDAR - ReportEric Feldman
 
Digiplant colloquim
Digiplant colloquimDigiplant colloquim
Digiplant colloquimTyler Belle
 
PPT on Weather Monitoring System-converted (1).pptx
PPT on Weather Monitoring System-converted (1).pptxPPT on Weather Monitoring System-converted (1).pptx
PPT on Weather Monitoring System-converted (1).pptxabhisheksinghcompute
 
Better With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+ArduinoBetter With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+ArduinoPearl Chen
 
Kunal_Sonone_Resume
Kunal_Sonone_ResumeKunal_Sonone_Resume
Kunal_Sonone_Resumekdsonone
 
Are you ready to be edgy? Bringing applications to the edge of the network
Are you ready to be edgy? Bringing applications to the edge of the networkAre you ready to be edgy? Bringing applications to the edge of the network
Are you ready to be edgy? Bringing applications to the edge of the networkMegan O'Keefe
 
.Net Gadgeteer
.Net Gadgeteer .Net Gadgeteer
.Net Gadgeteer Wade Zhu
 
Java in the Air: A Case Study for Java-based Environment Monitoring Stations
Java in the Air: A Case Study for Java-based Environment Monitoring StationsJava in the Air: A Case Study for Java-based Environment Monitoring Stations
Java in the Air: A Case Study for Java-based Environment Monitoring StationsEurotech
 
Akash Jinandra EE CPE Resume 7-28-2016
Akash Jinandra EE CPE Resume 7-28-2016Akash Jinandra EE CPE Resume 7-28-2016
Akash Jinandra EE CPE Resume 7-28-2016Akash Jinandra
 
Job description
Job descriptionJob description
Job descriptionsujan014
 
Embedded Systems Design and Programming & Internet of Things
Embedded Systems Design and Programming & Internet of ThingsEmbedded Systems Design and Programming & Internet of Things
Embedded Systems Design and Programming & Internet of ThingsVasundhara Sharma
 
People Counting: Internet of Things in Motion at JavaOne 2013
People Counting: Internet of Things in Motion at JavaOne 2013People Counting: Internet of Things in Motion at JavaOne 2013
People Counting: Internet of Things in Motion at JavaOne 2013Eurotech
 
Real-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping ContainersReal-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping Containersbenaam
 

Ähnlich wie Programming The Real World (20)

Introducing the Sun SPOTs
Introducing the Sun SPOTsIntroducing the Sun SPOTs
Introducing the Sun SPOTs
 
Sunspot Final
Sunspot FinalSunspot Final
Sunspot Final
 
3D Mapping with LiDAR - Report
3D Mapping with LiDAR - Report3D Mapping with LiDAR - Report
3D Mapping with LiDAR - Report
 
Digiplant colloquim
Digiplant colloquimDigiplant colloquim
Digiplant colloquim
 
PPT on Weather Monitoring System-converted (1).pptx
PPT on Weather Monitoring System-converted (1).pptxPPT on Weather Monitoring System-converted (1).pptx
PPT on Weather Monitoring System-converted (1).pptx
 
Better With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+ArduinoBetter With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+Arduino
 
Kunal_Sonone_Resume
Kunal_Sonone_ResumeKunal_Sonone_Resume
Kunal_Sonone_Resume
 
CV_Arshad_21June16
CV_Arshad_21June16CV_Arshad_21June16
CV_Arshad_21June16
 
Are you ready to be edgy? Bringing applications to the edge of the network
Are you ready to be edgy? Bringing applications to the edge of the networkAre you ready to be edgy? Bringing applications to the edge of the network
Are you ready to be edgy? Bringing applications to the edge of the network
 
.Net Gadgeteer
.Net Gadgeteer .Net Gadgeteer
.Net Gadgeteer
 
Java in the Air: A Case Study for Java-based Environment Monitoring Stations
Java in the Air: A Case Study for Java-based Environment Monitoring StationsJava in the Air: A Case Study for Java-based Environment Monitoring Stations
Java in the Air: A Case Study for Java-based Environment Monitoring Stations
 
Akash Jinandra EE CPE Resume 7-28-2016
Akash Jinandra EE CPE Resume 7-28-2016Akash Jinandra EE CPE Resume 7-28-2016
Akash Jinandra EE CPE Resume 7-28-2016
 
Job description
Job descriptionJob description
Job description
 
Rohan resume
Rohan resumeRohan resume
Rohan resume
 
Embedded Systems Design and Programming & Internet of Things
Embedded Systems Design and Programming & Internet of ThingsEmbedded Systems Design and Programming & Internet of Things
Embedded Systems Design and Programming & Internet of Things
 
People Counting: Internet of Things in Motion at JavaOne 2013
People Counting: Internet of Things in Motion at JavaOne 2013People Counting: Internet of Things in Motion at JavaOne 2013
People Counting: Internet of Things in Motion at JavaOne 2013
 
Sunspot
SunspotSunspot
Sunspot
 
Sunspot
SunspotSunspot
Sunspot
 
Real-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping ContainersReal-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping Containers
 
LEGaTO: Use cases
LEGaTO: Use casesLEGaTO: Use cases
LEGaTO: Use cases
 

Mehr von pauldeng

Toy robot simulator
Toy robot simulatorToy robot simulator
Toy robot simulatorpauldeng
 
Deng Peng document template
Deng Peng document templateDeng Peng document template
Deng Peng document templatepauldeng
 
Scaling a Rich Client to Half a Billion Users
Scaling a Rich Client to Half a Billion UsersScaling a Rich Client to Half a Billion Users
Scaling a Rich Client to Half a Billion Userspauldeng
 
Arch Rock Overview
Arch Rock OverviewArch Rock Overview
Arch Rock Overviewpauldeng
 
无线识别技术
无线识别技术无线识别技术
无线识别技术pauldeng
 
6 Lo Wpan Tutorial 20080206
6 Lo Wpan Tutorial 200802066 Lo Wpan Tutorial 20080206
6 Lo Wpan Tutorial 20080206pauldeng
 
Programming The Real World
Programming The Real WorldProgramming The Real World
Programming The Real Worldpauldeng
 
Acceleration Based Hci Prototype
Acceleration Based Hci PrototypeAcceleration Based Hci Prototype
Acceleration Based Hci Prototypepauldeng
 
Anonymizing Networks
Anonymizing NetworksAnonymizing Networks
Anonymizing Networkspauldeng
 
Anonymous Network
Anonymous NetworkAnonymous Network
Anonymous Networkpauldeng
 
IDEA Lab Presentation
IDEA Lab PresentationIDEA Lab Presentation
IDEA Lab Presentationpauldeng
 

Mehr von pauldeng (14)

Toy robot simulator
Toy robot simulatorToy robot simulator
Toy robot simulator
 
Deng Peng document template
Deng Peng document templateDeng Peng document template
Deng Peng document template
 
V We
V WeV We
V We
 
Final
FinalFinal
Final
 
Scaling a Rich Client to Half a Billion Users
Scaling a Rich Client to Half a Billion UsersScaling a Rich Client to Half a Billion Users
Scaling a Rich Client to Half a Billion Users
 
Arch Rock Overview
Arch Rock OverviewArch Rock Overview
Arch Rock Overview
 
无线识别技术
无线识别技术无线识别技术
无线识别技术
 
6 Lo Wpan Tutorial 20080206
6 Lo Wpan Tutorial 200802066 Lo Wpan Tutorial 20080206
6 Lo Wpan Tutorial 20080206
 
Programming The Real World
Programming The Real WorldProgramming The Real World
Programming The Real World
 
Acceleration Based Hci Prototype
Acceleration Based Hci PrototypeAcceleration Based Hci Prototype
Acceleration Based Hci Prototype
 
Anonymizing Networks
Anonymizing NetworksAnonymizing Networks
Anonymizing Networks
 
Anonymous Network
Anonymous NetworkAnonymous Network
Anonymous Network
 
Idea Lab
Idea LabIdea Lab
Idea Lab
 
IDEA Lab Presentation
IDEA Lab PresentationIDEA Lab Presentation
IDEA Lab Presentation
 

Programming The Real World

  • 1. Programming the Real-world Introduction to SPOT Peng Deng ∑ SUMLab CSSE University of Melbourne
  • 2. • Graduated from MEDC in 2008 • Research assistant in UniMelb – SensorWeb • Software engineer in Daintree Networks – Implement wireless protocol decoder 2
  • 3. Agenda • Introduction – Evolution of Computing – WSN • Sun SPOT – What is SPOT – Hardware and Software • Tutorial • Application Demos • My Projects 3
  • 4. Evolution of Computing 4 2020 and beyond: Ubiquity Era Thousands of computers per user. 4
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Debug Remote App • Create a debug agent – ant debug -DremoteId=0014.4F01.0000.46E0 • Attache IDE Debuger • Add your breakpoints 16
  • 19. Applications Robot 19
  • 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. Applications Mike’s Flying Bike Flying and Exercise! Sun SPOT + Google Earth Flight Simulator 21
  • 22. Applications SPOTkin Sun SPOT + Pumpkin? 22
  • 23. My Projects Game Panel Sun SPOT + Never Ball 23
  • 24. My Projects Virtual Earth Controller The earth is on your palm Sun SPOT + NASA World Wind 24
  • 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. Q&A
  • 27. Thank you Peng Deng Research Assistant SUM Research Lab CSSE University of Melbourne August 4, 2009 27