Envoyez des SMS par internet avec la Raspberry Pi

RaspiSMS 2.0, envoyer des SMS par internet avec la Raspberry Pi

Mis à jour le 29 novembre 2017 - 278 Commentaires - , , , , , , ,

Aujourd’hui, nous allons parler SMS et Raspberry Pi, avec la nouvelle version de RaspiSMS !

Que vous souhaitiez valider l’inscription de vos utilisateurs par SMS, envoyer des SMS par internet ou encore contrôler une installation domotique par SMS, RaspiSMS est fait pour vous !

RaspiSMS c’est quoi ?

Avant de parler installation du logiciel, prenons quelques minutes pour nous pencher sur RaspiSMS !

Une solution de SMS pour la Raspberry Pi

RaspiSMS, contraction de Raspberry Pi et SMS, est une solution vous permettant d’envoyer et de recevoir des SMS avec la Raspberry Pi, ou tout autre ordinateur/serveur tournant sous Linux.

D’un point de vue utilisateur, RaspiSMS se présente comme un logiciel à installer sur une Raspberry Pi et auquel vous accédez via internet. Vous pouvez ainsi envoyer des SMS depuis un site internet !

En hébergeant vous même l’application, vous disposez ainsi de votre propre site internet d’envoi de SMS, vous assurant la confidentialité de vos données et la protection de votre vie privée !

Un logiciel libre développé par Raspbian France

À l’origine, RaspiSMS est issu du besoin de l’équipe de Raspbian France d’envoyer des SMS via internet (pour une raison encore inconnue à ce jour, une bonne partie de la Dordogne semble avoir découvert internet mais pas les téléphones portables).

Ne trouvant que des solutions payantes pour envoyer des SMS par internet, nous avons décidé de développer notre propre logiciel ! Et plutôt que de faire un simple script en lignes de commande qui ne réponde qu’à nos propres besoins, nous avons choisi de créer une véritable application web et de la distribuer gratuitement et librement à la communauté, sous licence GNU/GPL3 !

Envoyer et recevoir des SMS par internet, contrôler votre Raspberry Pi, les fonctionnalités de RaspiSMS

Comme nous l’avons dit au début de l’article, c’est aujourd’hui la version 2.0 de la RapiSMS que nous vous proposons, et qui dit version 2.0 dit nouvelles fonctionnalités. Faisons donc un tour rapide de toutes les fonctionnalités de RaspiSMS !

Les fonctionnalités déjà existantes

Avant de passer aux nouvelles fonctionnalités, apportées par la version 2.0, faisons d’abord le tour des fonctionnalités déjà existantes dans la version précédente :

  • Envoyer des SMS
  • Recevoir des SMS
  • Programmer un SMS pour une date précise
  • Créer des contacts
  • Créer des groupes de contacts
  • Gérer les utilisateurs (ajout et suppression)
  • Statistiques et log des envois et réceptions de SMS
  • Contrôle de la Raspberry Pi ou du serveur par SMS
  • API permettant l’envoi de SMS à un numéro, un contact ou un groupe

Les nouvelles fonctionnalités

En plus de toutes les fonctionnalités précédemment citées, la version 2.0 de RaspiSMS ajoute de nombreuses fonctionnalités ou améliorations proposées par nos utilisateurs. Voici une liste de ces différentes fonctionnalités et améliorations :

  • Ajout d’une interface de discussion par SMS permettant d’échanger de façon fluide avec un contact
  • Envoi et réception des SMS en temps réel
  • Ajout du transfert des SMS par mail
  • Ajout du suivi du statut des messages (en cours d’envoi, envoyé, reçu par le destinataire)
  • Amélioration de la gestion des logs (il est maintenant possible pour les administrateurs de supprimer des logs)
  • Ajout du support et de la gestion des SMS « Stop » (si un utilisateur vous envoie un sms contenant uniquement le mot « STOP », les messages ne lui seront plus envoyés)
  • Ajout d’une alerte lors de la réception d’un SMS
  • Ajout de l’internationalisation automatique des numéros de téléphone
  • Ajout du support des SMS « flash »
  • Ajout d’une gestion de la configuration pour les administrateurs
  • Ajout d’améliorations mineures (correction orthographique, correction de problèmes d’accents, affichage du nom du contact à côté du numéro, etc.)

 

