際際滷

際際滷Share a Scribd company logo
Developers Introduction
Origins of the project
The Department of Information Engineering and Computer Science (DISI) at
the University of Trento, has some research teams working on sensor
networks for home nursering. They needed a Framework capable of easily
integrate different projects developed in heterogeneous languages, make them
work together, to help testing and to produce visual demos for research
partners. This way teams at DISI can focus on the core of their research,
instead of developing custom solutions for every different project.
These are the main Freedomotic goals and requirements: to maintain the
flexible and modular framework that could easily ntegrates and adapts to
different (and potentially unknown) needs.
Freedomotic Architecture
Freedomotic is an automation software composed by a core (the framework)
plus some plugins.
The core part is a framework that:
1. Implements a language independent messaging system based on
Www.freedomotic.com  developers introduction v1.5
Enterprise Integration Pattern. From this follows you can develop in
your favorite language and just exchange messages with the other
software components. The aim of the messaging system is to link all
software modules together in a flexible and abstract way, relating them
using the concept of channels (publish-subscribe to different levels of a
topics hierarchy). Through messaging system travels Events, Triggers
and Commands.
 Events are notification of facts like "the state of an hardware device
is changed", "the user have clicked an object on the GUI" or "an
object changes its behavior from ON to OFF". They can be published
by any component of the system, a sensor, a frontend, the core
itself...
 Triggers listen for events and filter they values (EVENT: "the user
have clicked an object" -> TRIGGER: "if living-room light is clicked")
 Commands are instructions to do something like "turn on living-room
light"
 Reactions bounds trigger and commands to create an automation: "if
living-room light is clicked" THEN "turn on living-room light"
More info about the messaging system can be found here
http://code.google.com/p/freedomotic/wiki/MessagingSystem
2. Maintains an internal data structure representing the environment
(topology, rooms connections as a graph, ...), the objects in zones and
their state (on, off, open, closed, 50%dimmed,...)
3. Creates an abstraction layer, so users and external software modules
can use a high level logic like "turn on kitchen light" instead of "send to
COM1 port the string #*A01AON##". Ss a developer you can leverage
the others plugins features at an high logical level, is just like the
modules can see the same environment map as the user. All data
component (environment, objects, triggers, commands) can be defined
in XML and easily exchanged on the network between different nodes of
the P2P Freedomotic network.
4. Provides a rules engine coupled with a natural language processing
system to let the user writing automations in plain English like "if outside
is dark turn on living-room light". You can add, update and delete this
automations at runtime using any human computer interface like GUIs,
or even speak them.
2
Www.freedomotic.com  developers introduction v1.5
The Plugins System
 Devices: you can integrate any type of hardware automation protocol,
web service or external software using your favorite language. The
purpose of device plugins is to send events to Freedomotic to inform
it about anything it should know like, for example, a hardware device
state change, a SMS reception, a new twitter message, a person
movement to a new location in the environment, etc. It also listens
for commands from Freedomotic like turn on this device, send an
SMS, post a twitter message, ...
 Frontends: it's easy to develop frontends tailored for specific needs by
just reading and publishing events from/to the messaging bus.
Imagine for example a virtual guide system for a museum. It must
3
Www.freedomotic.com  developers introduction v1.5
have: a desktop frontend (eg: in Java) for employees so they can
track visits statistics connected to ERP/CRM software; a
configurators frontend (eg: in C++) which allows them to easily
create the interactive installations; a smartphone frontend for users
with a map interface and virtual guide based on indoor location or QR
code recognition; a web frontend used to promote the exposition with
live data and previews. All this systems must work together and can be
rapidly developed in an independent way thanks to Freedomotic
framework. This means the system can also grow in features as you
go, and can scale thanks to its distributed architecture with automatic
load-balancing of the computational load.
 Objects: developed in Java, they are pieces of software which models
the behavior of objects like lamps, doors, etc... instructing the
framework on how they behave. For example a lamp object plugin
makes the Framework know that a lamp has a boolean behavior called
powered and a dimmed behavior which is represented by an integer
from 0 to 100. In this example a lamp would expose the generic
actions turn on, turn off and dimm which can be mapped to a real
hardware command exposed by a device plugin (turn on -> turn on
x10 device). It also would define the relations between the different
behaviors: If dimmed becomes 0% the lamp is powered=false and if
dimmed > 0% the lamp is powered=true.
Features
 Cross-platform: Freedomotic is written in Java so it can run on
Windows, Linux, Mac, Solaris. Java JRE 6 is required.
 Distributed & Scalable: can be deployed on a network of cheap
peer-to-peer hardware node. It is scalable and can manage from
small apartments to huge buildings providing automatic load
balancing across clusters on the network.
 Modular & Extensible: Freedomotic is modular and can enrich its
features using plugins and crosslanguage API. API are distributed
along with the software to easily create new add-ons. It provides
OSGi Framework features in a simpler way, leveraging well known
OO programming inheritance.
 Cross-language APIs: you can connect different software,
hardware, frontends and services app developed in your preferred
programming language using REST, STOMP or plain Java.
 Not a single frontend: it can run many frontends at the same time,
also from remote. Every frontend can be developed with specific
purpose in mind and every company can build rapidly its own
branded interface hiding the framework beneath.
 Hardware Agnostic: Freedomotic has a hardware abstraction layer
to abstract from hardware infrastructure (sensors and actuators)
4
Www.freedomotic.com  developers introduction v1.5
using events, triggers and commands. An object (eg: a light) is
abstract and not related to any particular building automation
protocol.
 Event Based: Every action in the real environment and every
interaction with the system (eg: a click on the GUI) is mapped to an
event. Events can be intercepted at runtime making the behavior of
the system fully configurable and adaptable to any automation
purpose.
 Semantic-rich: Freedomotic provides a semantic-rich knowledge of
the environment topology, persons and objects in it to implement
intelligence and reasoning systems. No coding is required, the
environment can be described using graphical editors.
Current development stage
Freedomotic is an open source project at a working beta stage. We use the
home automation segment to test and attract users but its range of application
is much wider. The final purpose of the project is to build a sort of Content
Management System (CMS) for building automation. It will abstract and make
easily available the common features required by building automation system
in a way privates and companies can extend it to create custom context
aware/environment aware services.
Contributions
The project is completely Open Source and open to anyone who wants to use
it, report bugs, code, produce videos, example data, or simply talk about
building automation. We are a small community of passionate people who
commit a great part of their spare time to the project and we are always
searching for contributors, partnership and fresh ideas. If you are interested
write at info@freedomotic.com
Resources
 Online Code Repository: code.google.com/p/freedomotic
 Wiki: code.google.com/p/freedomotic/wiki/
 Official website: www.freedomotic.com
 Developers mailing list: https://groups.google.com/forum/#%21forum/freedom-domotics
 Contacts: info@freedomotic.com
5

More Related Content

Similar to Freedomotic v1.5 whitepaper (20)

OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]
Yatharth Aggarwal
Software Engineering notes with all diagrams
Software Engineering notes with all diagramsSoftware Engineering notes with all diagrams
Software Engineering notes with all diagrams
DrTSrinivasaRao
ACCESS_WP_Hiker_App_framework-web
ACCESS_WP_Hiker_App_framework-webACCESS_WP_Hiker_App_framework-web
ACCESS_WP_Hiker_App_framework-web
Paul Plaquette
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
Tripti Tiwari
Software 2.0 - Transformation of Software Services
Software 2.0 - Transformation of Software ServicesSoftware 2.0 - Transformation of Software Services
Software 2.0 - Transformation of Software Services
Indus Net Technologies Private Limited
Know all about android development
Know all about android developmentKnow all about android development
Know all about android development
Deepika Chaudhary
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
Samaritan InfoTech
Software Engineering Notes 1 (1) (1).pdf
Software Engineering Notes 1 (1) (1).pdfSoftware Engineering Notes 1 (1) (1).pdf
Software Engineering Notes 1 (1) (1).pdf
Prem Knowles
Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud ComputingCrash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing
Mark Hinkle
The Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsThe Big Picture - Integrating Buzzwords
The Big Picture - Integrating Buzzwords
Alessandro Giorgetti
603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx
603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx
603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx
FarhanGhafoor7
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checker
Yesu Raj
Live Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno SvcLive Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno Svc
Wes Yanaga
IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016
Vaidheswaran CS
Internship msc cs
Internship msc csInternship msc cs
Internship msc cs
Pooja Bhojwani
Electronic Case Management System(eCMS) proposal
Electronic Case Management System(eCMS) proposalElectronic Case Management System(eCMS) proposal
Electronic Case Management System(eCMS) proposal
Laud Randy Amofah
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA -  Smart Objects For Intelligent Applications. INDRA/ESISOFIA -  Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
Sofia Eu
Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1
Rachel Phillips
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
Yash Sati
Building Multi-Technology Applications
Building Multi-Technology ApplicationsBuilding Multi-Technology Applications
Building Multi-Technology Applications
Przemysaw adyski
OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]
Yatharth Aggarwal
Software Engineering notes with all diagrams
Software Engineering notes with all diagramsSoftware Engineering notes with all diagrams
Software Engineering notes with all diagrams
DrTSrinivasaRao
ACCESS_WP_Hiker_App_framework-web
ACCESS_WP_Hiker_App_framework-webACCESS_WP_Hiker_App_framework-web
ACCESS_WP_Hiker_App_framework-web
Paul Plaquette
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
Tripti Tiwari
Know all about android development
Know all about android developmentKnow all about android development
Know all about android development
Deepika Chaudhary
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
Samaritan InfoTech
Software Engineering Notes 1 (1) (1).pdf
Software Engineering Notes 1 (1) (1).pdfSoftware Engineering Notes 1 (1) (1).pdf
Software Engineering Notes 1 (1) (1).pdf
Prem Knowles
Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud ComputingCrash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing
Mark Hinkle
The Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsThe Big Picture - Integrating Buzzwords
The Big Picture - Integrating Buzzwords
Alessandro Giorgetti
603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx
603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx
603848771-Lecture-1-Intro-to-Flutter-and-Dart.pptx
FarhanGhafoor7
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checker
Yesu Raj
Live Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno SvcLive Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno Svc
Wes Yanaga
IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016
Vaidheswaran CS
Electronic Case Management System(eCMS) proposal
Electronic Case Management System(eCMS) proposalElectronic Case Management System(eCMS) proposal
Electronic Case Management System(eCMS) proposal
Laud Randy Amofah
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA -  Smart Objects For Intelligent Applications. INDRA/ESISOFIA -  Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
Sofia Eu
Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1
Rachel Phillips
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
Yash Sati
Building Multi-Technology Applications
Building Multi-Technology ApplicationsBuilding Multi-Technology Applications
Building Multi-Technology Applications
Przemysaw adyski

