Du fun avec Flic, RethinkDB et NodeJS-Socketio

Il y a quelques mois, nous avons « baké » sur indiegogo un petit projet de button connecté : Flic.

Le projet a bien fonctionné puisque les Suédois ont levé près de 1 Millions de dollars.

Voici la vidéo de présentation :

Il fallait être patient, puisque presque un an plus tard, nous recevions notre fameux petit bouton.

Il faut choper l’application mobile Flic pour le faire fonctionner.

Le bouton se connecte via Bluetooth sur votre mobile.

L’appli reconnait le Flic et l’ajoute à la liste de ses devices.

supported-devices-c5ad2695ee339eb7b75052a560301d09392bed93022a607e0360f278756dd39a

Il suffit ensuite configurer les 3 actions du bouton : CLICK, DOUBLE CLICK et HOLD.

La liste des providers à configurer n’est pas énorme, mais les principales sont là :

REST HTTP Request (get, post, put,delete)

IFTTT

Philipps HUE

etc…

fr_1859_size1024

On a donc commencé par utiliser le REST HTTP Request pour tester l’engin. On a monté une petite API sur un de nos dédiés OVH.  

La requête GET envoie l’id du bouton et l’action (click, double click, hold)

L’API écrit dans une base RethinkDB, une base de données orientée temps-réel. On aurait pu prendre MongoDB ou même Mysql mais on voulait tester RethinkDB 🙂

Voilà ce qu’on a beaucoup apprécié :

la simplicité d’installation

la configuration d’un cluster hyper simple et rapide

la multitude de client disponible (PHP, NodeJS, Python, Go, C++ etc…)

la documentation très fournie

l’UI Web d’administration

Par contre il faut porter une attention particulière à la sécurité lors de l’installation pour ne pas laisser les ports ouverts à tous !

rethinkdb-ui_@2x

Ensuite avec une petite application NodeJS + Express + SocketIo, il est assez simple de monter une interface qui réagit en temps-réel à l’action du bouton.

Voici une petite vidéo de notre test et comme dirait Doc dans Retour vers le Futur « Ne fais pas attention à l’aspect rudimentaire de cette maquette, je n’ai pas eu le temps de la faire à l’échelle ni de la peindre. » :

On travaille sur d’autres implémentations autour de la gamification, de la domotique et du Physical Web.