Official website

Wednesday, January 28, 2015

Testing Jubito in multiple environments

Since the latest version of Jubito, based on jaNET Framework 0.2.5 [ rev. r550 ], was released, I spent some time, by doing tests in multiple environments. I focused on single board computers, such as Raspberry Pi and Banana Pi, both with Rasbian and Lubuntu flavors. To my surprise, the installation and migration was flawless! Actually, it was expected, but I didn't have the chance to give a try till I bought them.

So, the evolution came with a new Jubito Home Server, passing from my old netbook Dell mini 9, to a Raspberry Pi and finally to a Banana Pi.

Let's take a look at some pictures from various tests.

Dell mini 9 (Ubuntu)


Hosted on upper kitchen cabinets

Asus eee (Linux Lite)


Mac (OS X Yosemite)


Raspberry Pi (Raspbian)



Banana Pi (Lubuntu)


Migration process...


Banana Pi + Arduino Uno + Various modules
Stress tests, power consumption tests (*), cpu and memory load tests.
(*) Arduino needs external supply 9V. If not, then with some open tabs on Firefox or other load Banana turns off.


The outcome!
Playing with Banana Pi for three weeks, I believe is a good deal and I recommend it.
Current compilation is consisted with the Banana Pi as my Jubito Home Server and the Arduino, plus various sensor modules for environment control.
Now, it's time to become invisible and be placed in its natural location, the upper kitchen cabinets.


The release of the updated version comes with Mac OS X support, including TTS. In most cases, you probably have noticed that I used the command-line interface, because it's more straightforward to me and also it runs natively, with no extra dependencies that wouldn’t already be available on each platform. [ Download page ]

What's next?
Hopefully to find the time for myself to build and provide Raspbian and Lubuntu images with Jubito Server installed and ready to run out of the box [Update: http://jubitoblog.blogspot.gr/2015/02/jubitos-for-banana-pi.html].

There's more to come but in time.

Saturday, January 24, 2015

2014/15 Internet of Things Awards

Jubito had been nominated in "Technical Enabler: Application Enablement" category for the 4th Annual IoT Awards hosted by Postscapes.com.
Technical Enabler: Application Enablement
Well-designed technology may be indistinguishable from magic, but that belies all the hard work and creativity that went on under the hood. The Technical Enabler awards acknowledge the elements that make it easier for everyone, from garage hobbyists to tech giants, to develop new products and services for the Internet of Things.
It gets the first place in "People's Choice Winner" category. So, there is not much to say...

Thank you!

See Technical Enabler: Application Enablement winners

Tuesday, December 30, 2014

Leaving 2014...

As a token of my appreciation, you'll be entered into a drawing for a jReCo (Jubito Remote Control) once you...


What you'll get is an Arduino Nano, RF Receiver + Transmitter modules, soldered, with full support and software implementation as seen in this tutorial.

I select this project because it was my first flirt with Arduino and because everybody, or almost everybody start with controlling lights, which is a good starting point for home automation.

So, from back then, with a little bit of research, I ended up from this...


to that...


I hope to find it as amusing as I, and give you a boost of encouragement to start developing your own "things".

This "contest" will close at January 30th and the winner will be announced in this post and at the social networks.

I wish you a creative 2015, good luck!

Saturday, December 13, 2014

4th Annual Internet of Things Awards

UPDATE: Jubito is been selected! Vote for it!

Postscapes 4th Annual Internet of Things Awards - 2014/15. A showcase of the year’s best #IoT products and companies.


Everyone is invited to vote for their favorite IoT Award winners.

Nominate Jubito :)

Monday, December 8, 2014

The power of reflection

In this post we've explained a scenario that consisted by a number (3) of alternative responses. Someone might consider, what if I want to use the response or some other action, like evaluation, to another activity? Should I make duplicates or a number of responses for each one of them? The answer is no. This can be solved by creating the response or some action as a launcher. A launcher creates two instances. One that holds the action and the other the reflection. The reflection is indicated by asterisk symbol.

For example, if I create a new launcher 'demo_launcher' that holds 'Hello %user%' as action, then the system will create:

1. *demo_launcher: Hello %user%
2. demo_launcher: *demo_launcher

When 'demo_launcher' is called the response will look like this...

Hello john (where john the system login. Check Built-in functions and API for more info)

Now, from a different Instruction Set that returns for example the user status, *demo_launcher can be invoked like this..

get_user_stat: *demo_launcher. Your status is set to %whereami%.

which will return...
Hello john, your status is set to present.

I think it's a very straightforward methodology and will become a standard in the future versions.

Screenshots are from the development version which is not yet available. However the functionality remains.


Of course these actions can be applied to any system object, such the evaluator.


Chain reaction behind the scenes.


Launchers are extremely versatile. You can combine anything that supported from the framework in a single action.
So, the verdict is that if you want a complex Instruction Set it is wise first to create launcher components and then mixed in a single one.

You can review a complex AppConfig.xml configuration file.

Tuesday, December 2, 2014

Jubito at MobiHealth 2014

Jubito was proudly presented at the 4th International Conference on Wireless Mobile Communication and Healthcare by Kostas Giokas, Senior Researcher, Leader of the Applied Informatics in mHealth (AiM) research team, of the Biomedical Engineering Laboratory, Institute of Communications and Computer Systems, National Technical University of Athens.


JUBITO: An interoperable platform for wellness, was presented at the 4th International Conference on Wireless Mobile Communication and Healthcare, MobiHealth, on the 4th of Novermber, held in Athens, Greece.



http://www.biomed.ntua.gr
http://www.ntua.gr
http://www.iccs.gr

Sunday, November 30, 2014

Set up a Gmail notifier

After setting up your gmail account, here's the post to show you how to use the %gmailcount% function to create a gmail notifier.

Go to Control Panel/Mail/Setup/Gmail


Type your username and your password and hit save.


Now we need to make a few scenarios. For instance when emails are more than one then respond with the number of them and so forth. But before we get into that, first we need to create the responses.

Go to Instruction Sets menu, hit Add New Instruction Set Add New Launcher and follow the screenshots. [ Update: For a more efficient way to create responses please read this post. ]

No new messages.
 You have, 1, unread message to your g-mail inbox.
You have, %gmailcount%, unread messages to your g-mail inbox.

Now we have to apply the logic we're talking about in a new Instruction Set.


In the action field copy/paste the following evalBool function...

{ evalBool(%gmailcount% <= 0); no-messages; ; } { evalBool(%gmailcount% == 1); gmail-one; ; } { evalBool(%gmailcount% > 1); gmail-count; ; }


One of each conditions will be evaluated and trigger the corresponding reply.

Finally we can make a daemon with the Scheduler, to perform checks every 5 minutes. From Scheduler menu hit Add New and type a name, select repeat in the period drop down, time in milliseconds e.g. 300000 for 5 minutes and action the Instruction Set that calls the evalBool function i.e. gmail. To avoid getting 'No new messages' every time, make a new Instruction Set that missing the no-messages evaluation.