Progetto Domotica

Transcript

Progetto Domotica
Progetto Domotica
CRdC-ICT: WP11.1
Progetto Dimostratore
RCOST DomoticaLAB
Ing. Sandro Sarracino
[email protected]
1
26/01/2006
Piattaforma hardware e software per
lo sviluppo di applicazioni nel campo
della domotica
ƒ Integrazione di dispositivi eterogenei
ƒ elettrodomestici, sistemi audio/video, sistemi di sensoristica,
ƒ Sistemi di localizzazione indoor.
ƒ Interfacce virtuali, fruibili da diverse tipologie di terminali sia fissi che
mobili, con dispositivi domotici acceduti da remoto attraverso
l’infrastruttura di rete.
ƒ Realizzazione di sistemi adattivi per la gestione intelligente di ambienti
abitati.
ƒ In grado di apprendere e di predire le necessità delle persone presenti
negli ambienti
ƒ In modo da adattare automaticamente tutti i parametri che descrivono le
funzionalità stesse degli ambienti alle necessità che dinamicamente
emergono dall'interazione uomo-ambiente.
26/01/2006
2
Evoluzione delle infrastrutture di rete.
3
26/01/2006
Accesso a larga banda
26/01/2006
4
Home Networking
5
26/01/2006
Tecnologie LAN/WAN e Integrazione per la
Domotica : Piattaforma per il Residential
Gateway
26/01/2006
6
Gateway Software
Framework Domus Keeper
Domus Keeper:
Keeper Piattaforma hardware software Service Oriented a
supporto dello sviluppo di applicazioni nel campo della Domotica
‰
Integrazioni di dispositivi elettronici eterogenei:
‰
‰
‰
dispositivi per il controllo di elettrodomestici, sistema di illuminazione e
sensoristica (protocolli X10, ZigBee, Bluetooth,Wi-Fi),
dispositivi di localizzazione: RFID passivi ed attivi, Ultrasonic Sensors,
dispositivi Audio/Video (sistemi di diffusione sonora, sistema di telecamere
motorizzate).
‰
Realizzazione di un Layer di virtualizzazione dei dispositivi fisici per la gestione
trasparente delle risorse hardware.
‰
Realizzazione di sistemi adattivi per la gestione intelligente dell’ambiente domestico.
‰
‰
‰
Rules Engine JESS,
Data-Mining, WEKA.
Artificial Neural Network, JOONE
7
26/01/2006
Gateway Software
Framework Domus Keeper
‰ Realizzazione di un Gateway Software per la virtualizzazione e la diffusione dei
servizi di controllo e monitoraggio (semplici e complessi) su reti LAN, WI-FI, WAN,
UMTS.
‰ Framework OSGi Open Services Gateway Initiative
‰ Remote: JINI, RMI, Web Service
‰ Security, QoS.
‰ Uso dei servizi (controllo remoto e monitoraggio) del Gateway Software da client
eterogenei (Laptop,PDA,SmartPhone,…)
26/01/2006
8
Framework Domus Keeper
Mobile
Swing/AWT
UI: Web, Desktop, Mobile
Web/JSP
USER INTERFACE
House: house concepts and
access to Service of house
actuation and devices control
Intelligence
Localization
ULTRA
SONIC
RFID
SC
Framework
…
JVM
O
O
O
Driver RS-232
Audio, Video
Network
RMI
Localization: House Topology,
devices localization,
recognition and location of
Persone (RFID, Ultrasonic sensor,
volumetric Sensor)
SC (Home Automation Inc.): controller
For devices control on power line
(Lights , Sensors )
MEDIA
Devices Virtualization
Libraries
O
OS O
O
Driver IP
WEB
Multimedia
Streaming
Web
Services
Rule
Engine
D
B
HOUSE
Hardware Layer
Media: abstraction of multimedia devices
(Video Cam, Audio, TV, VCR …)
Multimedia Streaming: for real time
streaming video
Rule Engine: Bindings with rules
between events and actions
Intelligence: Learning engine
9
26/01/2006
Framework Domus Keeper
Layers del framework
WEB
AWT/Swing
UI
Mobile
UI
Services
Devices Virtualization
Bundle
OSGi
JAVA VM
Operating Sistem
Drivers
Hardware
Assicura la comunicazione
da e verso i dispositivi,
nascondendo problematiche
relative alla diversità tra i
vari dispositivi
di protocolli e hardware
Livello dei servizi
fruibili dagli utenti
e accessibili da
remoto
Framework
che permette
l’interazione fra
Bundle
Applicazioni
che forniscono
servizi e
utilizzano i servizi
forniti da
altre applicazioni
Dispositivi fisici
26/01/2006
10
Device Virtualization Layer
ƒUn Layer di virtualizzazione dei
dispositivi fisici rende possibile
la gestione trasparente delle
risorse hardware.
ƒ Lo sviluppo di applicazioni
generiche o servizi è quindi
indipendente dalla
implementazione fisica dei
dispositivi utilizzati ma è legata
alle sole interfacce
programmatiche offerte dalla
classificazione delle devices
11
26/01/2006
Device Virtualization Layer
Gestione degli eventi
Problema del dispatching degli eventi provenienti dai device ad
ascoltatori locali o remoti.
Due meccanismi possibili:
ƒ
ƒ
Push: Il dispositivo avvisa l’applicazione client
Pull:
Pull: Il client interroga ciclicamente il dispositivo (Polling
(Polling))
26/01/2006
12
Device Virtualization Layer
Gestione degli eventi
L’approccio utilizzato rispecchia l’ObserverPattern il quale definisce una relazione tra un
dispositivo e un insieme di oggetti interessati
ad essere notificati quando il primo modifica il
suo stato.
Il Paradigma EventEvent-Listener fornisce un
implementazione dell’Observer
dell’Observer--Pattern
in modalità push
13
26/01/2006
Device Virtualization Layer
Gestione degli eventi
26/01/2006
14
Device Virtualization Layer
plugin di un driver
Sviluppo e la fase di plug-in di un nuovo dispositivo.
Implementate le funzionalità del driver di comunicazione con il
dispositivo fisico, la fase di integrazione col framework
Domus Keeper consiste di pochi semplici passi, che si riducono nella
individuazione della Classe di appartenenza del device in accordo con
la classificazione addottata dal layer di virtualizzazione e nella fase di
plug-in del driver con le classi suddette.
15
26/01/2006
Esempio di integrazione di un nuovo
dispositivo.
Architettura Hardware Home Automation Inc.
AD10 (Switch)
LD11 (Dimmer)
PATCH PANEL
Power Line
Temperature Sensor
XM10E
Humidity sensor
Volumetric Sensor
RS232
Controller
HAI OmiPro II
TCP/IP
SENA
PS100
26/01/2006
LAN
16
Esempio di integrazione di un nuovo
dispositivo.
17
26/01/2006
Sviluppo driver
ƒ Astrazione dei concetti generali di caratterizzazione di
un protocollo su un canale di comunicazione
ƒ Fornire una semantica a dei dati RAW (sequenze di
byte) provenienti dal canale di comunicazione.
ƒ Incrementare la manutenibilità del codice.
ƒ Dare una maggiore enfasi al riuso.
26/01/2006
18
Sviluppo driver
Scambio di informazioni nel formato generico
header+payload+validator
ƒ header: Intestazione del pacchetto, fornisce delle informazioni sul
contenuto
ƒ
del pacchetto (start-character,lunghezza, ID del msg, n. di
sequ.,ecc.)
ƒ payload: dati di interesse del pacchetto.
ƒ validator: il campo di validazione del pacchetto che può essere un
generico
ƒ
cifratore o un algoritmo di controllo d’errore CRC, ecc..
19
26/01/2006
Sviluppo driver
Primo livello di classificazione per un
messaggio generico.
Message, Request , Response,
Validator
26/01/2006
20
Caso di Applicazione:
Driver Home Automation Inc.
21
26/01/2006
Sviluppo driver
Astrazione del canale di comunicazione
26/01/2006
22