Sensoristica Avanzata per Dispositivi Mobili

Sensoristica Avanzata
per Dispositivi Mobili
Stefano Sanna
http://www.gerdavax.it
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SPEAKER
●
Stefano Sanna
–
Senior Developer @ beeweeb technologies
–
Autore del libro “Java Micro Edition”
●
Hoepli Informatica (in pubblicazione)
–
Technical writer @ DEV, Java Journal, CP...
–
Java Community member (JUG Sardegna, JMDF...)
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
AGENDA
●
Sensoristica avanzata per dispositivi mobili
–
Presentazione dei Java User Group Italiani
–
Un anno fa...
–
La rivoluzione dei sensori
–
Sensoristica su piattaforma Java ME
–
●
Contactless Communiction API
●
Mobile Sensor API
●
Sun SPOT
Conclusioni
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
JAVA USER GROUP ITALIANI
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
LA RIVOLUZIONE PRECEDENTE
●
2006: rotta verso il Mobile 2.0
●
–
Accesso a servizi Web 2.0
–
Mobile Data Provider
–
Location-awareness
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SENSORI /1
●
La nuova rivoluzione nei dispositivi mobili è
costituita dai sensori per:
–
permettere nuove modalità di controllo
–
automatizzare l'immissione di dati
SENSORI (da Wikipedia)
–
consentire la percezione
dell'ambiente
–
garantire sicurezza
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
Comunemente con il termine sensore si
definisce un dispositivo che trasforma una
grandezza fisica che si vuole misurare in un
segnale di natura diversa (tipicamente
elettrico) più facilmente misurabile o
memorizzabile.
SENSORI /2
●
Percezione e applicazioni mobili
–
–
–
Fotocamere
●
Pubblicazione immediata di foto
●
Lettura tag ottici (QR, BeeTag, ShotCode...)
Lettori RFID
●
Tracciamento merci
●
e-ticketing
●
object annotation
Accelerometri
●
gesture controller
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
Fonte: Analog Devices
Nintendo WiiMote
L'INVASIONE DEGLI ACCELEROMETRI
Nokia 5500 Sport
Sony-Ericsson W910i
Apple iPhone
Sun SPOT
FIC Neo1973
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
Apple iPod Touch
LEGO Accelerometer
for Mindstorms NXT
LA POTENZA E' NULLA SENZA CONTROLLO
●
Esistono numerosi dispositivi consumer
dotati di sensori per videogiochi, fitness
●
●
●
Nella maggior parte dei casi si tratta
di funzionalità embedded, non
programmabili, non integrabili
Conseguenza: nessuno può contribuire
con nuove idee e nuove applicazioni
Sony-Ericsson W710i
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SENSORISTICA IN AMBIENTE JAVA ME
●
La piattaforma Java ME offre tre potenti
soluzioni per la realizzazione di applicazioni
basate sull'uso di sensori:
–
Contactless Communication API (JSR 257)
–
Mobile Sensor API (JSR 256)
–
Sun SPOT
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
CONTACTLESS COMMUNICATION API
●
Fornisce una API standard per
l'accesso a risorse NFC
(Near Field Communication):
–
Lettura/scrittura tag RFID ISO14443
–
Attivazione automatica applicazioni
–
e-ticketing (phone-as-tag)
Nokia 6131 NFC
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
CONTACTLESS COMMUNICATION API
Nokia 6131 NFC SDK
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
MOBILE SENSOR API
●
Fornisce una API standard per l'accesso ai
sensori locali o remoti associati ad un
dispositivo Java ME
–
Discovery dinamico dei sensori disponibili
–
Classificazione di ogni sensore e delle grandezze
fisiche rilevabili
–
Lettura istantanea del dato
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
MOBILE SENSOR API
●
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
Fonte: Specifica JSR 256
MOBILE SENSOR API
●
●
Sorgenti, dati ed eventi
–
SensorManager, Connector, SensorConnection
–
SensorInfo, Data, ChannelInfo
–
SensorListener, DataListener, ConditionListener
Sensori, grandezze e domini
–
Accelerometro, altimetro, amperometro...
–
Accelerazione, altitudine, intensità di corrente...
–
User, device, ambient
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
Fonte: Specifica JSR 256
MOBILE SENSOR API SU SONY-ERICSSON W910i
Y
X
Z
Fonte: ST Microelectronics
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
MOBILE SENSOR API SU SONY-ERICSSON W910i
●
Rilevazione sensori:
SensorInfo[] infos = SensorManager.findSensors("acceleration", "user");
●
●
String descrition = infos[0].getDescription();
●
String quantity = infos[0].getQuantity();
●
String URL = infos[0].getUrl();
●
String model = infos[0].getModel();
●
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
MOBILE SENSOR API SU SONY-ERICSSON W910i
●
Creazione connessione e lettura dati:
SensorConnection accelerometer;
●
accelerometer = (SensorConnection) Connector.open(infos[0].getUrl());
●
Data[] data = accelerometer.getData(1);
●
String sx = data[0].getChannelInfo().getName();
●
String sy = data[1].getChannelInfo().getName();
●
String sz = data[2].getChannelInfo().getName();
●
●
int x = data[0].getIntValues()[0];
●
int y = data[1].getIntValues()[0];
●
int z = data[2].getIntValues()[0];
●
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SUN SPOT
●
Small Programmable Object Technology
–
Progetto realizzato
presso i Sun Laboratories
–
Piattaforma per la creazione
di reti wireless di sensori intelligenti
–
Laboratorio-live per la realizzazione
di nuovi scenari applicativi:
●
The (Inter)net of Things
●
Program the world
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SUN SPOT HARDWARE /1
●
Processor Board
–
180 MHz 32 bit ARM920T core
–
512K RAM/4M Flash
–
2.4 GHz IEEE 802.15.4 radio
con antenna integrata
–
Interfaccia USB
–
Batteria 3.7V 720 mAh Li-Ion
–
32 uA in deep sleep mode
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SUN SPOT HARDWARE /2
●
Demo Sensor Board
–
Accelerometro 2G/6G 3-assi
–
Sensore di temperatura
–
Sensore di luminosità
–
8 LED tricolore
–
6 ingressi analogici, 2 switch
–
5 GPIO (general purpose I/O)
–
4 high current output (100mA)
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SUN SPOT SOFTWARE
●
Squawk Virtual Machine
–
Compatibile J2ME CLDC 1.1
–
Java VM con funzionalità
di sistema operativo
–
Esegue bytecode direttamente
da flash memory
–
Device driver scritti in Java
–
Gestione automatica consumo
batteria
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SUN SPOT
●
Creazione connessione e lettura dati:
private IAccelerometer3D accelerometer;
●
accelerometer = EdemoBoard.getInstance().getAccelerometer();
●
●
int tiltX = (int) Math.toDegrees(acc.getTiltX());
●
int tiltY = (int) Math.toDegrees(acc.getTiltY());
●
int tiltZ = (int) Math.toDegrees(acc.getTiltZ());
●
●
●
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SUN SPOT
●
Sun SPOT & LEGO Mindstorms NXT
USB
802.15.4
radio
Bluetooth
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
SUN SPOT
●
VIDEO DEMO (Sun Tech Days 2007)
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
RIFERIMENTI
–
–
–
Contactless Communication API
●
Specifica: http://jcp.org/en/jsr/detail?id=257
●
Nokia 6131 NFC SDK: http://www.forum.nokia.com
Mobile Sensor API (JSR 256)
●
Specifica: http://jcp.org/en/jsr/detail?id=256
●
Sony-Ericsson SDK: http://developer.sonyericsson.com
Sun SPOT
●
http://www.sunspotworld.com
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)
CONTATTI
●
–
–
Stefano Sanna
●
http://www.gerdavax.it
●
[email protected]
JUG Sardegna ONLUS
●
http://www.jugsardegna.org
44a Esposizione Internazionale di Information & Communications Technology
17-20 ottobre 2007, Fiera Milano (Nuovo Quartiere Rho-Pero)