connecting arduino and android

47
Arduino & Android Michał Tuszyński, iOS/Android Developer twitter, github: @srgtuszy

Upload: michal-tuszynski

Post on 01-Dec-2014

784 views

Category:

Self Improvement


5 download

DESCRIPTION

Arduino & Android presentation for GDG Android Tech Talks #5 in Kraków

TRANSCRIPT

Page 1: Connecting Arduino and Android

Arduino & AndroidMichał Tuszyński, iOS/Android Developer

twitter, github: @srgtuszy

Page 2: Connecting Arduino and Android

Roadmap

2. USB3. NFC

1. Arduino primer

4. WIFI

Page 3: Connecting Arduino and Android

Arduino Primer

Arduino is an open source hardware prototyping platform

Page 4: Connecting Arduino and Android

Arduino Primer

What makes it special?

• Easiness to use• Modularity• Awesome community support

Page 5: Connecting Arduino and Android

Open Accessory Protocol

Google’s protocol for usb communication with third party devices

Page 6: Connecting Arduino and Android

Open Accessory Protocol

How does USB work?

Page 7: Connecting Arduino and Android

Open Accessory ProtocolHow does USB work?

• Host• Slave

Page 8: Connecting Arduino and Android

Open Accessory ProtocolHow does USB work?

• Host • Slave

- Is the power source

- Keeps track of connected devices

- Initiates the data transfer

- Communicates with host via endpoints

- Can draw power from host

- Describes it’s protocols & capabilities to the host

Page 9: Connecting Arduino and Android

Open Accessory ProtocolHow does USB work?

Page 10: Connecting Arduino and Android

Open Accessory Protocol

Using your app with accessory

Page 11: Connecting Arduino and Android

Open Accessory Protocol

Page 12: Connecting Arduino and Android

Open Accessory Protocol

Page 13: Connecting Arduino and Android

Open Accessory Protocol

Accessory Permissions

Page 14: Connecting Arduino and Android

Open Accessory ProtocolAccessory Permissions

Page 15: Connecting Arduino and Android

Open Accessory ProtocolThe easy way

Raspberry Pi + powered usb hub + adb

Page 16: Connecting Arduino and Android

Open Accessory ProtocolThe easy way

adb shell am start -a pl.myapp.action.DO_SOMETHING

Page 17: Connecting Arduino and Android

Accessory Demo

Page 18: Connecting Arduino and Android

NFC

Page 19: Connecting Arduino and Android

NFC

Builds upon RFID system by allowing two-way communication between endpoints

Page 20: Connecting Arduino and Android

NFCHow does RFID work?

Reader TagEnergy

Data

Page 21: Connecting Arduino and Android

NFC

NDEF

Page 22: Connecting Arduino and Android

NFC

Page 23: Connecting Arduino and Android

NFC

1. Tag reader/writer2. P2P (Android Beam)3. Card Emulation

Page 24: Connecting Arduino and Android

NFC

Android Beam

Page 25: Connecting Arduino and Android

NFCAndroid Beam

• Uses Bluetooth for file processing• On Samsung, it’s called S Beam

Page 26: Connecting Arduino and Android

NFCCard Emulation

Page 27: Connecting Arduino and Android

NFCCard Emulation

- With Secure Element- Without Secure Element

Page 28: Connecting Arduino and Android

NFC

Card Emulation

Page 29: Connecting Arduino and Android

NFCCard Emulation

HostApduService

Page 30: Connecting Arduino and Android

NFCCard Emulation

HostApduService

Page 31: Connecting Arduino and Android

NFCCard Emulation

Limitations

Page 32: Connecting Arduino and Android

NFCCard Emulation

Earlier versions?

Page 33: Connecting Arduino and Android

NFCCard Emulation

Secure Element

Page 34: Connecting Arduino and Android

NFCCard Emulation

Page 35: Connecting Arduino and Android

NFCCard Emulation

Page 36: Connecting Arduino and Android

NFC

Tag dispatch system

Page 37: Connecting Arduino and Android

NFC

Page 38: Connecting Arduino and Android

NFC

Page 39: Connecting Arduino and Android

NFC Demo

Page 40: Connecting Arduino and Android

WIFI

Page 41: Connecting Arduino and Android

WIFI

Arduino Yun

Page 42: Connecting Arduino and Android

WIFI

Arduino Yun = arduino + OpenWrt

Page 43: Connecting Arduino and Android

WIFI

Bridge

Page 44: Connecting Arduino and Android

WIFIBridge

Page 45: Connecting Arduino and Android

WIFI DEMO

Page 46: Connecting Arduino and Android

Wrap Up

Page 47: Connecting Arduino and Android

Thank You!Michał Tuszyński, iOS/Android Developer

Twitter, Github: @srgtuszy