RaspiSMS 2.0 ajoute une interface de discussion en direct

La nouvelle interface de discussion vous permet de discuter de façon plus fluide avec vos contacts !

Les équipements nécessaires pour envoyer des SMS avec la Raspberry Pi

Dernier point avant de passer à l’installation de RaspiSMS sur votre Raspberry Pi, les différents équipements nécessaires à l’envoi de SMS depuis une Raspberry Pi.

En effet, si la Raspberry Pi permet beaucoup de choses, elle ne gère pas nativement l’envoi de SMS. Vous aurez donc besoin des équipements suivants :

Nous ne le mettons pas dans la liste, mais vous aurez bien entendu besoin d’une carte SIM – et de son abonnement 😉 – à mettre dans le modem GSM. Chez nous, nous utilisons une carte avec un forfait 2€ de Free qui suffit largement à nos besoins !
Bien entendu, vous pouvez installer RaspiSMS sur une Raspberry Pi faisant déjà tourner d’autres logiciels. RaspiSMS consomme très peu de ressources et peut cohabiter sans aucun risque avec d’autres applications !

Comment installer RaspiSMS sur votre Raspberry Pi (ou autre système GNU/Linux)

Afin de rendre RaspiSMS le plus accessible possible, nous avons fait en sorte que son installation soit particulièrement simple. Pour cela, nous vous proposons trois méthodes d’installations différentes, de la plus simple à la plus complexe !

Utiliser la distribution avec RaspiSMS pré-installée

Attention, il très probable que la distribution ne soit plus maintenue à l’avenir. En effet, nous préférons nous concentrer sur un mode de distribution plus simple, à savoir le package .deb et le dépot GitHub.

Si vous souhaitez monter un système dédié à RaspiSMS, cette solution est probablement la plus adaptée. En effet, elle vous permettra de mettre en place une distribution Raspbian avec RaspiSMS pré-installée, le tout en quelques minutes à peine.

Pour cela, il vous suffit de télécharger l’image de la distribution RaspiSMS puis de l’installer comme une distribution Raspbian standard (vous trouverez un tutoriel pour Windows ici, et un autre pour Linux juste là) !

Après le démarrage, lancez la commande « sudo raspi-config » et faites « Expand Filesystem ».

L’utilisateur par défaut est pi, mot de passe raspberry. Pour RaspiSMS, il existe un utilisateur admin@example.fr, mot de passe admin. Pensez à changer ces mots de passe pour plus de sécurité !

Notez que vous devrez désactiver le code PIN de vôtre carte SIM, ou modifier le fichier /etc/gammu-smsdrc pour configurer le code PIN.

Seul inconvénient de cette méthode, vous ne pouvez l’utiliser que sur une Raspberry Pi et vous ne pouvez pas ajouter RaspiSMS sur une distribution déjà en place.

Pour répondre à ce problème, nous vous proposons donc une seconde méthode, presque aussi simple !

Installer RaspiSMS sur un système de type Debian avec le paquet .deb

Cette solution permet d’utiliser la version 2.0.1 la plus à jour.

Si vous souhaitez installer RaspiSMS sur une Raspberry Pi sur laquelle vous avez déjà une distribution, ou si vous souhaitez l’installer sur un autre système de type Debian (Ubuntu, Debian, Mint, Mate, etc.), nous vous conseillons d’utiliser la méthode suivante !

Dans un premier temps, télécharger le paquet .deb sur votre Raspberry Pi à l’aide de la commande suivante :

wget http://raspisms.raspbian-france.fr/download/raspisms-2.0.1.deb

 

