Flyport & Web service de notification

Posted by Antoine 16 mai 2013 0 Comment 2469 views

L’objet de cet article est de présenter le Web service Pushingbox, l’application Android NotifyMyAndroid, le tout appliqué à une utilisation “Internet des objets” avec une carte Flyport d’OpenPicus. L’idée de porter l’utilisation de Pushingbox à la Flyport est venu après la découverte du projet Notifon encore en cours de développement qui m’a semblé bigrement intéressant mais limité par l’utilisation du Zigbee.

Vous trouverez à la fin de l’article, l’application réalisée en pièce jointe.

1. Pushing box

Pushing Box est un service de notification dans le cloud.
Une inscription est nécessaire et se fait avec un compte gmail.

1.1. SERVICES

Un service représentera donc un compte Twiter, une adresse mail, des notification Android ou encore un lapin Karotz (anciennement Nabaztag). La page “My Services” permet de déclarer les différents services de notification de l’on souhaite utiliser.
Dans l’exemple qui suivra j’utiliserai un service mail et un service de notification Android.

une fois le service créé il apparait dans la liste des services existants:

liste des services disponible

dans le cas du service Email c’est l’adresse mail qui est à donner en paramètre.

Pour le service “Notify My Android” c’est une clé unique à générer sur le site web de l’application (voir la partie 2 de cet article).

1.2. SCENARIOS
Par défaut un scénario “Demo scenario” est créé. Ce scénario de démo est associé au service mail correspondant à l’adresse gmail qui a servie à l’inscription (login à partir d’un compte Google). Vous pouvez appuyer sur le bouton “Test” ce qui aura pour conséquence de déclencher le scénario et de vous envoyer un mail:

Notification envoyé par pushingbox

A chaque scénario est associé un DeviceID qu’il faudra utilisé dans l’API.
Un scénario peut être associé à plusieurs services, vous pourrez donc envoyer 2 email et une notification Android sur le déclenchement d’un même action.

1.3. Test
L’utilisation est plus que simpliste, il faut utiliser l’URL suivante:

le paramètre devid prendra la valeur du DeviceID du scénario que vous souhaitez. en deuxième paramètre qu’on retrouve dans l’exemple, la température. La variable est nommé “temperature”.

Pour utiliser une variable dans un scénario il faudra la mettre entre “$”. Il est possible d’utiliser plusieurs variables dans le même scénario.

Il semblerait que les accents et les caractères spéciaux ne soient pas pris en charge pour l’instant.

2. NMA Notify My Android

Notify My Android est une application Android qui permet de générer des notifications en provenance de différents site Web. La version gratuite permet d’envoyer jusqu’à 5 notifications par jour. Il faut acquitter de 3.88€ (une fois) pour une utilisation illimitée.
L’application fournie une API très simple à utiliser que nous intégrerons à la Flyport dans la partie suivante.

Il faut aller sur la page “My Account” dans l’onglet “Manage API Keys” pour générer une clé unique de 48 caractères. Cette clé sera à utiliser à la configuration des scénarios PushingBox.

API key

La page “Send Notification” permet de tester l’application. Je constate que le temps de réponse de l’application sur le smartphone est très bon, ça partirai presque plus vite qu’un SMS!

La notification apparaît dans la barre de notification Android:

Notification NotifyMyAndroid

3. Application Flyport
Il existe déjà une version Arduino de la librairie implémentant l’API de pushingbox. Elle est disponible ici . L’utilisation du Web service PushingBox est très simple avec la Flyport, il suffit d’envoyer une requête GET avec les bons paramètres!
Pour illustrer mon exemple j’utiliserai une Flyport WiFi montée sur un Nest Grove avec un potentiomètre est une LED RGB pour simuler l’état de charge d’une batterie. A la détection d’un niveau de batterie faible une notification sera alors générée. J’ai également ajouter un bouton sur le Webserver de la Flyport pour envoyer directement une notification.

Pour que la connexion fonctionne avec le site api.pushingbox.com il faudra penser à bien paramétrer le DNS sur votre Flyport.

Les fonctions propres à l’API pushingbox sont placés dans le fichier pushingbox.c.

Pour cette application de test j’ai utilisé l’IDE OpenPicus en version 2.3 avec le Template wiFi – Grove Nest. Le code source de l’application est disponible librement ICI.

Enjoy!

Print Friendly, PDF & Email

About Antoine

Ingénieur en informatique embarquée. Geek enthousiaste et early-adopter de la Flyport.

View all post by Antoine

Write Your Comment

 

Abonnez-vous et suivez notre actualité !