Skip to content

mcicolella/freedomotic

 
 

Repository files navigation

Freedomotic Open IoT Framework

Official website is https://www.freedomotic-platform.com

Freedomotic is an open source, flexible, secure Internet of Things (IoT) application framework, useful to build and manage modern smart spaces. It is targeted to private individuals (home automation) as well as business users (smart retail environments, ambient aware marketing, monitoring and analytics, ...)

Freedomotic can run also on Raspberry Pi and can easily interact with DIY Arduino projects.

Starting from 2 Feb 2014, this is the Freedomotic mainstream repository. Previous repository was hosted on googlecode http://code.google.com/p/freedomotic

Requirements:

  • Java Open JDK version 11+ or another JDK (to install on Ubuntu: sudo apt-get install openjdk-11-jdk)
  • Maven version 2 or 3 (to install on Ubuntu: sudo apt-get install maven)
  • Any OS with Java support (Linux, Windows, Mac, Solaris ...)

Development status:

  • Current released version: 5.6.0 'Commander RC4' (released on 16 Aug 2017)
  • Version in development (HEAD of this repository): 5.6.0 'Commander'

Quick Start

Follow these instructions if you want to compile Freedomotic from source (eg: to develop your own plugins). If you just want to try it, just download the precompiled binaries you can find at the official download page https://sourceforge.net/projects/freedomotic/

1) Fork Freedomotic on GitHub

git clone https://github.com/YOUR-GITHUB-USERNAME/freedomotic.git

Now the repository is ready to work with.

2) Enter the new local folder

cd freedomotic

3) Install the jar loader on local Maven repository

In order to compile the code you need to add the agent with a custom classloader (for loading jars at runtime in Java 9+). This file called freedomotic-jar-loader-0.0.1.jar is included inside third-party-libs folder.

So enter this folder

cd third-party-libs

and execute

mvn install:install-file -Dfile=freedomotic-jar-loader-0.0.1.jar -DgroupId=com.freedomotic -DartifactId=freedomotic-jar-loader -Dversion=0.0.1 -Dpackaging=jar

4) Compile Freedomotic with Maven

mvn clean install

5) IMPORTANT!!!! THIS IS REQUIRED: Copy the example-data folder into freedomotic-core/data. If you miss this step Freedomotic won't start

cp -r data-example/ framework/freedomotic-core/data

6) Run Freedomotic

java -javaagent:third-party-libs/freedomotic-jar-loader-0.0.1.jar -jar framework/freedomotic-core/target/freedomotic-core/freedomotic.jar

As an alternative you can start freedomotic-core project from your favourite IDE.

Getting help

Having trouble with Freedomotic? We’d like to help!

Contributing

Want to help us? It's very simple and funny. Here how to do.

License

Freedomotic is an Open Source software released under the GNU GPLv2 license.

Partners

This project is supported by:

Languages

  • Java 87.7%
  • JavaScript 8.1%
  • CSS 2.3%
  • XSLT 0.9%
  • C++ 0.3%
  • Processing 0.2%
  • Other 0.5%