SlideShare una empresa de Scribd logo
1 de 21
Controlling the real world
            from Android
                       Alexandru IOVANOVICI
                                  19-01-2013



 Beta is provided by
Quick outline


 What is Arduino ?

 What is Amarino ?

 How to talk to an Arduino device from Android ?

 A few words about Google IOIO;

 Demo moment …with Beta by Robofun

 Q&A
Where not otherwise stated all the images and diagrams are taken from Bonifaz Kaufmann's thesis on Amarino
What is Arduino ?
A few projects with...




                 Arduino
Arduino +'s

    Multiplatfrom IDE;

    Quite cheap;

    Simple UI on the IDE; easy to learn … but can be integrated
    also in VS or Eclipse for a “real” IDE;

    USB programming interface … real COM is dead;

    board layout, bootloader and IDE are Open Source;

    Large and active community;

    Started as educational project → easy to learn for the
    novices;
What is Amarino ?
Platform considerations for Amarino
Design decisions of Amarino

  Amarino shall be able to run as a background task →
                          unobtrusive

  Interfaces for third-party applications shall be provided →
                           extensible

  Comprehensive monitoring shall be available →
                          transparent

  Parallel communication to multiple devices shall be
  possible →
                            powerful

  Bluetooth related code shall be decoupled →
                            portable
Architecture of Amarino
How it looks like ?
Amarino – Event Manager
Amarino – Event Bundle via plugins
Ambient Light Demo App.
CallMyShirt Demo App.
Workout Demo App.
Amarino – API
1 private static final String DEVICE_ADDRESS = "00:06:66:03:73:7B";
2
3 @Override
4 protected void onStart() {
5 super.onStart();
6
7 Amarino.connect(this, DEVICE_ADDRESS);
8 }
9
10 @Override
11 protected void onStop() {
12 super.onStop();
14 // if you connect in onStart() you must not forget to disconnect in
onStop()
15 Amarino.disconnect(this, DEVICE_ADDRESS);
16 }



1 final char flag = 'a';
2 final String message = "Amarino rocks!";
3
4 Amarino.sendDataToArduino(this, DEVICE_ADDRESS, flag, message);
Amarino – Documentation

  Online tutorials

  Code Examples

  Javadoc            www.amarino-toolkit.net

  Source Code

  Discussion forum

                  Android 1.5 and later;
                 
                  USB host and Bluetooth;
                 
                  Java API – no embedded;
                 
                  No HW||SW mods on Android;
                 
                  Open Accesory (>=2.3.4)→
                 Accesory Developement Kit
                 (ADK)
                 
                  48 I/O pins, 9PWM, 3 TWI,
© sparkfun.com
                 5V@1.5A power supply;
                 
                  Open Source … everything
Demo moment

Más contenido relacionado

Similar a GDG-CJ; Andorid and Arduino: Amarino

IoT Development from Software Developer Perspective
IoT Development from Software Developer PerspectiveIoT Development from Software Developer Perspective
IoT Development from Software Developer PerspectiveAndri Yadi
 
Porting your favourite cmdline tool to Android
Porting your favourite cmdline tool to AndroidPorting your favourite cmdline tool to Android
Porting your favourite cmdline tool to AndroidVlatko Kosturjak
 
Arduino presentation by_warishusain
Arduino presentation by_warishusainArduino presentation by_warishusain
Arduino presentation by_warishusainstudent
 
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1huyzing
 
arduino
arduinoarduino
arduinomurbz
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la ActualidadLaurence HR
 
Amarino Presentation
Amarino PresentationAmarino Presentation
Amarino PresentationEleni Huebsch
 
Cesec2015 - Arduino Designer
Cesec2015 - Arduino DesignerCesec2015 - Arduino Designer
Cesec2015 - Arduino Designermelbats
 
From printed circuit boards to exploits
From printed circuit boards to exploitsFrom printed circuit boards to exploits
From printed circuit boards to exploitsvirtualabs
 
