JCL gateway to MicaZ networks

What does the sample do?

JCL gateway is an application partitioned into modules, which implements a sink node for a Micaz network. Currently, the available modules are receiver, predictor, and reducer. The main difference from most sink node solutions is the implementation of both data reduction algorithms and reconstruction scenario algorithms. Reduction and reconstruction algorithms are deployed in the cloud, precisely over many JCL Hosts.


Where can I find the project?

On GitHub here.


How do I run it?

You must first start a JCL cluster, having a Crossbow MPR2600 along with a micaz network. You should then import the JCL Gateway project. Next, you should generate a file .jar for the following classes: laccan.main.InitApp, laccan.main.PreditorApp, and laccan.main.ReducerApp. It is importante to remember to change the path in line 76 in the laccan.devices.helper.utils.Assistent class, before generating the .jar file from InitApp. Next, you should connect Crossbow MPR2600 , giving the correct permission. For instance, in Ubuntu OS you have to use the command sudo chmod -x /dev/ttyUSB1 and then run laccan.main.ReceiverApp.


How do I use it?

This application can be extended or just configured to be used with the existing modules. If you want to implement new modules, we suggest the persistence module and a redundancy module, where the persistence module should be responsible for storing data in a database, while the redundancy module should avoid problems, like the case where the sink node fails to connect to the network.

The receiver only provides communication between the micaz and JCL clusters or networks. 

The reducer module runs over the JCL Hosts, this way distributed over a cluster, so any application connected to the network can call the distributed reduction algorithm at line 33 of the code illustrated in the figure below.

The predictor has a simple implementation yet. To implement new predictors, just extend the abstract class illustrated in the figure below. The current implementation only differentiates indoor and outdoor forecasting, returning an expected temperature IN or OUT of LACCAN's rooms.

Questions or comments, where can I go?

Questions about the API or about codes of this application? See our Programming Guide and Installation Guide.

If you have any questions, please contact the JCL team.