More from freedomotic (14)

The application of process mining in a simulated smart environment to derive ...
The application of process mining in a simulated smart environment to derive ...The application of process mining in a simulated smart environment to derive ...
The application of process mining in a simulated smart environment to derive ...
freedomotic
Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...
freedomotic
Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...
freedomotic
Sistemi domotici integrati per la gestione intelligente dambiente
Sistemi domotici integrati per la gestione intelligente dambienteSistemi domotici integrati per la gestione intelligente dambiente
Sistemi domotici integrati per la gestione intelligente dambiente
freedomotic
Freedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now MilanoFreedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now Milano
freedomotic
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
freedomotic
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
freedomotic
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
freedomotic
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
freedomotic
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
freedomotic
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
freedomotic
Heima Off Grid Casa Auto足Suficiente ControladaHeima Off Grid Casa Auto足Suficiente Controlada
Heima Off Grid Casa Auto足Suficiente Controlada
freedomotic
Freedomotic v5.5 Changelog
Freedomotic v5.5 ChangelogFreedomotic v5.5 Changelog
Freedomotic v5.5 Changelog
freedomotic
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
freedomotic
The application of process mining in a simulated smart environment to derive ...
The application of process mining in a simulated smart environment to derive ...The application of process mining in a simulated smart environment to derive ...
The application of process mining in a simulated smart environment to derive ...
freedomotic
Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...
freedomotic
Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...
freedomotic
Sistemi domotici integrati per la gestione intelligente dambiente
Sistemi domotici integrati per la gestione intelligente dambienteSistemi domotici integrati per la gestione intelligente dambiente
Sistemi domotici integrati per la gestione intelligente dambiente
freedomotic
Freedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now MilanoFreedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now Milano
freedomotic
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
freedomotic
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
freedomotic
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
freedomotic
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
Evoluzione di unapplicazione mobile cross platform per il supporto domotico ...
freedomotic
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
freedomotic
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
freedomotic
Heima Off Grid Casa Auto足Suficiente ControladaHeima Off Grid Casa Auto足Suficiente Controlada
Heima Off Grid Casa Auto足Suficiente Controlada
freedomotic
Freedomotic v5.5 Changelog
Freedomotic v5.5 ChangelogFreedomotic v5.5 Changelog
Freedomotic v5.5 Changelog
freedomotic
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
freedomotic

