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.
Queste slide introducono la tecnologia iBeacon, partendo dai fondamenti di Bluetooth Low Energy, con un approfondimento sull'implementazione di un beacon scanner su Android. Presentate a Codemotion 2015 ROMA.
IoT Saturday PN 2019 - S8-6 Francesco NotFrancesco Not
La gran parte dei progetti IoT parte dallo sviluppo di un Proof-of-Concept basato su piattaforme di prototipazione rapida (Arduino, Raspberry Pi, ecc.) , che permettono di valutare velocemente la fattibilità dell'idea e mettono le basi per l'implementazione della soluzione. Quando il PoC è validato, il sistema funziona ed il backend è operativo, è il momento di pensare all'industrializzazione. Ottimizzazioni, portabilità, prototipi, test, certificazioni, produzione... quanto complesso è realizzare un prodotto?
Introduzione alla Domotica vantaggi e prospettive - Progettare un impianto Do...Cristian Randieri PhD
Workshop informativo sui nuovi sistemi per la domotica.
Una introduzione alla Domotica vantaggi e prospettive - Progettare un impianto Domotico.
La progettazione di un sistema domotico è più complessa ed articolata rispetto a quella di un singolo impianto tecnologico (impianto elettrico, antifurto, climatizzazione etc) poiché per la definizione stessa di domotica questa riguarda ed integra più impanati tecnologici diversi sotto un unico comune denominatore “la loro automazione in un contesto centralizzato di gestione degli eventi, cause ed effetti.”....
REFERENCE
For more details please contact me.
Dott. Ing. Cristian Randieri, Ph.D.
President & CEO
Intellisystem Technologies S.r.l.
Via Augusto Murri, 1
96100 Siracusa (Italy)
P.IVA e C.F. IT01424300893
Tel +39 (0)931-1756256 | +39 (0)2-87167549
Fax 178 2286352 | +39 (0)931-1995470
Mobile +39 335-1880035
MSN: crandieri@hotmail.com | SKYPE: intellisystem_technologies
email: randieri@intellisystem.it
web: http://www.intellisystem.it/
Facebook https://www.facebook.com/intellisystem
Linkedin https://www.linkedin.com/in/cristianrandieri
ResearchGate: http://www.researchgate.net/profile/Cristian_Randieri
Academia edu: https://unict.academia.edu/CristianRandieri
Lo scopo di questa Tesi è mostrare come le piattaforme Arduino e Android possano essere utilizzate in un sistema di Ambient Intelligence per il monitoraggio dei sensori e l'interazione con gli attuatori.
La prima parte del lavoro è stata quella di progettare e sviluppare con l’hardware e il software fornito da Arduino le schede necessarie per il sistema:
• Una scheda per il monitoraggio ambientale, attraverso la lettura di quattro sensori (temperatura, umidità, luce, gas) (vedi figura a lato);
• Una scheda per la presenza all’interno della stanza attraverso un lettore di tag RFID e NFC, un sensore di movimento PIR e un sensore di suono ad alta sensibilità che comunicano i loro dati con un modulo ZigBee;
• Una scheda per la comunicazione ZigBee;
• Una scheda per gli attuatori e per il riconoscimento di dispositivi Android attraverso un USB Host.
Queste schede sono state installate in una Wireless Sensor Network (WSN) e comunicheranno con un server creato ad hoc attraverso tecnologie wireless e wired. Il server ha il compito di elaborare i dati grezzi che arrivano dalle schede, salvarli in un database, renderli disponibili a un client web che li possa visualizzare attraverso un’interfaccia (saranno rappresentati i dati letti delle ultime ore attraverso dei grafici) e di mettere a disposizione servizi utili per interrogazioni da parte di dispositivi Android.
Un altro servizio implementato è stato quello di un modulo software con il quale, attraverso una rete di Bayes per l’auto apprendimento appositamente creata per il progetto, è possibile prevedere lo stato della stanza in basa alla lettura dei sensori/dispositivi sopra elencati. Tale modulo è in grado di rilevare se c’è un incendio, se c’è un intrusione, ma anche se c’è attività lavorativa di una singola persona o se c’è una conferenza oppure se c’è una condizione anomala per cui bisogna azionare determinati attuatori. Attraverso la lettura di eventi di basso livello (sensori, tag di utenti entrati nel locale, ecc), il modulo riesce a prevedere con buona probabilità quale è lo stato della stanza in quel momento.
L’interfaccia utente del sistema è raggiungibile via Web attraverso una pagina presente sul server, oppure attraverso un’applicazione Android (vedi figura a lato) che permette di visualizzare i dati letti dai sensori, di ricevere notifiche push in caso di eventi di alto livello (rilevati dai moduli sopra descritti), attraverso il servizio Google Cloud Messaging, o azionare gli attuatori in remoto.
Parliamo dell'Internet delle cose e dei Maker, concetti inziali per capire questo nuovo mondo e come la tecnologia può essere applicata ad ogni oggetto.
Queste slide introducono la tecnologia iBeacon, partendo dai fondamenti di Bluetooth Low Energy, con un approfondimento sull'implementazione di un beacon scanner su Android. Presentate a Codemotion 2015 ROMA.
IoT Saturday PN 2019 - S8-6 Francesco NotFrancesco Not
La gran parte dei progetti IoT parte dallo sviluppo di un Proof-of-Concept basato su piattaforme di prototipazione rapida (Arduino, Raspberry Pi, ecc.) , che permettono di valutare velocemente la fattibilità dell'idea e mettono le basi per l'implementazione della soluzione. Quando il PoC è validato, il sistema funziona ed il backend è operativo, è il momento di pensare all'industrializzazione. Ottimizzazioni, portabilità, prototipi, test, certificazioni, produzione... quanto complesso è realizzare un prodotto?
Introduzione alla Domotica vantaggi e prospettive - Progettare un impianto Do...Cristian Randieri PhD
Workshop informativo sui nuovi sistemi per la domotica.
Una introduzione alla Domotica vantaggi e prospettive - Progettare un impianto Domotico.
La progettazione di un sistema domotico è più complessa ed articolata rispetto a quella di un singolo impianto tecnologico (impianto elettrico, antifurto, climatizzazione etc) poiché per la definizione stessa di domotica questa riguarda ed integra più impanati tecnologici diversi sotto un unico comune denominatore “la loro automazione in un contesto centralizzato di gestione degli eventi, cause ed effetti.”....
REFERENCE
For more details please contact me.
Dott. Ing. Cristian Randieri, Ph.D.
President & CEO
Intellisystem Technologies S.r.l.
Via Augusto Murri, 1
96100 Siracusa (Italy)
P.IVA e C.F. IT01424300893
Tel +39 (0)931-1756256 | +39 (0)2-87167549
Fax 178 2286352 | +39 (0)931-1995470
Mobile +39 335-1880035
MSN: crandieri@hotmail.com | SKYPE: intellisystem_technologies
email: randieri@intellisystem.it
web: http://www.intellisystem.it/
Facebook https://www.facebook.com/intellisystem
Linkedin https://www.linkedin.com/in/cristianrandieri
ResearchGate: http://www.researchgate.net/profile/Cristian_Randieri
Academia edu: https://unict.academia.edu/CristianRandieri
Lo scopo di questa Tesi è mostrare come le piattaforme Arduino e Android possano essere utilizzate in un sistema di Ambient Intelligence per il monitoraggio dei sensori e l'interazione con gli attuatori.
La prima parte del lavoro è stata quella di progettare e sviluppare con l’hardware e il software fornito da Arduino le schede necessarie per il sistema:
• Una scheda per il monitoraggio ambientale, attraverso la lettura di quattro sensori (temperatura, umidità, luce, gas) (vedi figura a lato);
• Una scheda per la presenza all’interno della stanza attraverso un lettore di tag RFID e NFC, un sensore di movimento PIR e un sensore di suono ad alta sensibilità che comunicano i loro dati con un modulo ZigBee;
• Una scheda per la comunicazione ZigBee;
• Una scheda per gli attuatori e per il riconoscimento di dispositivi Android attraverso un USB Host.
Queste schede sono state installate in una Wireless Sensor Network (WSN) e comunicheranno con un server creato ad hoc attraverso tecnologie wireless e wired. Il server ha il compito di elaborare i dati grezzi che arrivano dalle schede, salvarli in un database, renderli disponibili a un client web che li possa visualizzare attraverso un’interfaccia (saranno rappresentati i dati letti delle ultime ore attraverso dei grafici) e di mettere a disposizione servizi utili per interrogazioni da parte di dispositivi Android.
Un altro servizio implementato è stato quello di un modulo software con il quale, attraverso una rete di Bayes per l’auto apprendimento appositamente creata per il progetto, è possibile prevedere lo stato della stanza in basa alla lettura dei sensori/dispositivi sopra elencati. Tale modulo è in grado di rilevare se c’è un incendio, se c’è un intrusione, ma anche se c’è attività lavorativa di una singola persona o se c’è una conferenza oppure se c’è una condizione anomala per cui bisogna azionare determinati attuatori. Attraverso la lettura di eventi di basso livello (sensori, tag di utenti entrati nel locale, ecc), il modulo riesce a prevedere con buona probabilità quale è lo stato della stanza in quel momento.
L’interfaccia utente del sistema è raggiungibile via Web attraverso una pagina presente sul server, oppure attraverso un’applicazione Android (vedi figura a lato) che permette di visualizzare i dati letti dai sensori, di ricevere notifiche push in caso di eventi di alto livello (rilevati dai moduli sopra descritti), attraverso il servizio Google Cloud Messaging, o azionare gli attuatori in remoto.
Parliamo dell'Internet delle cose e dei Maker, concetti inziali per capire questo nuovo mondo e come la tecnologia può essere applicata ad ogni oggetto.
Android & Bluetooth: hacking e applicazioniStefano Sanna
Uso di Bluetooth su Android 1.x e Android 2.x, con demo basata su Arduino Bluetooth e SensPod. Talk presentato alla conferenza whymca 2010 (http://www.whymca.org).
Iothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISESPaola Visentin
Contenuti esposti in conferenza a IOTHINGS (Milano, 16 mag. '17), con l'intervento dal titolo "RFID & BLE: tecnologie wireless e visioni unconventional a monte dell’IoT"
l mondo stà cambiando e siamo sempre più "connessi". L'esigenza sempre più pressante di ottimizzare le procedure e ridurre i costi porta ad un sempre maggiore interesse verso soluzioni fruibili anche da dispositi mobili.
Vedremo cosa serve per sviluppare siti ed applicazioni web destinate a dispositivi mobili: le caratteristiche, le tecniche e gli strumenti necessari alla produzione di applicazioni sulle maggiori piattaforme mobili, con particolare attenzione ai dispositivi rim, apple e nokia.
La sessione si rivolge a sviluppatori web che desiderino ampliare il proprio skill set con la capacità di esporre le proprie soluzioni sulle reti mobili.
Introduzione alla telefonia cellulare. 8 lezioni.
Panoramica sul mondo della telefonia cellulare, esposta in modo sintetico, per fornire una conoscenza di base.
Cellulare evoluto,Hardware: Modem - Dual SIM - Connettività - Memoria - Foto e Video - Multimedia - Radio - GPS
Bilingual Magazine to all hi-tech lovers (Italiano + English)
Il magazine tpcMAG che si è sdoppiato: una parte dedicata al Consumer e una parte al Business.
La copertina è dedicata al design della nuova Ford Mustang.
A new era for the magazine tpcMAG that has become two: one part dedicated to Consumer and Business to one side. The cover is dedicated to the design of the new Ford Mustang.
In questo numero tutte le novità del mese: smartphones, telefoni ed accessori vari, oltre a fotocamere digitali, stampanti, videocamere HD, 3D, netbook, apps, palmari, videogames, tablets, accessori e curiosità hi-tech…
In this issue all the news of the month: smartphones, mobile phones and accessories, as well as digital cameras, printers, camcorders HD, 3D, netbook, apps, handhelds, video games, tablets, accessories and curiosity hi-tech …
Tecnologie RFID e Bluetooth Low Energy a monte della filiera del dato 4.0: pi...RFID Global by Softwork
Webinar 18 nov. 2020
Al Global Summit Logistics & Supply Chain, webinar tenuto da Paola Visentin lungo queste le distintive dei sistemi RFID (tag, controller, antenne e periferiche) e Bluetooth LE (Beacon, EchoBeacon e Gateway), evidenziando, tra le ultime novità, il sistema Beacon Wake-up & Activator per la rilevazione precisa della presenza di item/persona, capace di acquisire il dato con accuratezza e di trasmetterlo a lunga distanza, e il sistema BluEye per la sicurezza in funzione anti-Covid19 (allarme di prossimità, allarme assembramento e contact tracing).
Android Things, from mobile apps to physical worldStefano Sanna
Presented at CODEMOTION 2018 - Rome.
The large and vibrant community of Android developers can now leverage all the libraries, services and knowledge to move from mobile towards the IoT world. The key for success is that even the existing code could be shared in the same project to target mobile, wearables and now embedded boards. This talk will explain what Android Things is and many of its features, giving some practical example on how to integrate code for mobile platform.
Android & Bluetooth: hacking e applicazioniStefano Sanna
Uso di Bluetooth su Android 1.x e Android 2.x, con demo basata su Arduino Bluetooth e SensPod. Talk presentato alla conferenza whymca 2010 (http://www.whymca.org).
Iothings 2017 - Conferenza BUSINESS & TECHNOLOGY FOR ENTERPRISESPaola Visentin
Contenuti esposti in conferenza a IOTHINGS (Milano, 16 mag. '17), con l'intervento dal titolo "RFID & BLE: tecnologie wireless e visioni unconventional a monte dell’IoT"
l mondo stà cambiando e siamo sempre più "connessi". L'esigenza sempre più pressante di ottimizzare le procedure e ridurre i costi porta ad un sempre maggiore interesse verso soluzioni fruibili anche da dispositi mobili.
Vedremo cosa serve per sviluppare siti ed applicazioni web destinate a dispositivi mobili: le caratteristiche, le tecniche e gli strumenti necessari alla produzione di applicazioni sulle maggiori piattaforme mobili, con particolare attenzione ai dispositivi rim, apple e nokia.
La sessione si rivolge a sviluppatori web che desiderino ampliare il proprio skill set con la capacità di esporre le proprie soluzioni sulle reti mobili.
Introduzione alla telefonia cellulare. 8 lezioni.
Panoramica sul mondo della telefonia cellulare, esposta in modo sintetico, per fornire una conoscenza di base.
Cellulare evoluto,Hardware: Modem - Dual SIM - Connettività - Memoria - Foto e Video - Multimedia - Radio - GPS
Bilingual Magazine to all hi-tech lovers (Italiano + English)
Il magazine tpcMAG che si è sdoppiato: una parte dedicata al Consumer e una parte al Business.
La copertina è dedicata al design della nuova Ford Mustang.
A new era for the magazine tpcMAG that has become two: one part dedicated to Consumer and Business to one side. The cover is dedicated to the design of the new Ford Mustang.
In questo numero tutte le novità del mese: smartphones, telefoni ed accessori vari, oltre a fotocamere digitali, stampanti, videocamere HD, 3D, netbook, apps, palmari, videogames, tablets, accessori e curiosità hi-tech…
In this issue all the news of the month: smartphones, mobile phones and accessories, as well as digital cameras, printers, camcorders HD, 3D, netbook, apps, handhelds, video games, tablets, accessories and curiosity hi-tech …
Tecnologie RFID e Bluetooth Low Energy a monte della filiera del dato 4.0: pi...RFID Global by Softwork
Webinar 18 nov. 2020
Al Global Summit Logistics & Supply Chain, webinar tenuto da Paola Visentin lungo queste le distintive dei sistemi RFID (tag, controller, antenne e periferiche) e Bluetooth LE (Beacon, EchoBeacon e Gateway), evidenziando, tra le ultime novità, il sistema Beacon Wake-up & Activator per la rilevazione precisa della presenza di item/persona, capace di acquisire il dato con accuratezza e di trasmetterlo a lunga distanza, e il sistema BluEye per la sicurezza in funzione anti-Covid19 (allarme di prossimità, allarme assembramento e contact tracing).
Android Things, from mobile apps to physical worldStefano Sanna
Presented at CODEMOTION 2018 - Rome.
The large and vibrant community of Android developers can now leverage all the libraries, services and knowledge to move from mobile towards the IoT world. The key for success is that even the existing code could be shared in the same project to target mobile, wearables and now embedded boards. This talk will explain what Android Things is and many of its features, giving some practical example on how to integrate code for mobile platform.
Smartphones, tablets, TVs, cars and smartwatches: Android is everywhere enabling users and developers with rich set of applications, libraries and services. Android Things brings such a power to virtually any object, any “thing”: using a low-cost (yet powerful) board, developer can add intelligence and connectivity to home, industries, vehicles and even medical appliances. This presentation introduces practical concepts around the Android Things platform and how to have fun with it.
While augmented-reality aims to enrich reality with data coming from the phone, the rich set of interfaces and sensor the equips modern device open new possibilities to enhance user experience automating tedious processes, bringing security and new business opportunities. The talk shows how to use latest Location API, Bluetooth classic and Bluetooth Low Energy and other technologies to empower user experience on real world.
Conquistato il mercato degli smartphone e avviato l'attacco al mondo dei tablet, Android si appresta a diventare protagonista del display più grande e più diffuso: la televisione. La piattaforma Google TV, recentemente aggiornata nel software e nell'hardware, rappresenta un'evoluzione importantissima e allo stesso tempo estremamente accessibile per gli sviluppatori Android: senza neppure una API aggiuntiva, il sistema operativo consente di scrivere app perfettamente adattate alla nuova UI e ai nuovi controller. Il talk presenta la piattaforma, il set-top box Sony e un'app dimostrativa.
Guest seminar del corso "Applicazioni per dispositivi mobili" tenuto presso l'Università degli Studi dell'Aquila. Giugno 2012. Il seminario introduce i concetti fondamentali della tecnologia NFC e mostra l'utilizzo della modalità reader/writer in ambiente Android.
Presentata a Java Day 2010 ROMA.
Bluetooth e' la tecnologia di wireless piu' utilizzata per l'interfacciamento a corto raggio tra device mobili. Android 1.x non offre agli sviluppatori la possibilita' di accedere allo stack Bluetooth e anche la versione 2.0 del sistema operativo pone alcune limitazioni rispetto alle potenzialita' della piattaforma. Questo talk descrive la tecnica per accedere a tutte le funzionalita', oltre ad una descrizione delle nuove feature di Android 2.0 e una demo con Arduino Bluetooth.
Android è la piattaforma aperta di mobile computing sviluppata dalla Open Handset Alliance e sostenuta da Google. Basata su Linux e dotato di un ambiente Java ottimizzato e una ricca libreria di classi, Android si candida per essere l'ambiente applicativo ideale per la telefonia cellulare. Dopo aver illustrato l'architettura del framework e l'IDE di sviluppo, vedremo la realizzazione di una applicazione Java, sfruttando le librerie di Android e testandola sull'emulatore e su un terminale HTC G1. Si vedra' come realizzare una user interface, conoscere e utilizzare le semplici ma potenti funzionalità disponibili. In chiusura si fara' un confronto critico tra Android, iPhone e Java ME.
Arduino e' una piattaforma hardware/software rilasciata sotto licenza Creative Commons che permette la realizzazione oggetti fisici interattivi, in grado di utilizzare un ricco insieme di sensori e attuatori. Il seminario illustra come creare una piccola stazione di rilevamento di dati ambientali basata su Linux e accessibile via web.
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!)
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)
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
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
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