Recherche
Renseignez vos critères :

Revue de Presse
Publicité

smsSMS Gateway : une passerelle SMS à la maison

par Hervé
Publiés le: 9 juillet 2012
Commentaires: 38 Commentaires
Catégories: Android, Réalisation domotique

Si vous avez votre serveur domotique en place et qu’une alerte doit vous être remontée il existe plusieurs manières de le faire : SMS, Pushme.to, push via l’application Smartphone de votre serveur domotique… Ces solutions marchent très bien mais ont un point faible: elles nécessitent une connexion internet.  Les SMS par exemple sont générés par votre box domotique puis sont envoyés en HTTP sur internet au serveur central de votre solution domotique.  Là ils sont envoyés au format SMS sur le réseau GSM via une passerelle.  Si votre box Internet qui vous relie au web n’est plus opérationnelle… l’alerte ne pourra jamais vous parvenir.  C’est là qu’une plateforme SMS à la maison peut vous être utile.  Voyons comment en construire une.

Caractéristiques recherchées

Avec l’arrivée des forfaits à tarifs réduits (merci Free! 60 SMS pour 2 € par mois) incluant des SMS il peut maintenant s’avérer intéressant d’utiliser un système domicilié chez soi pour envoyer des SMS.

La passerelle SMS pour être compatible avec le maximum de solutions domotiques (on n’est jamais à l’abri d’en changer ou d’employer plusieurs à la maison) doit pouvoir discuter de manière simple et standardisée.  Le protocole HTTP peut être une bonne solution car largement utilisée et supportée.

La passerelle SMS doit pouvoir avoir une alimentation secourue afin de faire face à des coupures électriques.

La passerelle SMS doit être indépendante de l’opérateur téléphonique afin de pouvoir en changer éventuellement en fonction des offres du marché existantes ou à venir.

La passerelle SMS doit pouvoir être simple d’utilisation et de paramétrage.  Elle ne doit nécessiter aucune intervention de maintenance particulière.

La solution doit être peu coûteuse et pouvoir être remplacée très rapidement en cas de défaillance.  C’est important en cas de panne surtout si ce composant prend une importance dans le système mis en place

La solution que je vous propose semble tenir toutes ces promesses.  Elle nécessite une partie matérielle et une partie logicielle. La partie logicielle est gratuite pour une utilisation non commerciale. Et le matériel peut presque être gratuit… si on a de la chance.

Mise en œuvre de partie matérielle

Pour construire la partie matérielle afin de cette réaliser cette passerelle point besoin de sortir votre fer à souder.  Il vous faut simplement un Smartphone sous Android.   Et encore un modèle d’occasion pourra largement faire l’affaire!  Il n’est pas indispensable de prendre une foudre de guerre d’autant que la partie logicielle ne nécessite qu’une version Android 1.6 ou plus récente.  Pensez que ce Smarphone restera à la maison.

Avec la politique de renouvellement des téléphones, vous pourrez trouver un smartphone Android de seconde main pour pas grand chose.  Parlez-en autour de vous, si vous avez de la chance une âme charitable pourra même vous céder son vieux smartphone devenu inutile.  Vous débarrasserez ainsi votre connaissance d’un objet devenu encombrant et redonnerez ainsi vie à cet objet délaissé. ;) C’est cette deuxième solution qui m’a permis d’utiliser un Smartphone Sony sous Android 2.3.2. Merci Guillaume!

L’avantage d’utiliser un smartphone c’est qu’il peut facilement être secouru… par sa propre batterie!  Il peut facilement être utilisé via n’importe quel opérateur téléphonique afin de trouver celui qui sera le plus abordable.  La communication en HTTP peut être facilement établie via une connexion wifi.  Sur un smartphone vous pourrez également aller un peu plus loin dans la surveillance en utilisant des solutions comme on{x} par exemple afin de vous avertir lorsque le smartphone fonctionnera sur batterie (panne de courant?) ou lorsque le smartphone ne captera plus de Wifi (panne, coupure internet, brouillage).

Mise en œuvre de la partie logicielle

Pour la partie logicielle il vous suffit d’installer le logiciel SMS Gateway (de l’éditeur APK Soft) disponible sur Google Play.  Il s’agit, comme son nom l’indique, d’une passerelle SMS qui sera hébergée entièrement sur votre Smartphone Android. La passerelle communique avec votre système domotique via HTTP sur votre réseau local en utilisant votre connexion WiFi (sauf si votre smatphone peut se connecter en Ethernet).

