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