Overview of current and future ways to establish connection between devices and also between accessories, with code links.
Presentation given at UXperts on 11 June 2012 in Leuven, Belgium
UXperts 2012: Connectivity Beyond the Web (Android), Friedger Müffke
1. Connectivity Beyond The Web
Friedger Müffke
UXperts.mobi OpenIntents
11 June 2012 - Brussels
@fmdroid
2. Overview
● No server in the cloud
1.Wireless with infrastructure
2.Cable
3.Wireless without infrastructure
3. RCSe / Joyn
● GSM connection + data connection
● Enhance phone calls
● MWC2012: GSMA announced Joyn
● App To App: Vodafone/Jibe Mobile
– Phone number as identifier
– https://rcssdk.developer.vodafone.com/android
4. WiFi
● Discovery in the network
WifiManager
● Socket communication (HTTP, etc.)
● Code: github.com/rorist/android-network-discovery
● Examples
– AllJoyn (Qualcomm)
– AmbientTalk (VUB)
– Anymote Library (Google TV)
5. USB Client / ADK
● Open Android Accessory Protocol
● Device is USB client
– Receives power from accessory
– Driver burden with accessory
● UsbManager, UsbAccessory
● Communication via file transfer
● Many dev boards available (Arduino, ST)
6. USB Host
● Requires drivers
– Soft driver http://android.serverbox.ch/?p=549
● Device provides power
● USB OTG
● API 12 (3.1)
● Communication
via UsbDeviceConnection
7. Audio Jack
● Credit Card Reader
● HiJack sensors set
● Pressure Pen (Kickstarter)
● AudioTrack:streaming generated sound
– github.com Android-Audio-Jack-Communication
● MediaRecorder:recording
– code.google.com NoiseAlert
● FFT or FSK for modulation, demodulation
8. Wireless Technologies
Setup Range Power Data Rate
Time Consumption
PMR 446 / PTT > 500m 500mW analog /
(446 MHz) 3.6kps
Bluetooth <6s 100m <40mA 2-3Mbps
(2.4 GHz)
ANT+ (Garmin) 100m 15mA 1Mbps
(2.4 GHz)
Bluetooth 4.0 < 0.006s 100m <15mA 1Mbps
(2.4 GHz)
WiFi Direct 250m 100mA 150Mbps
(2.4 GHz)
NFC <0,1s <0.2m <15mA 424kbps
(13,56 MHz)
9. Bluetooth LE
● Standard connection BluetoothAdapter
● Examples: heart rate, proximity tag (e.g. tōd)
● No API yet available for Android
– Nordic/Broadcom API
● http://code.google.com/p/broadcom-ble/
● BleClientService
– Motorola: Heart rate API
● FindMe, Proximity profiles
● Devices: iPhone 4S, Motorola Razr
10. WiFi Direct
● API level 14
● WifiP2pManager
● Group of devices
● Can connect to legacy devices
● WiFi Display – still to come
11. NFC Push
● API read, write, push since Android 2.3
– Use case: Settings (NFC Profile App)
● NFC Beam since Android 4.0
● Filtering through mime-types
● NfcAdapter
● Use cases: Payment, sharing