Bluetooth Low Energy
Upcoming SlideShare
Loading in...5
×
 

Bluetooth Low Energy

on

  • 6,764 views

Mentre l’IoT porta sempre più oggetti sulla rete globale, Bluetooth Low Energy (BLE), porta l’interazione tra smartphone e oggetti fisici ad un nuovo livello di pervasività. “Magico” come ...

Mentre l’IoT porta sempre più oggetti sulla rete globale, Bluetooth Low Energy (BLE), porta l’interazione tra smartphone e oggetti fisici ad un nuovo livello di pervasività. “Magico” come Bluetooth, “prossimo” come NFC, “fisico” come l’ambiente che ci circonda, BLE facilita e incoraggia l’interfacciamento a basso costo con qualsiasi oggetto e riapre (finalmente) il dominio dei wearable e dell’indoor-navigation, garantendo bassi consumi e lunga autonomia.

Statistics

Views

Total Views
6,764
Views on SlideShare
2,459
Embed Views
4,305

Actions

Likes
4
Downloads
55
Comments
0

6 Embeds 4,305

http://www.gerdavax.it 4004
http://gerdavax.it 277
https://twitter.com 19
https://translate.googleusercontent.com 3
https://www.rebelmouse.com 1
http://ranksit.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Bluetooth Low Energy Presentation Transcript

  • 1. Stefano Sanna Bluetooth Low Energy: la rivoluzione silenziosa dell’ambient intelligence gerdavax AT gmail DOT com
  • 2. Agenda Bluetooth Low Energy • Presentazioni ! • Ambient Intelligence ! • Bluetooth • Genesi ed evoluzioni • Bluetooth Low Energy • Playground
 • FAQ & Conclusioni gerdavax AT gmail DOT com
  • 3. Speaker Bluetooth Low Energy • gerdavax AT gmail DOT com Responsabile Android Lab @ Open Reply ! • Co-autore di “Android Programmazione Avanzata”
 (con E. Di Saverio, Ed. FAG) ! • Autore del libro “Java Micro Edition” 
 (Hoepli) ! • Supporter @ Codemotion since 2005 (JIP Day!)
  • 4. Slide’s title Bluetooth Low Energy Cablaggi nella metropolitana di Londra gerdavax AT gmail DOT com
  • 5. Bluetooth Low Energy gerdavax AT gmail DOT com 2002: quattro mani per usare un PDA con touchscreen resistivo 
 (con pennino), modem 2G seriale, GPS seriale e fotocamera da 1.5MPX)
  • 6. Bluetooth Low Energy gerdavax AT gmail DOT com
  • 7. Ambient Intelligence Bluetooth Low Energy gerdavax AT gmail DOT com In computing, ambient intelligence (AmI) refers to electronic environments that are sensitive and responsive to the presence of people.
 Ambient intelligence is a vision on the future of consumer electronics, telecommunications and computing that was originally developed in the late 1990s for the time frame 2010–2020. 
 In an ambient intelligence world, devices work in concert to support people in carrying out their everyday life activities, tasks and rituals in an easy, natural way using information and intelligence that is hidden in the network connecting these devices (see Internet of Things). 
 As these devices grow smaller, more connected and more integrated into our environment, the technology disappears into our surroundings until only the user interface remains perceivable by users. http://en.wikipedia.org/wiki/Ambient_intelligence
  • 8. Everyday Life Activity Bluetooth Low Energy gerdavax AT gmail DOT com • Sveglia, casa, doccia, colazione, news…
 • Abbigliamento, agenda, si parte!
 • Cammino, bici, auto, scooter, treno, metro, aereo…
 • Home office, HQ office, client office, mobile office…
 • Centro commerciale, parcheggio, ospedale, aeroporto, stazione, parco, cinema, palestra, piscina, scuola, mare, montagna, ristorante…
  • 9. Everyday Life Activity Bluetooth Low Energy Info ambiente Prossimità Beacon Localizzazione Termometro corporeo Cardio Clima Pressione arteriosa • gerdavax AT gmail DOT com frequenzimetro Controllo accessi Ciclo del sonno Glucometro Energia Tracker Pesapersone Ciclometro Metro Safety & Security
  • 10. Breve storia di Bluetooth Bluetooth Low Energy • • • • • • • • • • gerdavax AT gmail DOT com 1994: nasce come “cable replacement” per connessioni seriali 1999: rilasciato Bluetooth 1.0, piuttosto instabile… 2003: rilasciato Bluetooth 1.2, stabile e realmente funzionale 2004: arriva Bluetooth 2.0 con EDR: aumenta la velocità 2006: Nokia annuncia Wibree per comunicazione a basso consumo 2007: è l’anno di Bluetooth 2.1+EDR. Migliora la sicurezza 2009: arriva Bluetooth 3.0 2010: è annunciato Bluetooth 4.0 con estensioni Low Energy 2011: Mac mini, MacBook Air e iPhone 4s sono i primi dispositivi equipaggiati con Bluetooth 4.0 2013: 2.5 miliardi di device Bluetooth-enabled nel mondo
  • 11. Alcuni dei limiti di Bluetooth Bluetooth Low Energy • • • • • • • • • • gerdavax AT gmail DOT com Consumo energetico non trascurabile Massimo 7 slave per ogni master Fragile in contesti di elevato affollamento Tempi di discovery troppo lunghi (sino a 20s) Advertising “su richiesta” Meccanismi di pairing lenti Scarsa granularità dei profili Stack piuttosto ricco (e, dunque, complesso) Regole visibilità e discovery limitate Stream-oriented (RFCOMM o Audio)
  • 12. La contro-evoluzione: 4.0 non è 3.0++! Bluetooth Low Energy • gerdavax AT gmail DOT com Architettura non simmetrica (central vs peripheral) • Sbilanciare i ruoli consente di avere periferiche semplici, poco costose e con bassissimo consumo di energia (< 15mA picco) Compiti complessi lasciati all’host Non è previsto il cambio di ruolo (vedi HSP) • • • Pacchetti piccoli ( < 50 byte) • Richiedono poca energia per essere trasmessi • MCU più semplice, meno memoria, meno possibilità di errore • Trasmissione a bassa velocità e bassa potenza • Advertising spontaneo e dinamico • 3 canali di advertising anziché 32FH • 40 canali complessivi
  • 13. Contro-evoluzione: velocità Bluetooth Low Energy gerdavax AT gmail DOT com 60 54 Velocità (Mbps) 45 30 15 1 3 0,3 0 v1.1 v2.0 v3.0 v4.0
  • 14. Magico, Prossimo, Fisico Bluetooth Low Energy • gerdavax AT gmail DOT com Magico • apparati piccolissimi • • autonomia incredibile discovery in pochi millisecondi
 • Prossimo • funziona a brevissima distanza • l’info sulla potenza (normalizzata 1m) consente localizzazione indoor
 • Fisico • È possibile… infilarlo ovunque! • Le prime applicazioni sono davvero legate alle attività quotidiane
  • 15. Ruoli Bluetooth Low Energy • gerdavax AT gmail DOT com Advertiser • • Invia segnali periodici, non è dotato di ricevitore Scanner • • Attende segnali provenienti da un broadcaster; non trasmette Peripheral • • Ricetrasmittente, lavora principalmente in modalità server Central • Tipicamente un computer o un device mobile, lavora principalmente in modalità client verso uno o più peripheral
 (su Bluetooth Classic solo Master e Slave, con assegnazione dinamica)
  • 16. Versioni e “branding” dei dispositivi Bluetooth Low Energy gerdavax AT gmail DOT com
  • 17. Versioni e “branding” dei dispositivi Bluetooth Low Energy • gerdavax AT gmail DOT com Bluetooth Classic • • • Compatibile esclusivamente con Bluetooth 1.1, 2.0 e 3.0 Sono tutti i dispositivi pre-Bluetooth 4.0 e quelli attuali non dotati di funzionalità LE Bluetooth Smart • • • Compatibile esclusivamente Bluetooth 4.0 low energy (single mode) Funzionante nella sola modalità peripheral Bluetooth Smart Ready • • Compatibile con l’intera specifica Bluetooth 4.0 (dual mode) Dialoga con dispositivi Classic e con dispositivi LE
  • 18. Stack Bluetooth Classic Bluetooth Low Energy gerdavax AT gmail DOT com SPP/DUN/OPP RFCOMM SDP L2CAP HCI LINK MANAGER BR/EDR PHY
  • 19. Stack Bluetooth Smart Bluetooth Low Energy gerdavax AT gmail DOT com GAP GATT SMP ATT L2CAP HCI LINK LAYER LE PHY
  • 20. Stack Bluetooth Smart Ready Bluetooth Low Energy gerdavax AT gmail DOT com SPP/DUN/OPP RFCOMM GAP SMP SDP GATT ATT L2CAP HCI LINK MANAGER LINK LAYER BR/EDR PHY LE PHY
  • 21. I profili in Bluetooth Classic Bluetooth Low Energy gerdavax AT gmail DOT com
  • 22. GATT: Generic Attribute Profile (1) Bluetooth Low Energy • gerdavax AT gmail DOT com Servizio • • • Insieme di caratteristiche aggregate per erogare una funzionalità Esempio: • “Health Thermometer Service” Caratteristiche • • Un singolo valore accessibile in lettura o scrittura Esempio: • “Temperature Measurement” (temperatura letta) • “Temperature Type” (tipo di termometro) • “Intermediate Temperature” (letture in-progress) • “Measurement Interval” https://developer.bluetooth.org/gatt/services/Pages/ServiceViewer.aspx?u=org.bluetooth.service.health_thermometer.xml
  • 23. GATT: Generic Attribute Profile (2) Bluetooth Low Energy • gerdavax AT gmail DOT com Descrittori • • • Informazioni accessorie su una caratteristica Esempio: • “Is write supported” sulla caratteristica che gestisce l’intervallo di campionamento
 Tutto è un UUID • • A qualsiasi entità è assegnato un UUID (Universally Unique IDentifier) Accanto a BD-Address e Friendly-Name, un dispositivo può usare un UUID anche in advertising (feature usata dagli iBeacon di Apple)
  • 24. Profili, Servizi, Caratteristiche, Descrittori… Bluetooth Low Energy gerdavax AT gmail DOT com Profile Service Service Service Characteristic Characteristic Characteristic Value Descriptor Descriptor Descriptor
  • 25. UUID Bluetooth Low Energy gerdavax AT gmail DOT com Entità UUID Base Bluetooth 00000000-0000-1000-8000-00805F9B34FB Generic Access 00001800-0000-1000-8000-00805F9B34FB GATT 00001801-0000-1000-8000-00805F9B34FB Immediate Alert 00001802-0000-1000-8000-00805F9B34FB Health Thermometer 00001809-0000-1000-8000-00805F9B34FB Heart Rate 0000180D-0000-1000-8000-00805F9B34FB Battery Service 0000180F-0000-1000-8000-00805F9B34FB Battery Level 00002A19-0000-1000-8000-00805F9B34FB Blood Pressure 00001810-0000-1000-8000-00805F9B34FB Current Time 00001805-0000-1000-8000-00805F9B34FB TX Power 00001804-0000-1000-8000-00805F9B34FB
  • 26. Sistemi operativi e supporto BLE Bluetooth Low Energy • Desktop • • • • Linux Mac OS X Windows
 Mobile • • • • Android 4.3 iOS 5 Windows Phone 8 BlackBerry 10 gerdavax AT gmail DOT com
  • 27. Android API per Bluetooth Low Energy Bluetooth Low Energy gerdavax AT gmail DOT com • Introdotta in Android 4.3 Jelly Bean
 • Consente di gestire GATT client e server, accesso a caratteristiche e descrittori, registrazione per le notifiche
 • Non supporta la modalità “peripheral”: attualmente, dunque, non è possibile creare un beacon (come su iPhone)
 • Android 4.4 KitKat offre un logger dei pacchetti a livello HCI
  • 28. Device Android con supporto Bluetooth Low Energy Bluetooth Low Energy • • gerdavax AT gmail DOT com • Google: Nexus 4, Nexus 5, Nexus 7 “2013” Samsung: Galaxy S3, S3 mini, Galaxy S4, S4 mini; Note 2, Note 3, Note 8”, Note 10” 2014 Edition LG: Optimus G, 4X, G2
 • Grandi assenti: Galaxy Nexus, Nexus 7, Nexus 10
 • Altri dispositivi con Android 4.2.x possono disporre di API proprietarie per l’accesso al modulo BLE
 • Importante: non basta un semplice aggiornamento software per avere BLE, occorre un hardware dedicato!
  • 29. Principali differenze nelle API “Classic” e LE Bluetooth Low Energy gerdavax AT gmail DOT com • Il dispatching degli eventi avviene attraverso normali “listener” anziché via Intent e BroadcastReceiver
 • I componenti che modellano GATT client, caratteristiche e descrittori non sono Parcelable: l’intera gestione della comunicazione avviene all’interno di un singolo Fragment
 • Lettura e scrittura sono asincrone (addio I/O stream)
 • La stabilità (pre KitKat) lascia un po’ a desiderare…
  • 30. API Android Bluetooth Low Energy gerdavax AT gmail DOT com BluetoothManager manager = (BluetoothManager) getSystemService(Context.BLUETOOTH_SERVICE); adapter = manager.getAdapter(); boolean started = adapter.startLeScan(mLeScanCallback); BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() { @Override public void onLeScan(final BluetoothDevice device, int rssi, final byte[] scanRecord) { ! // ! } }; gestione device…
  • 31. API Android Bluetooth Low Energy 1 gerdavax AT gmail DOT com BluetoothGatt mGatt = device.connectGatt(getActivity(), true, new BluetoothGattCallback() { String SERVICE = “0000180F-0000-1000-8000-00805F9B34FB”; String LEVEL = “00002A19-0000-1000-8000-00805F9B34FB”; ! 2 @Override public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) { if (status == BluetoothGatt.GATT_SUCCESS && newState == BluetoothGatt.STATE_CONNECTED) { BluetoothGattService service = gatt.getService(UUID.fromString(SERVICE)); BluetoothGattCharacteristic ch = service.getCharacteristics(UUID.fromString(LEVEL)); gatt.readCharacteristic(ch); } } @Override public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic ch, int st) { final int batteryLevel = ch.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 0); } }); 3
  • 32. Playground: sperimentare con BLE Bluetooth Low Energy Kontakt Beacon WTEK Heartrate Monitor gerdavax AT gmail DOT com TI SensorTag estimote Tracer Keyfob Pebble Keyfob TI CC2450 miniDK geektech Arduino BLE shield
  • 33. Linux e Mac OS X Bluetooth Low Energy • gerdavax AT gmail DOT com Linux • • • • Qualsiasi dongle USB Bluetooth 4.0 dual-mode (su ebay a 10 euro!) bluez 5.1 Suggerimento: scaricare (e compilare) l’ultima release dal repository ufficiale, anziché usare la build presente nelle distribuzioni
 Mac OS X • • Tutti i (nuovi) Mac usciti sul mercato dal 2012 dovrebbero avere Bluetooth Low Energy a bordo LightBlue (utility gratuita su Mac App Store)
  • 34. Linux: discovery dei dispositivi Bluetooth Low Energy gerdavax AT gmail DOT com output di: hcitool -i hci0 lescan
  • 35. Linux: lista servizi e lettura caratteristiche Bluetooth cui Si seleziona il device conLow Energy comunicare in modalità interattiva gerdavax AT gmail DOT com Lista servizi primari La batteria è carica (0x64 = 100%) lettura della caratteristica “battery level” esposta dal “battery service”
  • 36. Mac OS X: LightBlue per far tutto! Bluetooth Low Energy gerdavax La batteria è carica AT gmail DOT com (0x64 = 100%)
  • 37. BLE Scanner su Android Bluetooth Low Energy gerdavax AT gmail DOT com
  • 38. FAQ su Bluetooth Low Energy vs resto del mondo Bluetooth Low Energy gerdavax AT gmail DOT com • Per usare BLE è sufficiente un aggiornamento software? • No!
 • BLE sostituisce Bluetooth Classic? • No!
 • BLE rimpiazzerà NFC? • Bella domanda :-) • Hanno casi d’uso piuttosto diversi (malgrado ciò che si dice…)
 • BLE sarà lo standard del futuro? • Se lo sapessi, non sarei qui! (comunque, credo di si)
  • 39. Conclusioni Bluetooth Low Energy gerdavax AT gmail DOT com • Bluetooth Low Energy sarà la più grande ed invadente evoluzione delle comunicazioni wireless a corto raggio
 • Parallelamente alla diffusione di oggetti direttamente connessi alla Rete (IoT), lo smartphone diventerà centro-stella e gateway di una moltitudine di dispositivi invisibili che circondano gli utenti
 • Importanti implicazioni per la privacy: chi raccoglie i dati sulla nostra vita li userà per condizionarci? • “abbiamo rilevato che sei fiacco, perché non prendi un po’ di XYZ?”
  • 40. Ringraziamenti Bluetooth Low Energy gerdavax AT gmail DOT com • Mara Marzocchi, Marco Casario, Gosia Sosnowska e tutto il team di Codemotion per l’enorme lavoro che fanno ogni anno per la community italiana degli sviluppatori software
 • Matteo @mbonifazi Bonifazi per avermi prestato il suo Nexus 7 2013 mentre ero in attesa del Nexus 5 e dell’aggiornamento ad Android 4.3 sul Galaxy S3
 • Roberto @frabons Fraboni per aver condiviso scenari e curiosità sull’uso degli iBeacon
  • 41. Riferimenti e risorse Bluetooth Low Energy gerdavax AT gmail DOT com • https://developer.bluetooth.org/TechnologyOverview/Pages/BLE.aspx
 • http://developer.android.com/guide/topics/connectivity/bluetooth-le.html 
 • https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/ Conceptual/CoreBluetooth_concepts/AboutCoreBluetooth/Introduction.html
 • Bluetooth Low Energy: The Developer’s Handbook (Robin Heydon, Prentice-Hall)
  • 42. Approfondimenti dai precedenti Codemotion Bluetooth Low Energy • NFC
 Tecnologia e applicazioni 
 (2012)
 
 
 
 • Android Bluetooth Hacking 
 (2010) gerdavax AT gmail DOT com
  • 43. Contatti Bluetooth Low Energy gerdavax AT gmail DOT com ! • • • • • mail: gerdavax AT gmail DOT com blog: http://www.gerdavax.it twitter: @gerdavax slideshare: http://www.slideshare.net/gerdavax Linkedin: http://www.linkedin.com/in/gerdavax