connecting arduino and android
DESCRIPTION
Arduino & Android presentation for GDG Android Tech Talks #5 in KrakówTRANSCRIPT
Arduino & AndroidMichał Tuszyński, iOS/Android Developer
twitter, github: @srgtuszy
Roadmap
2. USB3. NFC
1. Arduino primer
4. WIFI
Arduino Primer
Arduino is an open source hardware prototyping platform
Arduino Primer
What makes it special?
• Easiness to use• Modularity• Awesome community support
Open Accessory Protocol
Google’s protocol for usb communication with third party devices
Open Accessory Protocol
How does USB work?
Open Accessory ProtocolHow does USB work?
• Host• Slave
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
Open Accessory ProtocolHow does USB work?
Open Accessory Protocol
Using your app with accessory
Open Accessory Protocol
Open Accessory Protocol
Open Accessory Protocol
Accessory Permissions
Open Accessory ProtocolAccessory Permissions
Open Accessory ProtocolThe easy way
Raspberry Pi + powered usb hub + adb
Open Accessory ProtocolThe easy way
adb shell am start -a pl.myapp.action.DO_SOMETHING
Accessory Demo
NFC
NFC
Builds upon RFID system by allowing two-way communication between endpoints
NFCHow does RFID work?
Reader TagEnergy
Data
NFC
NDEF
NFC
NFC
1. Tag reader/writer2. P2P (Android Beam)3. Card Emulation
NFC
Android Beam
NFCAndroid Beam
• Uses Bluetooth for file processing• On Samsung, it’s called S Beam
NFCCard Emulation
NFCCard Emulation
- With Secure Element- Without Secure Element
NFC
Card Emulation
NFCCard Emulation
HostApduService
NFCCard Emulation
HostApduService
NFCCard Emulation
Limitations
NFCCard Emulation
Earlier versions?
NFCCard Emulation
Secure Element
NFCCard Emulation
NFCCard Emulation
NFC
Tag dispatch system
NFC
NFC
NFC Demo
WIFI
WIFI
Arduino Yun
WIFI
Arduino Yun = arduino + OpenWrt
WIFI
Bridge
WIFIBridge
WIFI DEMO
Wrap Up
Thank You!Michał Tuszyński, iOS/Android Developer
Twitter, Github: @srgtuszy