Sunday, January 11, 2015

Google Fit

It is going to happen.

Computing is becoming more and more ubiquitous.
It is more and more common to have enough computing power in a "small device", that can be for example a smartphone, a smartwatch, a wearable.
In addition, these devices have a set of sensors that enables to:
  • Track your position;
  • Measure the number of steps you do;
  • Measure your speed;
  • Read other important parameters like: temperature, your heart rate, and so on;
Obviously the next step is to develop complete systems to track your health, your level of fitness, to be able to figure out how to improve.

Both Apple and Google have presented a platform with the goal to transform your smartphone  in an intelligent device that can help with your fitness and health.

In the Android World, Google have proposed Google Fit. It is both an App and a complete development environment.
I have discovered it by change: last week I have taken a new Android Phone, a nice Samsung S5, and I have found this little, someway minimalist app, that track my activity time: Google Fit.
Nice, almost in every week I try to introduce some physical exercise in my weekly routine.

I have made some inquires and I have discovered that Google Fit is a complete platform, to enable developers to design and realize nice fitness apps.

It is a Cloud Service, that enables you to store fitness data and retrive by Apps and Web Application, through a REST API.
It is an Android API. to develop Apps.

I have given a look: for now it is an initial step towards a more complete platform. But it will become more and more interesting as soon as new Apps based on Google Fit API will be released.

Stay tuned.

Sunday, January 4, 2015

Learning How To Learn (LHTL)

I have decided to start another great course on Coursera.
It is called Learning How to Learn and is dedicated to explain how the brain works and how we can improve the way we learn new subjects.


UDOO as IoT gateway

At the Maker Faire Rome Conference I have bought a UDOO board.
I have read about it in the past and I was really interested in discovering how it was easy to use, and if I could run on it almost the same SW that can be run on a Raspberry PI.

I have received a very good impression.
Now I was thinking about IoT and UDOO.



The idea that I have is that UDOO can really be an effective platform for prototyping IoT gateway application.

On UDOO you can run these software:
  • Raspbian (Linux) OS
  • Apache
  • Oracle Java VM (HFP)
  • Mosquitto (MQTT broker)
  • Eclipse PAHO client
  • MySQL
  • PHP
With this software stack you can easily build sofisticated gateway IoT application and communicate with other nodes on the network.

As sensor nodes it is better to use cheaper devices, for examples based on Arduino technology. 
In addition Arduino is perfectly suited for interacting with sensors and actuators.
UDOO is Arduino compatbile, you can attach to it all the kind of sensors you would normally use on Arduino, and run Arduino sketches. But in order to realize a multi-layer architecture it is better to divide sensors and gateway layers.
The last pieces I'm considering is the network technology most suited for the communication between sensors and gateways.
One easy choice would be to use WIFI, if the range is limited to your home, for example in a Home Automation solution. In this case a simple choice would be to adopt Arduino YUN as board for sensors. With Grove shields you could easily experiment with different kind of sensors.
YUN is not a really cheap solution. WIFI is not cheap, but it is a simple solution to implement.

As application protocol, one choice that I would make is to adopt MQTT. In my view MQTT is perfect for transmitting messages from sensor nodes to the gateway.
It is a lightweight protocol, reliable, based on the publish-subscribe design pattern.

Ah, one last thing: UDOO has been entirely designed in Italy. Nice.