SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
ADK  101	
           Amir Lazarovich and Uri Shaked

            amirlazarovich@gmail.com / uri@salsa4fun.co.il

Reversim  Summit  2013
What  we  will  cover	
•    What is ADK?
•    Inspirations
•    Live demo
•    Android-ADK simple communication protocol
•    1 minute about resistors and LEDs
•    Setting up the technical environment
•    Lab outline
•    Coding!
What  is  a  Accessory  
Development  Kit?
Inspiration	




h@p://youtu.be/hHVM_5KmHdA
Inspiration	




h@p://youtu.be/Ub7newiu930
Live  Demo
Android-­‐‑ADK  
communication  protocol
Android-­‐‑ADK  
communication  protocol	
         Android Events
         -  onConnected
	
       -  onDisconnected
	
       -  onSendCommand
	
	
         -  onAckReceived
Android-­‐‑ADK  
communication  protocol	
         Android Communication API
         -  sendCommand

         Accepts:
   	
   	
    -  byte command
   	
    -  byte action
         -  byte[] data
Android-­‐‑ADK  
communication  protocol	
         ADK Events
         -  onHandleMessage

         Signature:
         -  byte command
         -  byte action
   	
    -  byte dataLength
   	
   	
    -  byte* data
Resistors	
•  Manage the flow of current through a circuit,
   creating a drop in voltage between two points
Light  Emi@ing  Diodes
Technical  environment	
•  Requirements
   o  Android device running 2.3.4 or higher (not all custom ROMs are supported)
   o  USB cable
   o  Laptop with:
        •  Android SDK (including platform 2.3.3, API level or higher)
        •  Arduino IDE for ADK 2011
        •  Arduino IDE for ADK 2012
        •  Arduino libs –
           copy these libraries to [arduino_installation_folder]/libraries/
        •  Eclipse + Android plugin / Intellij / etc.


•  Lab’s git repository
   o  https://github.com/amirlazarovich/codelab-adk-leds
Lab  Outline	
•  Setting up the environment: Integrated blinking led

•  Getting to know the Android end: Android
  controlled switch on/off for the integrated led

•  Getting to know the ADK end: Controlling an
  external led

•  Customizing both ends: Christmas lights
1 st  milestone  (part  1)    

      Integrated  Blinking  Led	
•  Mission:
      all teams should be able to communicate with their ADKs
•  Steps:
1.    git clone git@github.com:amirlazarovich/codelab-adk-leds.git
2.    Copy the Arduino libraries from [cloned directory]/Arduino/libs to
      [Arduino installation folder]/libraries/
3.    Open the Arduino IDE and select the correct board: tools-board-
      [Arduino mega 2560 or Mega ADK] or [ADK 2012] (depending on
      your ADK model)
4.    Now select the correct usb serial-port: tty.usbserial***
5.    Run the example project: file – examples – basics - blink
1 st  milestone  (part  2)    

      Integrated  Blinking  Led	
•  Mission:
      all teams should be able to communicate with their ADKs
•  Steps:
1.    Open Eclipse/Intellij/etc. and import the projects “adk-manager”
      and “blinking-led”
2.    Make sure the project “blinking-led” import the library project “adk-
      manager” and uses SDK >= 2.3.3
3.    Install the blinking-led project on your Android device
4.    Open the ADK IDE and run the project Adk_201X_blinking_led
2 nd  milestone    

              Android  Switch	
•  Mission:
  Getting familiar with the Android end protocol


•  What you should do:
  Create a new layout with a Switch/Toggle button/etc. that sends
  signals to the ADK device to turn the led on/off
3 rd  milestone    

                  External  Led	
•  Mission:
  Getting familiar with the Arduino end protocol


•  What you should do:
  Build a simple electronic circuit and control it with your ADK
Final  milestone    
              Christmas  lights	
•  Mission:
  Customize both ends and control multiple LEDs


•  What you should do:
  Build any electronic circuit you want that is compiled of LEDs and
  resistors. Control those LEDs using your Android device in any way you
  want (switches/automatic timers/sensors/etc.)
Thank  you	
Our sponsors:
See  you  at  our  next  Lab

Weitere ähnliche Inhalte

Ähnlich wie Adk 101

aoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaaoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsola
Rajesh Sola
 

Ähnlich wie Adk 101 (20)

Weather monitoring System Using STM32
Weather monitoring System Using STM32Weather monitoring System Using STM32
Weather monitoring System Using STM32
 
aoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsolaaoa-adk-osidays-rajeshsola
aoa-adk-osidays-rajeshsola
 
Interfacing of a LED display with laptop using Arduino
Interfacing of a LED display with laptop using ArduinoInterfacing of a LED display with laptop using Arduino
Interfacing of a LED display with laptop using Arduino
 
STM -32
STM -32STM -32
STM -32
 
learning STM -32
learning STM -32 learning STM -32
learning STM -32
 
From Arduino to ADK
From Arduino to ADKFrom Arduino to ADK
From Arduino to ADK
 
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
Track 5   session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...Track 5   session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
Track 5 session 5 - st dev con 2016 - stm32 hands on seminar - cloud connec...
 