Une version identique mais payante de l’application SMS Gateway existe si vous souhaitez soutenir les développeurs.

Très simple d’utilisation il suffit de paramétrer SMS Gateway pour qu’elle crée un serveur HTTP au sein de votre téléphone en lui spécifiant un port (ou laisser celui par défaut).  Votre serveur domotique communiquera avec la passerelle SMS en HTTP via ce serveur web embarqué.  Un mot de passe peut être demandé afin de limiter les accès au serveur web.  Ce mot de passe devra être spécifié dans la requête http (ce n’est pas aussi sécurisé que https mais bon…).

Pour sécuriser un peu plus le système, vous pourrez empêcher que le téléphone ne sommeille trop profondément et empêcherez ainsi la perte de SMS lors d’un réveil trop prolongé (Prevent CPU sleep mode). Vous pourrez également demander que cette application se lance toute seule au démarrage du téléphone (Start gateway automatically after phone boot).  Cela évitera des oublis.

Le SMS de votre serveur domotique sera envoyé directement par la passerelle dès qu’il s’adressera à elle via une URL de la forme:

http://192.168.0.12:9090/sendsms?phone=xxxxxxxxxx&text=ceci%20est%20unt%20test&password=yyyyy

En admettant que 192.168.0.12 soit l’adresse IP de votre Smartphone dans votre réseau local et 9090 le port spécifié sur l’interface de l’application,  xxxxxxxxxx devra être remplacé par le numéro de téléphone vers lequel vous voulez envoyer le SMS et yyyyy devra être remplacé par le mot de passe que vous avez défini.  Après « text= » vous pourrez librement spécifier le corps du SMS à expédier.

L’application vous indique l’URL à utiliser donc pas besoin de rechercher son adresse IP.  Pour qu’elle ne change pas il peut être pratique de la rendre constante dans votre réseau local Cela se fait en la rendant statique en renseignant son adresse MAC et l’adresse IP souhaitée dans le paramétrage de votre box internet ou serveur DHCP.

Il vous suffit ensuite d’appuyer sur « Start » pour lancer la passerelle.

Côté serveur domotique

Côté serveur domotique, il faudra simplement renseigner l’adresse HTTP à l’endroit prévu à cet effet.  La manière de faire dépend de votre système bien évidemment.

  • Dans un scénario de la Zibase via l’action « Commander par HTTP » par exemple :

 

  • Dans un « actionneur HTTP » sur la box eedomus :

  • Dans l’application Kron de votre Kartoz afin de vous informer que votre enfant est rentrée à la maison :

Pour aller plus loin

Cette application permet également de servir de passerelle entre une adresse mail et les SMS.  La passerelle marche dans les 2 sens.  Un SMS peut être converti en mail et un mail peut être envoyé en SMS.  Là par contre il faudra que Internet fonctionne à la maison pour pouvoir se connecter au serveur de messagerie ou pour envoyer des mails.

Cela permet d’envoyer à un système d’envoyer des informations par mail puis à la passerelle de les réexpédier par SMS.  Cette fonctionnalité est prise en compte gratuitement par ifttt mais à une fréquence de 15 minutes.  Si vous avez besoin d’être informés plus rapidement cela peut être une bonne solution.

Le système mis en place peut être utilisé pour piloter par SMS votre serveur domotique.  Nous avons vu qu’il sert de passerelle HTTP => SMS.  Ce qui est bien c’est qu’il permet également de servir de passerelle SMS => HTTP.  En renseignant une URL à atteindre en cas de réception de SMS, SMS Gateway peut contacter un serveur web via HTTP en lui communicant le numéro de téléphone de l’expéditeur ainsi que le contenu du SMS reçu…

Si vous êtes à l’extérieur de la maison et que Internet est hors service dans votre domicile ou alors tout bêtement très lent sur votre lieu de vacances, vous ne pourrez pas accéder à votre système domotique pour agir ou tout simplement pour le consulter.  En développant votre petite application web vous pourrez faire en sorte que l’envoi d’un SMS « Temp Salon » vous soit répondu par un SMS « Il fait 24.5 degrés dans le Salon ».  En un SMS vous pourrez également commander également l’ »ouverture Garage » pour que votre voisin puisse vous emprunter votre tondeuse…