ARDUINO_presentation_by_Ravishankar_Pati.ppt
ARDUINO_presentation_by_Ravishankar_Pati.pptARDUINO_presentation_by_Ravishankar_Pati.ppt
ARDUINO_presentation_by_Ravishankar_Pati.pptDeanSchoolofElectric1
 
Advanced View Arduino Projects List - Use Arduino for Projects.pdf
Advanced View Arduino Projects List - Use Arduino for Projects.pdfAdvanced View Arduino Projects List - Use Arduino for Projects.pdf
Advanced View Arduino Projects List - Use Arduino for Projects.pdfWiseNaeem
 
120018965 lab view-arduino-v1
120018965 lab view-arduino-v1120018965 lab view-arduino-v1
120018965 lab view-arduino-v1Eslem Islam
 
OzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousOzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousCraig Dunn
 
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdfAdvanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdfWiseNaeem
 

Similar a GDG-CJ; Andorid and Arduino: Amarino (20)

IoT Development from Software Developer Perspective
IoT Development from Software Developer PerspectiveIoT Development from Software Developer Perspective
IoT Development from Software Developer Perspective
 
Porting your favourite cmdline tool to Android
Porting your favourite cmdline tool to AndroidPorting your favourite cmdline tool to Android
Porting your favourite cmdline tool to Android
 
Arduino presentation by_warishusain
Arduino presentation by_warishusainArduino presentation by_warishusain
Arduino presentation by_warishusain
 
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
 
ARDUINO presentation by Bamidele Samuel.ppt
ARDUINO presentation by Bamidele Samuel.pptARDUINO presentation by Bamidele Samuel.ppt
ARDUINO presentation by Bamidele Samuel.ppt
 
arduino
arduinoarduino
arduino
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la Actualidad
 
Amarino Presentation
Amarino PresentationAmarino Presentation
Amarino Presentation
 
Cesec2015 - Arduino Designer
Cesec2015 - Arduino DesignerCesec2015 - Arduino Designer
Cesec2015 - Arduino Designer
 
From printed circuit boards to exploits
From printed circuit boards to exploitsFrom printed circuit boards to exploits
From printed circuit boards to exploits
 
Arduino
ArduinoArduino
Arduino
 
Aurdino presentation
Aurdino presentationAurdino presentation
Aurdino presentation
 
ARDUINO_presentation
ARDUINO_presentationARDUINO_presentation
ARDUINO_presentation
 
ARDUINO_presentation_by_Ravishankar_Pati.ppt
ARDUINO_presentation_by_Ravishankar_Pati.pptARDUINO_presentation_by_Ravishankar_Pati.ppt
ARDUINO_presentation_by_Ravishankar_Pati.ppt
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Advanced View Arduino Projects List - Use Arduino for Projects.pdf
Advanced View Arduino Projects List - Use Arduino for Projects.pdfAdvanced View Arduino Projects List - Use Arduino for Projects.pdf
Advanced View Arduino Projects List - Use Arduino for Projects.pdf
 
120018965 lab view-arduino-v1
120018965 lab view-arduino-v1120018965 lab view-arduino-v1
120018965 lab view-arduino-v1
 
OzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furiousOzAltNet Fast-ANDroid-furious
OzAltNet Fast-ANDroid-furious
 
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdfAdvanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
Advanced View of Atmega Microcontroller Projects List - ATMega32 AVR.pdf
 

Más de Alexandru IOVANOVICI (14)

CanSat Tehnical Workshop
CanSat Tehnical WorkshopCanSat Tehnical Workshop
CanSat Tehnical Workshop
 
Aiesec University 2012-arduino
Aiesec University 2012-arduinoAiesec University 2012-arduino
Aiesec University 2012-arduino
 
PhD Admission Pitching
PhD Admission PitchingPhD Admission Pitching
PhD Admission Pitching
 
Power analysis of H.264/AVC for mobile platforms
Power analysis of H.264/AVC for mobile platformsPower analysis of H.264/AVC for mobile platforms
Power analysis of H.264/AVC for mobile platforms
 
