Official website

Monday, June 23, 2014

Asynchronous operations triggered by arduino serial data

Another interesting and useful thing to know about Jubito is that its continuously monitor the serial port where arduino is connected. That allows as to control any message that arduino prints out. There is two ways to use that kind of data. One is by creating a new instruction set, which explained in this post, and the other one is by firing events. The second way is very efficient for asynchronous operations such as motion detection.

Let's make an example.


The above screenshot illustrates a MotionDetected message captured from a PIR sensor. In order to trigger an event or a sequence of actions we have to create a handler with the same name.

On Control Panel select Instruction Sets/Add New Event Handler


Then give the corresponding serial message as the name of the event handler


Action's can be vary depending your needs. In this example I will create a simple email notification. In the action field type...

judo mail send me@gmail.com me@gmail.com `Motion Alert` `A motion is detected at %calendardate% %time24%`

This will produce a message that would tell...
A motion is detected at 23/6/2014 14:07

Syntax of judo mail send API call...
judo mail send <from> <to> `<subject>` `<body>`

Read more about functions & judo API

To avoid signaling you every time that motion is detected you can use %whereami% function within evaluation which is explained in this complete example of security system.

The bottom line is that we can produce a variety of asynchronous operations that would be driven by received serial data.

Wednesday, May 28, 2014

Speech Synthesis & Server Installation [ Revised ]

The new core library (libJanet.dll 0.2.4) is speech independent and not a mandatory module in Jubito ecosystem. That means that you install a speech system at choice. It is convenient for those who don't have a sound card to their server and/or don't want to install extra software. However it can be installed later in case of need. Jubito will automatically determine when a speech widget is available.

For Windows version you have to install Speech SDK and copy jspeech.exe to directory where Jubito-server.exe is located.


For the Linux version install the festival speech synthesis system.
Open a terminal and type...

sudo apt-get install festival

Jubito Server Installation Process
To run Jubito server on Windows you need .NET Framework 4.0 and later and Mono for Linux (sudo apt-get install mono-complete). Then download and extract Jubito server in a directory of your choice. Please make sure you have setup properly the Jubito Server.
Additional information might be available at download section.

For the record, whether version you download will work fine at any OS in any case. The core library (libJanet.dll) is common and the only difference is the server GUI implementation which is Windows Forms & Gtk#.


0.2.4 version changes can be found here.

Thursday, May 22, 2014

Jubito server wallpaper

Give some flavor to your Jubito server with the Jubito wallpaper.


Wednesday, May 7, 2014

Jubito media center

As we explained in Instruction Set Anatomy post, Jubito can run other system processes (programs) with ./ (dot-slash) indicator in order to fetch the result and use it to synthesize a new custom instruction set.

In this example we'll use the above method to organize our favorite movies in one group and use Jubito as a remote control.

First let's see the syntax of the ./ -dot-slash

./'[program path]' '[arguments]'

Calling a program with no arguments will be like...

./notepad.exe or ./'notepad.exe'

Single quotes are not necessary when we make a call without arguments.

In the case of our media center example, we'll use the vlc program with extra arguments, such as -f for start in full screen and the path of the movie. This should be like...

./'C:\Program Files\VideoLAN\vlc.exe' '-f "C:\Downloads\movie.mp4"'

You can test the path before creating it from the run command like this...
C:\Program Files\VideoLAN\vlc.exe -f "C:\Downloads\movie.mp4"


After that you'll be ready to make your own Instruction Set list!


Please make sure that you enclose your executable and arguments in single quotes ('). It is mandatory for the system to split it up correctly. Double quotes (") are used for the file path.


So, that was it. You can now remote control your favorite movies or any other application by using this method.

A blast from the past... :)

Thursday, February 20, 2014

Contains method on evalBool statement

evalBool statement is excellent when you need to apply logic. To provide some more flexibility I added a new feature in version 0.2.1 of libJanet.dll. The new method called contains and is represented by ~>. To check framework version, go to terminal tab and type %about%.
The example below will evaluate if the word "Rain" is included in the result of %todayconditions% function (more on functions and weather feed configuration).

Evaluation
Response for true part
Response for false part
Debug

You can also add some stuff on final synthesis for "You don't need your umbrella" like "Today conditions is %todayconditions%. You don't need your umbrella!" which will result "Today conditions is Sunny. You don't need your umbrella!".

Saturday, February 15, 2014

New stylesheets for a fresh mobile look

Download the Mist or Vintage stylesheet and uncompress it. Jump to Jubito's /www/themes/ directory and replace your default.css and default.min.css with those extracted.

Mist


Vintage

Wednesday, February 12, 2014

Jubito client for android

Android client is finally released! Setup your Jubito server and use the app for remote access. Download