Recently uploaded (20)

Tour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odooTour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
AxisTechnolabs
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
blouch36kp
Adobe XD Crack Version 2025 Free Download
Adobe XD Crack Version 2025 Free DownloadAdobe XD Crack Version 2025 Free Download
Adobe XD Crack Version 2025 Free Download
mohsinrazakpa67
Adobe Illustrator Crack Download (Latest 2025)
Adobe Illustrator Crack Download (Latest 2025)Adobe Illustrator Crack Download (Latest 2025)
Adobe Illustrator Crack Download (Latest 2025)
blouch36kp
Marketo User Group - Singapore - April 2025
Marketo User Group - Singapore - April 2025Marketo User Group - Singapore - April 2025
Marketo User Group - Singapore - April 2025
BradBedford3
Wondershare Filmora Crack 2025 For Windows Free
Wondershare Filmora Crack 2025 For Windows FreeWondershare Filmora Crack 2025 For Windows Free
Wondershare Filmora Crack 2025 For Windows Free
mohsinrazakpa43
Windows 8.1 Pro Activator Crack Version [April-2025]
Windows 8.1 Pro Activator Crack Version [April-2025]Windows 8.1 Pro Activator Crack Version [April-2025]
Windows 8.1 Pro Activator Crack Version [April-2025]
jhonjosh91
IObit Driver Booster Pro 12.3.0.557 Free
IObit Driver Booster Pro 12.3.0.557 FreeIObit Driver Booster Pro 12.3.0.557 Free
IObit Driver Booster Pro 12.3.0.557 Free
mohsinrazakpa95
4K Video Downloader Crack + License Key 2025
4K Video Downloader Crack + License Key 20254K Video Downloader Crack + License Key 2025
4K Video Downloader Crack + License Key 2025
yelenayoko
Cypress Parallel Testing Tutorial: Speed Up Your Test Runs with Ease
Cypress Parallel Testing Tutorial: Speed Up Your Test Runs with EaseCypress Parallel Testing Tutorial: Speed Up Your Test Runs with Ease
Cypress Parallel Testing Tutorial: Speed Up Your Test Runs with Ease
Shubham Joshi
microsoft office 2019 crack free download
microsoft office 2019 crack free downloadmicrosoft office 2019 crack free download
microsoft office 2019 crack free download
mohsinrazakpa39
ESET Smart Security Crack + Activation Key 2025 [Latest]
ESET Smart Security Crack + Activation Key 2025 [Latest]ESET Smart Security Crack + Activation Key 2025 [Latest]
ESET Smart Security Crack + Activation Key 2025 [Latest]
umeerbinfaizan
AI has already changed software development.pdf
AI has already changed software development.pdfAI has already changed software development.pdf
AI has already changed software development.pdf
Radam辿s Roriz
Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...
Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...
Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...
Alluxio, Inc.
mORMot 2 - Pascal Cafe 2025 in Nederlands
mORMot 2 - Pascal Cafe 2025 in NederlandsmORMot 2 - Pascal Cafe 2025 in Nederlands
mORMot 2 - Pascal Cafe 2025 in Nederlands
Arnaud Bouchez
ESET NOD32 Antivirus Crack with License Key 2025
ESET NOD32 Antivirus Crack with License Key 2025ESET NOD32 Antivirus Crack with License Key 2025
ESET NOD32 Antivirus Crack with License Key 2025
umeerbinfaizan
Clip Studio Paint EX Download (Latest 2025)
Clip Studio Paint EX Download (Latest 2025)Clip Studio Paint EX Download (Latest 2025)
Clip Studio Paint EX Download (Latest 2025)
mohsinrazakpa79
IObit Driver Booster Free 12.3.0.557 Free Download
IObit Driver Booster Free 12.3.0.557 Free DownloadIObit Driver Booster Free 12.3.0.557 Free Download
IObit Driver Booster Free 12.3.0.557 Free Download
blouch33kp
Typing Master Pro 12 Crack Updated Version [April-2025]
Typing Master Pro 12 Crack Updated Version [April-2025]Typing Master Pro 12 Crack Updated Version [April-2025]
Typing Master Pro 12 Crack Updated Version [April-2025]
jhonjosh91
wAIred_VoxxedDaysAmsterdam_03042025.pptx
wAIred_VoxxedDaysAmsterdam_03042025.pptxwAIred_VoxxedDaysAmsterdam_03042025.pptx
wAIred_VoxxedDaysAmsterdam_03042025.pptx
SimonedeGijt
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odooTour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
Tour Booking, Booking Service, Tour Agents, Hotel Booking in odoo
AxisTechnolabs
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
blouch36kp
Adobe XD Crack Version 2025 Free Download
Adobe XD Crack Version 2025 Free DownloadAdobe XD Crack Version 2025 Free Download
Adobe XD Crack Version 2025 Free Download
mohsinrazakpa67
Adobe Illustrator Crack Download (Latest 2025)
Adobe Illustrator Crack Download (Latest 2025)Adobe Illustrator Crack Download (Latest 2025)
Adobe Illustrator Crack Download (Latest 2025)
blouch36kp
Marketo User Group - Singapore - April 2025
Marketo User Group - Singapore - April 2025Marketo User Group - Singapore - April 2025
Marketo User Group - Singapore - April 2025
BradBedford3
Wondershare Filmora Crack 2025 For Windows Free
Wondershare Filmora Crack 2025 For Windows FreeWondershare Filmora Crack 2025 For Windows Free
Wondershare Filmora Crack 2025 For Windows Free
mohsinrazakpa43
Windows 8.1 Pro Activator Crack Version [April-2025]
Windows 8.1 Pro Activator Crack Version [April-2025]Windows 8.1 Pro Activator Crack Version [April-2025]
Windows 8.1 Pro Activator Crack Version [April-2025]
jhonjosh91
IObit Driver Booster Pro 12.3.0.557 Free
IObit Driver Booster Pro 12.3.0.557 FreeIObit Driver Booster Pro 12.3.0.557 Free
IObit Driver Booster Pro 12.3.0.557 Free
mohsinrazakpa95
4K Video Downloader Crack + License Key 2025
4K Video Downloader Crack + License Key 20254K Video Downloader Crack + License Key 2025
4K Video Downloader Crack + License Key 2025
yelenayoko
Cypress Parallel Testing Tutorial: Speed Up Your Test Runs with Ease
Cypress Parallel Testing Tutorial: Speed Up Your Test Runs with EaseCypress Parallel Testing Tutorial: Speed Up Your Test Runs with Ease
Cypress Parallel Testing Tutorial: Speed Up Your Test Runs with Ease
Shubham Joshi
microsoft office 2019 crack free download
microsoft office 2019 crack free downloadmicrosoft office 2019 crack free download
microsoft office 2019 crack free download
mohsinrazakpa39
ESET Smart Security Crack + Activation Key 2025 [Latest]
ESET Smart Security Crack + Activation Key 2025 [Latest]ESET Smart Security Crack + Activation Key 2025 [Latest]
ESET Smart Security Crack + Activation Key 2025 [Latest]
umeerbinfaizan
AI has already changed software development.pdf
AI has already changed software development.pdfAI has already changed software development.pdf
AI has already changed software development.pdf
Radam辿s Roriz
Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...
Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...
Alluxio Webinar | Inside Deepseek 3FS: A Deep Dive into AI-Optimized Distribu...
Alluxio, Inc.
mORMot 2 - Pascal Cafe 2025 in Nederlands
mORMot 2 - Pascal Cafe 2025 in NederlandsmORMot 2 - Pascal Cafe 2025 in Nederlands
mORMot 2 - Pascal Cafe 2025 in Nederlands
Arnaud Bouchez
ESET NOD32 Antivirus Crack with License Key 2025
ESET NOD32 Antivirus Crack with License Key 2025ESET NOD32 Antivirus Crack with License Key 2025
ESET NOD32 Antivirus Crack with License Key 2025
umeerbinfaizan
Clip Studio Paint EX Download (Latest 2025)
Clip Studio Paint EX Download (Latest 2025)Clip Studio Paint EX Download (Latest 2025)
Clip Studio Paint EX Download (Latest 2025)
mohsinrazakpa79
IObit Driver Booster Free 12.3.0.557 Free Download
IObit Driver Booster Free 12.3.0.557 Free DownloadIObit Driver Booster Free 12.3.0.557 Free Download
IObit Driver Booster Free 12.3.0.557 Free Download
blouch33kp
Typing Master Pro 12 Crack Updated Version [April-2025]
Typing Master Pro 12 Crack Updated Version [April-2025]Typing Master Pro 12 Crack Updated Version [April-2025]
Typing Master Pro 12 Crack Updated Version [April-2025]
jhonjosh91
wAIred_VoxxedDaysAmsterdam_03042025.pptx
wAIred_VoxxedDaysAmsterdam_03042025.pptxwAIred_VoxxedDaysAmsterdam_03042025.pptx
wAIred_VoxxedDaysAmsterdam_03042025.pptx
SimonedeGijt