Une fois le téléchargement terminé, nous allons mettre le système et notamment les dépôts à jour, puis commencer l’installation de RaspiSMS (qui va probablement retourner une erreur) et enfin réparer les erreurs de l’installation. Là encore, rien de bien compliqué, il vous suffit de suivre les étapes suivantes :

sudo apt-get update
sudo dpkg -i ./raspisms-2.0.1.deb
sudo apt-get -f install

Il ne vous reste plus qu’à répondre oui quand le système vous demandera s’il doit configurer le logiciel automatiquement !

Installer RaspiSMS manuellement pour l’adapter à d’autres configurations

Cette solution permet d’utiliser la version 2.0.1 la plus à jour.

Dernière possibilité, si vous avez un niveau assez avancé sur Linux et que vous souhaitez installer RaspiSMS sur un autre type de système (par exemple du Red Hat), ou si vous souhaitez adapter l’installation à des technologies déjà présentes (comme Nginx notamment), vous pouvez télécharger directement le code source de RaspiSMS depuis le site, ou la page GitHub de RaspiSMS.

En revanche, si vous choisissez d’installer RaspiSMS de façon manuelle, vous devrez vous débrouillez tout seul !

Pour cela, nous vous conseillons d’aller voir le fichier d’installation automatique pour Debian. Celui-ci est commenté et devrait vous permettre de vous en tirer sans trop de problème ;). Vous pourriez aussi avoir intérêt à faire un tour sur la documentation de RaspiSMS !

Contribuer à RaspiSMS

Si vous utilisez RaspiSMS, vous avez peut-être envie de nous aider à le faire progresser !

Comme nous l’avons dit au début de l’article, RaspiSMS est un projet libre distribué sous licence GNU/GPL. Pour ceux qui l’ignorent, cela signifie que vous êtes libres de télécharger, mais aussi d’étudier, de modifier et de redistribuer RaspiSMS !

Par conséquent, si vous savez développer et que vous avez des idées d’améliorations à apporter au logiciel, vous pouvez vous rendre sur la page GitHub du projet RaspiSMS, forker le projet et nous proposer vos propres modifications !

 

Et si vous ne savez pas développer, pas de problème, vous pouvez quand même participer de plein de façons différentes :

  • En écrivant un article ou un lien vers Raspbian France et cet article depuis votre site internet ou sur les forums auxquels vous participez
  • Parlez de RaspiSMS et de Raspbian France autour de vous, en ligne ou auprès de proches auxquels ce projet pourrait être utile
  • Faites nous des retours sur votre expérience d’utilisation et proposez-nous des améliorations

 

Nous en profitons au passage pour remercier dam09fr, memento et flavaud pour leur temps, leurs idées et leur code !

Conclusion

Et voilà, vous pouvez maintenant envoyer des SMS par internet avec votre Raspberry Pi !

Et le mieux, c’est que vous pouvez encore utiliser votre Raspberry Pi pour plein d’autres projets, alors n’hésitez pas, foncez découvrir notre tutoriel pour transformer votre Raspberry Pi en média-center ou notre article pour bien choisir les accessoires de votre Raspberry Pi !