Arduino and Internet of Thinks: ShareIT TM: march 2010, TM
Arduino and Internet of Thinks: ShareIT TM: march 2010, TMArduino and Internet of Thinks: ShareIT TM: march 2010, TM
Arduino and Internet of Thinks: ShareIT TM: march 2010, TM
 
Biblioteca Virtuala Timis
Biblioteca Virtuala TimisBiblioteca Virtuala Timis
Biblioteca Virtuala Timis
 
Prezentare tcs2011
Prezentare tcs2011Prezentare tcs2011
Prezentare tcs2011
 
Culegere de aplicatii de TIC
Culegere de aplicatii de TICCulegere de aplicatii de TIC
Culegere de aplicatii de TIC
 
Public Libraries and Education (school)
Public Libraries and Education (school)Public Libraries and Education (school)
Public Libraries and Education (school)
 
Recursivitate: Aplicatii in C
Recursivitate: Aplicatii in CRecursivitate: Aplicatii in C
Recursivitate: Aplicatii in C
 
Parcurgerea Grafurilor Neorientate
Parcurgerea Grafurilor NeorientateParcurgerea Grafurilor Neorientate
Parcurgerea Grafurilor Neorientate
 
Wikitrafic
WikitraficWikitrafic
Wikitrafic
 
Curs2-POO
Curs2-POOCurs2-POO
Curs2-POO
 
Curs1-POO-Loga
Curs1-POO-LogaCurs1-POO-Loga
Curs1-POO-Loga
 

GDG-CJ; Andorid and Arduino: Amarino

  • 1. Controlling the real world from Android Alexandru IOVANOVICI 19-01-2013 Beta is provided by
  • 2.
  • 3. Quick outline  What is Arduino ?  What is Amarino ?  How to talk to an Arduino device from Android ?  A few words about Google IOIO;  Demo moment …with Beta by Robofun  Q&A
  • 4. Where not otherwise stated all the images and diagrams are taken from Bonifaz Kaufmann's thesis on Amarino
  • 6. A few projects with... Arduino
  • 7. Arduino +'s  Multiplatfrom IDE;  Quite cheap;  Simple UI on the IDE; easy to learn … but can be integrated also in VS or Eclipse for a “real” IDE;  USB programming interface … real COM is dead;  board layout, bootloader and IDE are Open Source;  Large and active community;  Started as educational project → easy to learn for the novices;
  • 10. Design decisions of Amarino  Amarino shall be able to run as a background task → unobtrusive  Interfaces for third-party applications shall be provided → extensible  Comprehensive monitoring shall be available → transparent  Parallel communication to multiple devices shall be possible → powerful  Bluetooth related code shall be decoupled → portable
  • 12. How it looks like ?
  • 13. Amarino – Event Manager
  • 14. Amarino – Event Bundle via plugins
  • 18. Amarino – API 1 private static final String DEVICE_ADDRESS = "00:06:66:03:73:7B"; 2 3 @Override 4 protected void onStart() { 5 super.onStart(); 6 7 Amarino.connect(this, DEVICE_ADDRESS); 8 } 9 10 @Override 11 protected void onStop() { 12 super.onStop(); 14 // if you connect in onStart() you must not forget to disconnect in onStop() 15 Amarino.disconnect(this, DEVICE_ADDRESS); 16 } 1 final char flag = 'a'; 2 final String message = "Amarino rocks!"; 3 4 Amarino.sendDataToArduino(this, DEVICE_ADDRESS, flag, message);
  • 19. Amarino – Documentation  Online tutorials  Code Examples  Javadoc www.amarino-toolkit.net  Source Code  Discussion forum
  • 20. Android 1.5 and later;  USB host and Bluetooth;  Java API – no embedded;  No HW||SW mods on Android;  Open Accesory (>=2.3.4)→ Accesory Developement Kit (ADK)  48 I/O pins, 9PWM, 3 TWI, © sparkfun.com 5V@1.5A power supply;  Open Source … everything