Avec tout système de supervision, et la Domotique est l'un d'entre eux, le besoin de créer des alertes et de mettre en place des notifications se fait vite sentir.
Dans ce billet, je vais expliquer les différentes méthodes que j'utilise dans Marcel, avec les avantages et les inconvénients.
Certains opérateurs téléphonique, et c'est là la limite car ... évidement il faut avoir le bon opérateur, fournissent des API qui permettent d'envoyer des SMS. Dans le cas de FreeMobile, il s'agit de simplement appeler un web service REST.
Cette option est disponible pour tous les abonnés Free Mobile, y compris pour les abonnements à 2 € par mois.
Il faut donc se rendre dans l'espace abonné et activer l'option "Notification par SMS" : le site fourni alors une clef unique et individuelle qui donne accès au service mais identifie aussi le mobile sur lequel le SMS doit être envoyé (donc en clair, une clef == un numéro).
Vous pouvez répéter l'opération pour autant de lignes que vous avez ... et obtiendrez donc autant de clef que de lignes.
L'envoie de SMS se fait par une simple requête HTTPS avec les paramètres suivants
Pour envoyer un "Hello world !" se fait par l'URL suivante
https://smsapi.free-mobile.fr/sendmsg?user=12345678&pass=macleffree&msg=Hello%20World%20!
Certains opérateurs offrent une interface web pour envoyer un nombre limité de SMS ... souvent vers n'importe quel numéro. Il est possible (ça dépend comment est fait la sécurité du site), de détourner ce mécanisme en faisant du reverse engineering sur le formulaire pour connaitre les paramètres utilisés et abuser le webservice appelé en fournissant nos propres arguments. C'est du classique de chez classique pour les hackers, sans doute pas à la porté de tous et le résultat reste à la merci d'un changement du code de l'opérateur.
Il existe aussi des services payants sur le web (ceux gratuits ne sont que des sources à SPAM), ou encore, il est possible de commander un vieux portable depuis un PC ... mais il lui faudra un forfait.
Un téléphone peut écouter une boite eMail (oui oui, même un Android n'est pas limité à GMail, ça marche très bien avec Yahoo ou autre) et afficher une notification lorsqu'un message arrive.
Pour faciliter les échanges entre les applications Android et leurs serveurs, et accessoirement de le faire de manière économe pour les batteries, Google a créé le service "Google Cloud Messaging" : une sorte de clone de MQTT en quelque sorte.
Nous allons utiliser ce service pour recevoir des messages courts comme on l'aurait fait avec des SMS ...
Côté Android, il faut installer une application qui recevra les messages de GCM et affichera une notification : j'ai choisi Newtifry.
Se logger avec son compte Google (celui qui nous permet d'utiliser les outils Google), puis créer une source.
Même si généralement une seule source est nécessaire, il est aussi possible d'en créer plusieurs : Newtifry permet d'associer un son différent à chaque source ; ça peut toujours être utile.
On retrouve ces informations sur le site de Newtify : il est important de noter la clef que nous allons réutiliser la clef dans ...
Pushingbox est une passerelle, un concentrateur, menant à différents services de notifications à partir d'une API unique et simplifiée.
En l'occurrence, cette API est très similaire à celle utilisée par Free pour son service de SMS : grâce à Pushingbox, je peux utiliser quasiment n'importe quelle notification sans modifier quoi que ce soit dans Marcel.
Sur le site de pushingbox, cliquez sur "My Services" puis "Add a service" et sélectionner Newtifry. Lui donner un nom et en source, la clef précédente.
Dans "my scenarios", on associe le service à un "virtual scenario" dont le message est une variable nommée msg. A noter le DeviceID qui identifie le scénario : c'est l'argument qui sera passé au webservice.
Comme je le disais précédemment, l'API de PushingBox n'est pas très différente de celle des SMS de Free, ce qui fait que Marcel peut utiliser ce service dès sa version 2.0 ou plus.
Il suffit d'utiliser le SMSUrl suivant :
SMSUrl=http://api.pushingbox.com/pushingbox?devid=DeviceID&msg=%s
où le DeviceID provient de l'étape précédente.
Je vais conserver les 3 services dans Marcel :
La méthode la plus fiable reste le SMS : par exemple, sur mon Sony M4 aqua, le mode Stamina coupe WiFi et data en général lorsque le téléphone passe en veille. Dans ce cas, il est évident qu'aucune autre notification ne passe.
On peut bien sûr le désactiver ... mais l'autonomie en souffrira !
Visitez : Nos sorties Ski et rando |
Copyright Laurent Faillie
2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso. |
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution. |
Visites durant les 7 derniers jours au total. |
Vous pouvez
laissez un commentaire
sur cette page.