Partager
Newsletter
Auteur :
Raspbian France
Rejoignez la communauté Raspberry Pi
Un ordinateur à 35€ déjà vendu à 10 millions d'exemplaires
ACHETEZ LA NOUVELLE RASPBERRY PI 3
Tutoriels en rapport
Installer un media-center avec OSMC sur votre Raspberry Pi ! Bien choisir vos accessoires pour les Raspberry Pi 3 et 2 Envoyer, gérer et recevoir des SMS avec la Raspberry Pi Installer un serveur web sur votre Raspberry (Apache + PHP + MySQL) Installer un serveur Minecraft sur votre Raspberry Pi !
278 commentaires
Besoin d'aide ? Vous la trouverez plus vite sur notre forum.
  1. Hans dit :

    Salut la team !

    Tout d’abord merci à vous ! J’utilise RaspiSMS depuis maintenant 2 ans sans soucis !

    J’ai quelques fois des messages d’erreur 3 -> Des arguments obligatoires sont manquants mais les SMS sont bien envoyés…. Bizarre ?

    A quoi fait référence cette erreur ?

    1. Salut, pourrais-tu nous donner le message exacte ?

  2. Florian dit :

    Je suis plutôt déçu…
    Fait une tel appli, un site web dédié un article tuto une image pré à mettre sur carte SD etc et au final on doit ce débrouiller par soit même pour faire fonctionné un minimum et encore malheureusement je n’ai pas réussie complètement et je ne doit pas être le seul

    Je pense que sa n’aurai pas pris longtemps à écrire la commande pour changer le code pin de la carte sim
    Au sujet des email alors la on a mis la fonction mais débrouiller vous pour la faire fonctionné… même avec la version pré installer … bref vraiment dommage

    1. Écoute, on fait ce qu’on peux, mais on a pas que ça a faire non plus de travailler sur un projet qui ne rapporte absolument rien ! On a un travail à coté et d’autres choses à faire !
      Si la commande pour changer le code pin ne prend pas longtemps, je t’en pris, la page GitHub du projet, comme celle pour générer le package .deb sont accessibles et nous acceptons avec plaisir les pull requests.

      Pour les mails, tous ceux travaillant dans le développement savent à quel point rien n’est plus compliqué à mettre en place qu’un foutu serveur de mail !

      Concernant la version .img, nous n’allons pas continuer son support car elle est particulièrement compliquée à maintenir.

  3. Vince dit :

    Bonsoir,

    Nous commençons à tester RaspiSMS pour notre association.

    Est-il possible de transférer un SMS envoyé sur la SIM du boitier par un membre à un groupe et/ou à l’ensemble des contacts en automatique ?

    Cordialement

    Vince

    1. Salut, je ne comprends pas vraiment ce que vous voulez dire par transférer à un membre ? Vous pourriez préciser exactement le scénario ?

  4. al dit :

    Bonjour,

    Pourrait-on envoyer des commande USSD et de recevoir des réponses USSD ?

    Merci

    1. Salut, c’est possible théoriquement, mais ce n’est pas géré par le logiciel, mais simplement par le réseau de ton opérateur.

  5. Maxence FAUCOEUR dit :

    Bonjour,
    Est-il possible via RaspiSMS d’envoyer un sms vers une adresse mail et inversement un mail vers un sms?
    je vous remercie de votre réponse
    Je découvre les possibilités qu’offre les Raspberrys grâce à vos articles, mille merci!!

    1. Salut, il me semble qu’il existe une fonction suivi vers un mail, mais je ne suis plus sûr (ce moment où tu ne sais même plus ce que tu as codé ou non)…

  6. Florent Jab dit :

    Bonjour !
    Votre projet m’intéresse beaucoup.
    Jusqu’à présent j’utilise un smartphone android avec une application de passerelle SMS pour interagir avec un logiciel que j’ai programmé (envoi des sms via une requete http et j’ai un serveur http qui récupère les sms envoyés par l’application android).

    Je voulais savoir s’il était possible grace à RaspiSMS de transférer les SMS entrants vers un serveur http ?

    Cordialement

    1. Salut, il existe une fonction de webhook pour appeler une adresse web sur reception d’un SMS.

  7. Florent Jab dit :

    Ok c’est bon, j’ai fini par trouver tout seul !

    J’ai modifié le fichier parseSMS.sh et ajouté après la ligne : eval « sms_text=\ »\${SMS_${i}_TEXT}\ » »

    wget « http://ADRESSE DU SERVEUR/?phone=$sms_number&text=$sms_text »
    le serveur récupère bien les paramètres et du coup tout marche bien !

    Merci beaucoup, je vais faire d’autres tests, mais pour l’instant c’est cool !

    1. Oulah, fait attention avec les eval ! Pour ce qui est des webhook normalement ça s’active dans la partie administration ou configuration je sait plus comment je l’ai nommé.

Partager
Inscription à la Newsletter
Inscrivez-vous à la Newsletter.
Vous avez aimé cet article ?
Inscrivez-vous et restez informé !