Smartphone++
Smartphone++Smartphone++
Smartphone++
 
Android Lollipop
Android LollipopAndroid Lollipop
Android Lollipop
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development Kit
 
B1_25Jan21.pptx
B1_25Jan21.pptxB1_25Jan21.pptx
B1_25Jan21.pptx
 
Getting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer KitGetting started with Intel IoT Developer Kit
Getting started with Intel IoT Developer Kit
 
Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!Lab Handson: Power your Creations with Intel Edison!
Lab Handson: Power your Creations with Intel Edison!
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Overview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer KitOverview of the Intel® Internet of Things Developer Kit
Overview of the Intel® Internet of Things Developer Kit
 
Road to RIoT 2017 Medan
Road to RIoT 2017 MedanRoad to RIoT 2017 Medan
Road to RIoT 2017 Medan
 
technical report presents a comprehensive study. .pptx
technical report presents a comprehensive study. .pptxtechnical report presents a comprehensive study. .pptx
technical report presents a comprehensive study. .pptx
 
Led cube presentation
Led cube presentationLed cube presentation
Led cube presentation
 
Getting Started with the NodeMCU- NodeMCU Programming (By Akshet Patel)
Getting Started with the NodeMCU- NodeMCU Programming (By Akshet Patel)Getting Started with the NodeMCU- NodeMCU Programming (By Akshet Patel)
Getting Started with the NodeMCU- NodeMCU Programming (By Akshet Patel)
 

Kürzlich hochgeladen

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Kürzlich hochgeladen (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Adk 101

  • 1. ADK  101 Amir Lazarovich and Uri Shaked amirlazarovich@gmail.com / uri@salsa4fun.co.il Reversim  Summit  2013
  • 2. What  we  will  cover •  What is ADK? •  Inspirations •  Live demo •  Android-ADK simple communication protocol •  1 minute about resistors and LEDs •  Setting up the technical environment •  Lab outline •  Coding!
  • 3. What  is  a  Accessory   Development  Kit?
  • 8. Android-­‐‑ADK   communication  protocol Android Events -  onConnected -  onDisconnected -  onSendCommand -  onAckReceived
  • 9. Android-­‐‑ADK   communication  protocol Android Communication API -  sendCommand Accepts: -  byte command -  byte action -  byte[] data
  • 10. Android-­‐‑ADK   communication  protocol ADK Events -  onHandleMessage Signature: -  byte command -  byte action -  byte dataLength -  byte* data
  • 11. Resistors •  Manage the flow of current through a circuit, creating a drop in voltage between two points
  • 13. Technical  environment •  Requirements o  Android device running 2.3.4 or higher (not all custom ROMs are supported) o  USB cable o  Laptop with: •  Android SDK (including platform 2.3.3, API level or higher) •  Arduino IDE for ADK 2011 •  Arduino IDE for ADK 2012 •  Arduino libs – copy these libraries to [arduino_installation_folder]/libraries/ •  Eclipse + Android plugin / Intellij / etc. •  Lab’s git repository o  https://github.com/amirlazarovich/codelab-adk-leds
  • 14. Lab  Outline •  Setting up the environment: Integrated blinking led •  Getting to know the Android end: Android controlled switch on/off for the integrated led •  Getting to know the ADK end: Controlling an external led •  Customizing both ends: Christmas lights
  • 15. 1 st  milestone  (part  1)     Integrated  Blinking  Led •  Mission: all teams should be able to communicate with their ADKs •  Steps: 1.  git clone git@github.com:amirlazarovich/codelab-adk-leds.git 2.  Copy the Arduino libraries from [cloned directory]/Arduino/libs to [Arduino installation folder]/libraries/ 3.  Open the Arduino IDE and select the correct board: tools-board- [Arduino mega 2560 or Mega ADK] or [ADK 2012] (depending on your ADK model) 4.  Now select the correct usb serial-port: tty.usbserial*** 5.  Run the example project: file – examples – basics - blink
  • 16. 1 st  milestone  (part  2)     Integrated  Blinking  Led •  Mission: all teams should be able to communicate with their ADKs •  Steps: 1.  Open Eclipse/Intellij/etc. and import the projects “adk-manager” and “blinking-led” 2.  Make sure the project “blinking-led” import the library project “adk- manager” and uses SDK >= 2.3.3 3.  Install the blinking-led project on your Android device 4.  Open the ADK IDE and run the project Adk_201X_blinking_led
  • 17. 2 nd  milestone     Android  Switch •  Mission: Getting familiar with the Android end protocol •  What you should do: Create a new layout with a Switch/Toggle button/etc. that sends signals to the ADK device to turn the led on/off
  • 18. 3 rd  milestone     External  Led •  Mission: Getting familiar with the Arduino end protocol •  What you should do: Build a simple electronic circuit and control it with your ADK
  • 19. Final  milestone     Christmas  lights •  Mission: Customize both ends and control multiple LEDs •  What you should do: Build any electronic circuit you want that is compiled of LEDs and resistors. Control those LEDs using your Android device in any way you want (switches/automatic timers/sensors/etc.)
  • 21. See  you  at  our  next  Lab