Freedom è un software per la domotica open source, distribuito con licenza GPL2, scritto in Java e supportato dal DISI dell’Università degli Studi di Trento.
Questo progetto ha lo scopo di sviluppare un framework open source che permetta di creare le proprie applicazioni di building automation. L’utilità di Freedom per lo sviluppo di applicazioni di building automation è pari a quella dei CMS nella costruzione di siti web.
Freedom fornisce già supporto per X10, Android, Arduino, Tracking della posizione e molto altro. A questo aggiunge un sistema di intelligenza artificiale che permette di andare oltre le automazioni standard dei software attualmente in commercio.
Freedom è un’applicazione di building automation distribuita, peer to peer, scalabile, con load-balancing automatico del carico elaborativo sui diversi nodi, pertanto può essere installata su dispositivi embedded a basso costo per creare una Virtual Private Network (VPN) domotica, oppure può girare su un singolo PC e su molti sistemi operativi (Windows, Linux, Mac, Solaris, …).
Freedom permette di ridurre al minimo i tempi di sviluppo nella realizzazione di un software di gestione domotica.
CARATTERISTICHE:
- Open source: rilasciato con licenza GPL v2
- Architettura distribuita: può essere installato su una rete di economici elementi hardware. E’ scalabile e implementa automaticamente il bilanciamento del carico tra i nodi della rete.
- Cross-language: utilizza il Message Oriented Middleware Active MQ per lo scambio di informazioni tra componenti.
- Cross-platform: Essendo scritto in Java può girare su piattaforma Windows, Linux, Mac, Solaris. Richiede runtime Java Jr6
- Espandibile: L’architettura modulare permette di aggiungere nuove funzionalità tramite plugin; le API sono distribuite insieme al software per dare la possibilità agli sviluppatori di creare nuovi add-on.
- Ricchezza semantica: Freedom offre un sistema di descrizione dell’ambiente basato su una ricca semantica, per potere implementare meccanismi di decisione intelligente. Non è necessario programmare: un editore grafico può essere utilizzato per rappresentare l’ambiente.
FUNZIONALITA ‘ AGGIUNTIVE: PLUGINS
Tracking e localizzazione di persone
Misurando l’intensità del segnali wi-fi nell’ambiente, il sistema riesce a stabilire la posizione delle persone; in questo modo è anche possibile accendere le luci durante il passaggio o spostare la diffusione audio attraverso la casa.
Telecamere con rilevamento del movimento
Funzionalità di individuazione del movimento su stream video proveniente da una webcam o da telecamera di sicurezza. Ad esempio si può avviare la registrazione di un video quando viene rilevato del movimento, oppure notificare l’evento sul telefonino con un SMS se non siete a casa.
Protocolli hardware: protocollo X10
Questo plugin abilita la comunicazione con i dispositivi X10. E’ possibile comandare luci, dispositivi elettrici e molto altro; non è necessaria alcuna configurazione: basta collegare il dispositivo x10 e il controller, Freedom li rileverà automaticamente.
INTELLIGENZA
Gestore zone
Si possono definire varie zone nell’ambiente ed associarle a comandi che si attivano quando una persona entra in una data area o ne esce.
Logica Fuzzy
Implementa funzionalità di intelligenza artificiale grazie a una unità logica fuzzy.
Notifica di pericoli
Determina se una certa azione è pericolosa utilizzando l’intelligenza artificiale e le informazioni semantiche.
Orologio
Attiva funzionalità di programmazione oraria o a calendario: ad esempio è possibile eseguire una azione (come accendere una luce) se sono le sei di sera o è Domenica. Si possono anche ripetere comandi ad intervalli prefissati di tempo.
MEDIA E HOME ENTERTAINMENT
Text to Speech
Si tratta di un motore di sintesi vocale: con questo plugin il sistema può pronunciare un dato testo scritto.
VLC Controller Media Player
Grazie a questo plugin si possono eseguire contenuti audio – video mediante il noto player software VLC.
TELECOMUNICAZIONI
SMS Sender
Invio di SMS gratuiti verso telefoni cellulari
INTERFACCE GRAFICHE
Editor degli eventi
Si possono definire comandi e trigger grazie al semplice editor grafico anziché programmare in XML.
Dialog Utente
Visualizza sullo schermo una finestra di dialogo configurabile, per registrare un input da parte dell’utente (ad esempio opzione si/no). Se qualcuno suona alla porta, Freedom vi chiederà se volete aprire con una dialog box si/no.
Controllo Accessi
Viene riprodotta una semplice tastiera telefonica: si può associare un comando qualsiasi all’evento “bottone premuto”.
Il progetto Freedom viene sviluppato in un laboratorio di domotica sito a Trento. E’ una struttura del dipartimento DISI dell’Università degli Studi di Trento. Il laboratrio domotico è completamente ammobiliato ed è usato come test bed per la ricerca riguardante ambienti intelligenti, home nursering and home automation. Un altro appartamento domotico si trova in piazza Garzetti, nel centro della città di Trento e funge da sito di integration test per le soluzioni di home nursering sviluppate dalla Fondazione Bruno Kessler (FBK).
L’opportunità di utilizzare l’Alloggio Domotico di Piazza Garzetti, nasce dall’Accordo di collaborazione tra ITEA S.p.A., la Provincia Autonoma di Trento, la Fondazione Bruno Kessler, il Dipartimento di Ingegneria e Scienza dell’Informazione dell’Università di Trento e l’Opera Universitaria. Qui viene svolta la ricerca universitaria che ha fatto nascere Freedom.
Per maggiori informazioni:
https://github.com/freedomotic/freedomotic/
Enrico Nicoletti
Developing team
info@freedomotic.com