Con Jarvis Domotica (o semplicemente, Jarvis), si racchiudono tutti gli elementi base di un sistema domotico distribuito (con accesso da più piattaforme indipendenti), estendendone al limite alcune caratteristiche, per una migliore scalabilità e flessibilità, utilizzando al meglio tecnologie software e hardware open source, già largamente consolidate in altri settori.
Questa tesi consta di una progettazione hardware e software. Questi due aspetti interagiscono strettamente per garantire un’esperienza utente “tangibile” e quanto più vicina alla realtà. Per garantire ciò, Jarvis prevede l’utilizzo di interfacce centralizzate/decentralizzate vocali e interfacce grafiche standard, distribuite su più applicativi e su più sistemi non omogenei. L’utente interagisce con l’ambiente attraverso le interfacce messe a disposizione dal sistema.
Gli applicativi software da cui è composto Jarvis, prevedono un largo uso di Python, PHP, C, XML, Javascript, Ajax, HTML e CSS.
I componenti elettronici invece, utilizzano la piattaforma Open Source, Arduino, per comunicare con il sistema. Tra questi, si individuano ricevitori e trasmettitori FM a 433mhz, per la realizzazione di un protocollo di comunicazione radio, dei cavi seriali per il protocollo di comunicazione cablato. Degli emettitori e ricevitori infrarossi, per l’interazione del sistema con dispositivi esterni quali elettrodomestici: Condizionatori, Televisioni, Decoder. Relè allo stato solido per la commutazione di prese elettriche a 220V, quindi l’apertura e lo spegnimento di apparecchi collegati alla rete elettrica domestica.

Il principio seguito nella realizzazione del sistema Jarvis è quello del “Divide et Impera“, ogni componente identifica un modulo, con regole ben specifiche per dialogare con il sistema e le interfacce. E’ la suddivisione del progetto in moduli il vero punto di forza di Jarvis, il sistema si dota così di grande scalabilità e robustezza.
Le scelte implementative si estendono su tutte le architetture supportate, che sia un calcolatore, un server o uno smartphone.
Una parte fondamentale del sistema domotico Jarvis, risiede nelle interfacce vocali, al cuore dell’implementazione dell’intero sistema. Esse permettono l’interazione diretta con l’utente, attraverso comandi predefiniti, riconosciuti e in seguito interpretati. Le interfacce vocali sono presenti anche nella versione smartphone di Jarvis, per accedere al pieno delle sue funzioni in tutta mobilità.

Le utilità di un sistema domotico abbracciano diversi aspetti del quotidiano, esso rappresenta un’unità portante o d’ausilio per l’intera struttura abitativa. La praticità di un sistema domotico sta nel garantire una certa facilità nell’esecuzione di operazioni predefinite. Jarvis estende questo concetto, presentando caratteristiche tipiche di un assistente vocale, con elaborazioni interne e risposte vocali contestuali.

Scopo del progetto

Lo scopo del progetto è realizzare un sistema domotico open source, per facilitare le operazioni quotidiane e offrire un’esperienza d’uso piacevole e all’avanguardia, compatibile con le tecnologie odierne, che presenti alcune delle caratteristiche base tipiche a sistemi di questo genere, pur introducendo caratteri di novità e semplicità da renderlo facilmente installabile e riproducibile dagli utenti. Con questo progetto si cerca di perseguire un approccio mirato all’abbattimento dei costi, è pensato per avere tempi d’installazione praticamente immediati, un basso costo di realizzazione e un basso costo di manutenzione. La personalizzazione e la facilità nell’upgrade sono altre caratteristiche che permettono al sistema di evolvere ed essere migliorato dalla comunità di internet.

Per continuare e vedere il progetto più nel dettaglio, vai alla seconda parte.

PS. Il progetto è stato presentato il 17 ottobre 2013 come tesi di laurea triennale, cdl in informatica da Rocco Musolino.