Tout est possible! Il vous faudra juste un site web disponible pour y placer votre développement maison en PHP ou tout autre langage de développement web afin de décoder les SMS et apporter l’interaction souhaitée.  Pour ne pas partir de zéro, l’éditeur propose un exemple en PHP.

Cette solution peut tout à fait être envisagée pour une maison secondaire qui n’aurait pas Internet branché en continu (ou branché du tout).

Pour aller encore plus loin

Si vous avez besoin de faire parler un système avec le monde des SMS de manière plus poussée, vous pouvez jeter un coup d’œil à EnvayaSMS.  Se logiciel est moins simple à intégrer mais permet de recevoir des statuts, de gérer les MMS, de gérer des queues d’attentes de SMS,… Il semble plus puissant mais nécessite des connaissances en développement informatique.

En espérant que votre opérateur de téléphonie mobile ne soit pas en panne le jour où vous en aurez besoin!

Si vous avez apprécié, n'hésitez pas à laisser votre commentaire ou à souscrire au flus RSS .

Ceci pourrait vous intéresser:


Publicité

38 Commentaires - Laisser un commentaire
  1. Johan dit :

    et moi qui m’embête avec un modem gsm avec des commandes AT ….

  2. Romain dit :

    Dans un sens je préfère quand même avoir une passerelle GSM (je vais d’ailleurs voir je release ma class php permettant de communiquer avec un modem gsm en telnet) mais l’alternative que tu présente est intéressante et abordable. A voir si on peux pas se fabriquer un modem gsm en reprenant les pièces d’ancien téléphone (à connecter sur une raspberry pi ça serais niquel), si un adepte de l’électronique se penche la dessus ça pourrais être intéressant :) Merci pour l’astuce en tout cas.

  3. Fabien dit :

    C’est LA solution que j’attendais.

    Il y a bien le projet Gammu (http://wammu.eu/smsd/) mais il faut trouver le bon téléphone/modem GSM compatible alors que là, un « simple » téléphone sous Androïd 1.6 mini et avec Wifi fait l’affaire.

    Merci de la trouvaille :-)

  4. Fabien dit :

    Petit bug sous ICS, l’URL à soit-disant appeler est fausse chez moi. L’IP de mon téléphone était en 192.168.0.143, l’app me disait qu’il fallait appeler l’URL : http://::192.168.0.134%2:9090/sendsms?…..

    À moins que se soit une petite incompatibilité IPv6…?

    • Hervé dit :

      La dernière version de l’appli est dite compatible ICS. Confirmes-tu?

      • Fabien dit :

        Oui, je confirme, elle est compatible. ICS 4.0.4

        Je l’ai testée sur mon Galaxy Note. Reste plus qu’à trouver un téléphone d’occasion pour le dédier à cette tâche.
        Avec mon NAS, il fera pourra ainsi m’avertir des pannes de ma connexion Internet…

        • Hervé dit :

          Pour tester ta connexion Internet tu peux également utiliser un service à l’extérieur de chez toi qui tente toutes les 5 minutes de joindre ton NAS. S’il n’y arrive pas tu pourras recevoir une alerte t’indiquant qu’il y a un souci. J’utilise un service gratuit qui s’appelle uptimerobot.

  5. Domotics dit :

    Bonjour,
    SMS Gateway est tout simplement une idée géniale !
    Merci pour l’nfo. J’avais essayé de trouver une telle application, mais je n’y étais pas arrivé !
    Cdt
    Domotics

  6. cité pour Guides | Pearltrees dit :

    [...] < Zibase < domotique < faupatrick Get flash to fully experience Pearltrees SMS Gateway : une passerelle SMS à la maison « Abavala !!! Si vous avez votre serveur domotique en place et qu'une alerte doit vous être remontée il existe [...]

  7. John dit :

    Bonsoir,
    C’est une super application, le problème c’est que chez moi ça ne fonctionne pas. Firefox ou IE me dit que la connexion ne peut être établie, pourtant je suis sur le même réseau, l’adresse IP du téléphone est bonne, le numéro de port est bon, et le mot de passe aussi.
    Avez-vous une idée ? Est-ce qu’il faut activer quelque chose sur le téléphone (hormis le wifi !) ?
    Merci d’avance

  8. Jean-Yves dit :

    Il est aussi possible d’herberger un mini site web sous android… donc avec un ipx800 et un smartphone android, cela fait une solution complette !!!

  9. GuiguiAbloc dit :

    Génial ton truc, j’avoue ne pas avoir creusé l’idée du sms gateway (comme Johan, je me faisais encore ch… avec un modem et des commandes AT :p)
    Merci pour le truc (et félicitations pour le coup de pinceau sur le blog en passant ;) )

    • Hervé dit :

      C’est clair que c’est moins facile à mettre en oeuvre mais ça a aussi le mérite de marcher également quand on va dans les bas niveaux de la communication.

      Et oui c’est l’époque des ravalements de façades en ce moment ;)

  10. cité pour Domotique | Pearltrees dit :

    [...] : "if this then that" ou l'automatisation de tâches en mode cloud SMS Gateway : une passerelle SMS à la maison Si vous avez votre serveur domotique en place et qu'une alerte doit vous être remontée il existe [...]

  11. madom dit :

    Super article merci
    pour ce qui est du sens http vers sms pas de souci par contre ce qui m’intéresse c’est aussi d’envoyer une requête http quand le tel recevra un sms ,j’ai bine regardé du coté de l’exemple php mais pas tous compris ,si tu pouvais nous faire un exemple avec l’envoie d’url pour l’entrée d’un sms avec mot clé ça serait super
    merci pour ton super site

    • madom dit :

      c’est bon j’ai presque trouvé
      il me faut affiner l’url en fonction du mot clé recu

      • laumonier dit :

        bonjour madom

        serait il possible d’expliquer comment tu as réussi d’envoyer une requête http quand le tel recevra un sms.

        Je suis actuellement dans une impasse
        merci d’avance
        nicolas

  12. hutarios dit :

    super article, je vais pouvoir abandonner mon modem avec les commandes AT, reste a trouver un tel pas chère…

  13. edenblyss dit :

    Bonjour, très bien réalisé votre article.
    Je possède une Blyssbox, savez vous comment la paramètrer en conséquence? Merci

    • Hervé dit :

      Bonsoir,
      Malheureusement à ce jour, la Blyssbox ne peut pas discuter en HTTP avec l’extérieur. Le montage présenté dans cet article ne pourra pas être utilisé. La Blyssbox est cependant équipée en standard d’envoi de SMS ou de communication GSM en cas de dysfonctionnement de votre box Internet. Il faut certes avoir choisi la bonne option d’abonnement.

  14. josse34 dit :

    Impeccable, une véritable merveille!!!!
    Si vous rencontrez en POP3 un envoi de sms indiquant « javax.mail.internet.mimemultipart@ » c’est que vous avez écrit votre mail en HTML et pas en texte brut, l’application ne supporte pas le HTML.
    Bye

  15. Thomas dit :

    Une idée pour faire cela sous raspberry pi avec un dongle gsm ?

  16. Nicolas Penin dit :

    J’arrive un peu tard, mais sans s’embêter avec toute la partie hardware, il y a OVH qui propose une API HTTP et l’envoi de sms pour 0.08€/SMS.

  17. Charlyton dit :

    Super app, quelqu’un a-t-il réussi à envoyer le même message sur plusieurs numéros à la fois ?

  18. dadesils dit :

    j’ai un site web et je veux rialiser une application qui permet au utilisateur d’envoyer des sms gratuitement via mon site vers les numeros de leur proche

  19. Je suis pas sur d’avoir compris mais d’après une lecture rapide ce n’est pas une passerelle sms.. Si j’ai bien compris ce que propose ton logiciel est de transformer ton smartphone android en serveur web & de rediriger le traffic vers un serveur distant .

    Une vrai passerelle SMS recevrait donc bien la requette SMS sur le smartphone et utiliserai la SIM du smartphone pour envoyer le SMS.

Laisser un commentaire

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

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



International
    Translate to:

Plugin created thanks to micro sd card , r4i uk , sd card and r4i gold
Publicité
Prochains évènements
  • 5 juin 2014CES Unveiled EASTERN EUROPE - Varsovie
AEC v1.0.4
Partenaires
Univers Domotique Domadoo Annuaire de la Domotique en France Planète Domotique