SARAH aime les cookies !


Depuis le 01/02/2015 la société sen.se à ouvert l’API de la Mother. Ce fut donc l’occasion de réaliser un plugin pour SARAH.

Un mot sur la Mother

La Mother est un hub connecté, propriétaire, qui reçoit l’information de 24 cookies (max) pour les transférer sur les serveurs sen.se.

Les cookies sont de petits capteurs de mouvement, température, présence, … que l’on peut placer sur n’importe quel objet (porte, brosse à dent, pilulier, …) !

La Mother + 4 cookies coûte 290€ mais heureusement les soldes sont passées par la ! Le CES 2015 s’est déroulé sur le thème des MEMs, les accéléromètres sont partout. Des produits comme Notion, Screamer, … vont bientôt arriver.

L’API REST pour accèder aux données

L’API REST de Sen.se est vraiment super propre et bien documentée. Elle permets de manipuler des Node (cookie, mother, mobile, …) qui expose des Feed (motion, température, …) composée d’Event:

[crayon]
{
« profile »: « DoorStandard »,
« feedUid »: « US7cJPCCPBR9keeVdbjiUO8zjYyEkuM9 »,
« gatewayNodeUid »: « 6PtmUnInxENNTcPUqgr4t8zcCNwrTOaZ »,
« dateServer »: « 2015-02-02T06:59:16.343387 »,
« data »: {
« durationSeconds »: 1,
« numberMovements »: 7,
« avgIntensity »: 1445
},
« signal »: « -87 »,
« dateEvent »: « 2015-02-02T06:59:00.000000 »,
« geometry »: null,
« type »: « motion »,
« payload »: « 0,7,1,1445 »,
« nodeUid »: « T5vBDUjKZ2XlnrbGuKpV7p1pwhWCdGmg »
},
[crayon]

Dans SARAH le code NodeJS est ultra simple :

[crayon]
var getNodes = function(token, callback) {
if (!token){ return; }
var data = {
‘resource__type’: ‘device’,
‘resource__slug’: ‘cookie’
}
var headers = { ‘Authorization’ : ‘Token ‘+token }
request.get({ ‘uri’ : API_URL+’nodes/’, ‘qs’: data, ‘headers’ : headers }, function (err, response, body){
if (err || response.statusCode != 200) { error(‘Error while retrieving node’, response); return callback(false); }
var json = JSON.parse(body);
callback(json);
});
}
[/crayon]

Par ailleurs il est possible de parcourir tous ses objets depuis un navigateur web : https://apis.sen.se/v2/nodes/.

L’API de Notification

Sen.se propose aussi une API permettant d’envoyer une requête HTTP lors d’un mouvement, changement de température, etc … d’un cookie.

C’est le principe des WebHook (dont je rêvais sur Karotz). L’Idée est de souscrire aux Feeds des cookies en précisant une URL de callback.

Ce qui est top c’est qu’ils ont même déjà fait une IHM Web:

Côté SARAH on reçoit une requête POST JSON d’un événement. J’ai corrigé un bug en v4beta2.

Le plugin Mother ?

C’est cette partie notification qui est la plus intéressante dans SARAH. Pour cella il suffit d’indiquer l’URL du serveur.

Attention ! C’est Sen.Se qui envoie les notifications ce qui implique

  • D’avoir une IP Fixe (ce qui n’est pas le cas chez Orange
  • De faire une redirection de port au niveau de son routeur

[crayon]
Mouvement => Cookie => Mother => Box Orange => Sen.se => DynDNS => Box Orange => SARAH
[/crayon]

Maintenant il ne reste plus qu’a imaginer de nouveaux usages !

  • SARAH qui surveille le placard à bonbon
  • SARAH rappel les médicaments ET vérifie
  • Une chasse au trésor, le premier qui trouve le cookie
  • Prévenir de la fin de la machine à laver
  • Faire du machine learning sur ses données
  • Faire du morse avec 2 cookies ?
  • Détecter et alerter des chutes

Quelques questions:

  • Pourquoi une limite à 24 cookies ? (Passer en RFID UHF ?)
  • Pourquoi un prix si élevé ?
  • Peut-on exploiter la puissance (en db) comme les iBeacon ?
    • Faire du geofencing propriétaire ?
    • Faire de la trilatération ?
  • Comment marche la notion de présence ? (Repéré par la Mother ?)
  • Comment obtenir les données brutes (avec les axes) ? A quoi sert l’attribut « geomerty » ?
  • J’espère qu’a terme ce sera la Mother qui enverra les notifications localement

Une réflexion sur “SARAH aime les cookies !

  • 28 mars 2015 à 20 h 21 min
    Permalien

    Bonjour,
    J’ai essayé d’aller sur l’interface web pour ajouter un abonnement, mais je n’ai pas trouvé comment faire. https://apis.sen.se/v2/nodes/ ne correspond pas à une interface. Ont-il retiré cette fonctionnalité ?

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.