Freedomotic v1.5 whitepaper

  • 1. Developers Introduction Origins of the project The Department of Information Engineering and Computer Science (DISI) at the University of Trento, has some research teams working on sensor networks for home nursering. They needed a Framework capable of easily integrate different projects developed in heterogeneous languages, make them work together, to help testing and to produce visual demos for research partners. This way teams at DISI can focus on the core of their research, instead of developing custom solutions for every different project. These are the main Freedomotic goals and requirements: to maintain the flexible and modular framework that could easily ntegrates and adapts to different (and potentially unknown) needs. Freedomotic Architecture Freedomotic is an automation software composed by a core (the framework) plus some plugins. The core part is a framework that: 1. Implements a language independent messaging system based on
  • 2. Www.freedomotic.com developers introduction v1.5 Enterprise Integration Pattern. From this follows you can develop in your favorite language and just exchange messages with the other software components. The aim of the messaging system is to link all software modules together in a flexible and abstract way, relating them using the concept of channels (publish-subscribe to different levels of a topics hierarchy). Through messaging system travels Events, Triggers and Commands. Events are notification of facts like "the state of an hardware device is changed", "the user have clicked an object on the GUI" or "an object changes its behavior from ON to OFF". They can be published by any component of the system, a sensor, a frontend, the core itself... Triggers listen for events and filter they values (EVENT: "the user have clicked an object" -> TRIGGER: "if living-room light is clicked") Commands are instructions to do something like "turn on living-room light" Reactions bounds trigger and commands to create an automation: "if living-room light is clicked" THEN "turn on living-room light" More info about the messaging system can be found here http://code.google.com/p/freedomotic/wiki/MessagingSystem 2. Maintains an internal data structure representing the environment (topology, rooms connections as a graph, ...), the objects in zones and their state (on, off, open, closed, 50%dimmed,...) 3. Creates an abstraction layer, so users and external software modules can use a high level logic like "turn on kitchen light" instead of "send to COM1 port the string #*A01AON##". Ss a developer you can leverage the others plugins features at an high logical level, is just like the modules can see the same environment map as the user. All data component (environment, objects, triggers, commands) can be defined in XML and easily exchanged on the network between different nodes of the P2P Freedomotic network. 4. Provides a rules engine coupled with a natural language processing system to let the user writing automations in plain English like "if outside is dark turn on living-room light". You can add, update and delete this automations at runtime using any human computer interface like GUIs, or even speak them. 2
  • 3. Www.freedomotic.com developers introduction v1.5 The Plugins System Devices: you can integrate any type of hardware automation protocol, web service or external software using your favorite language. The purpose of device plugins is to send events to Freedomotic to inform it about anything it should know like, for example, a hardware device state change, a SMS reception, a new twitter message, a person movement to a new location in the environment, etc. It also listens for commands from Freedomotic like turn on this device, send an SMS, post a twitter message, ... Frontends: it's easy to develop frontends tailored for specific needs by just reading and publishing events from/to the messaging bus. Imagine for example a virtual guide system for a museum. It must 3
  • 4. Www.freedomotic.com developers introduction v1.5 have: a desktop frontend (eg: in Java) for employees so they can track visits statistics connected to ERP/CRM software; a configurators frontend (eg: in C++) which allows them to easily create the interactive installations; a smartphone frontend for users with a map interface and virtual guide based on indoor location or QR code recognition; a web frontend used to promote the exposition with live data and previews. All this systems must work together and can be rapidly developed in an independent way thanks to Freedomotic framework. This means the system can also grow in features as you go, and can scale thanks to its distributed architecture with automatic load-balancing of the computational load. Objects: developed in Java, they are pieces of software which models the behavior of objects like lamps, doors, etc... instructing the framework on how they behave. For example a lamp object plugin makes the Framework know that a lamp has a boolean behavior called powered and a dimmed behavior which is represented by an integer from 0 to 100. In this example a lamp would expose the generic actions turn on, turn off and dimm which can be mapped to a real hardware command exposed by a device plugin (turn on -> turn on x10 device). It also would define the relations between the different behaviors: If dimmed becomes 0% the lamp is powered=false and if dimmed > 0% the lamp is powered=true. Features Cross-platform: Freedomotic is written in Java so it can run on Windows, Linux, Mac, Solaris. Java JRE 6 is required. Distributed & Scalable: can be deployed on a network of cheap peer-to-peer hardware node. It is scalable and can manage from small apartments to huge buildings providing automatic load balancing across clusters on the network. Modular & Extensible: Freedomotic is modular and can enrich its features using plugins and crosslanguage API. API are distributed along with the software to easily create new add-ons. It provides OSGi Framework features in a simpler way, leveraging well known OO programming inheritance. Cross-language APIs: you can connect different software, hardware, frontends and services app developed in your preferred programming language using REST, STOMP or plain Java. Not a single frontend: it can run many frontends at the same time, also from remote. Every frontend can be developed with specific purpose in mind and every company can build rapidly its own branded interface hiding the framework beneath. Hardware Agnostic: Freedomotic has a hardware abstraction layer to abstract from hardware infrastructure (sensors and actuators) 4
  • 5. Www.freedomotic.com developers introduction v1.5 using events, triggers and commands. An object (eg: a light) is abstract and not related to any particular building automation protocol. Event Based: Every action in the real environment and every interaction with the system (eg: a click on the GUI) is mapped to an event. Events can be intercepted at runtime making the behavior of the system fully configurable and adaptable to any automation purpose. Semantic-rich: Freedomotic provides a semantic-rich knowledge of the environment topology, persons and objects in it to implement intelligence and reasoning systems. No coding is required, the environment can be described using graphical editors. Current development stage Freedomotic is an open source project at a working beta stage. We use the home automation segment to test and attract users but its range of application is much wider. The final purpose of the project is to build a sort of Content Management System (CMS) for building automation. It will abstract and make easily available the common features required by building automation system in a way privates and companies can extend it to create custom context aware/environment aware services. Contributions The project is completely Open Source and open to anyone who wants to use it, report bugs, code, produce videos, example data, or simply talk about building automation. We are a small community of passionate people who commit a great part of their spare time to the project and we are always searching for contributors, partnership and fresh ideas. If you are interested write at info@freedomotic.com Resources Online Code Repository: code.google.com/p/freedomotic Wiki: code.google.com/p/freedomotic/wiki/ Official website: www.freedomotic.com Developers mailing list: https://groups.google.com/forum/#%21forum/freedom-domotics Contacts: info@freedomotic.com 5