Logo du système RaspiSMS

Envoyer, gérer et recevoir des SMS avec la Raspberry Pi

Mis à jour le 2 décembre 2017 - 239 Commentaires - , , , , , , ,

Une nouvelle version de RaspiSMS et de cet article est disponible ici !


Il y a environ un mois et demi, nous vous disions dans cet article que deux gros tutoriels allaient prochainement sortir. Aujourd’hui voici le plus important des deux, par sa taille, ses implications, etc.

En effet, si aujourd’hui nous allons voir comment envoyer des SMS avec la Raspberry Pi, nous n’allons pas nous arrêter là. Nous allons vous présenter les fruits de plusieurs semaines de travail acharné (enfin sauf les lundis soirs, parce que les lundis soirs, chez Raspbian France, c’est soirées Kebab/Walking Dead).

Nous allons donc vous présenter RaspiSMS !

Petite présentation de RaspiSMS.

Pourquoi avoir créé RaspiSMS ?

Chez Raspbian France nous avions besoin de pouvoir envoyer des SMS avec la Raspberry Pi, et quand nous avons cherché à le faire, nous n’avons pas trouvé un système qui nous convienne vraiment. Par conséquent, nous l’avons fabriqué, et nous vous le présentons aujourd’hui !

Nous voulions un système qui nous permette de créer facilement un SMS depuis n’importe quel PC, au travers d’une interface claire, mais aussi à travers une API. Nous voulions pouvoir choisir à quelle heure envoyer les SMS, et à qui, notamment via la création de contacts et de groupes de contacts.

Par conséquent, face à l’absence d’outil répondant à ces besoins, nous avons décidé de créer une application web sur mesure. Plutôt que de créer rapidement un système répondant seulement à nos besoins, nous avons décidé de créer un système complet, qui puisse se déployer sur toutes les Raspberry Pi, et de le distribuer en libre au plus grand nombre, sous licence GNU/GPL.

RaspiSMS c’est quoi ?

RaspiSMS, c’est un site web destiné à être installé sur une Raspberry Pi. Il vous permettra depuis n’importe quel ordinateur d’accéder à une interface d’administration propre. Depuis cette dernière, vous pourrez envoyer et recevoir des SMS.

RaspiSMS dispose également d’une API, qui vous permettra d’envoyer facilement un SMS depuis n’importe quel script, par exemple pour envoyer un code de confirmation à un utilisateur, prévenir une équipe lors de l’ajout d’un nouveau push git, ou encore pour vous prévenir par SMS lors de la détection d’un mouvement chez vous.

RaspiSMS permet également de lier des commandes à un script à faire exécuter par le serveur lors de la réception d’un SMS au format « [nom commande:arguments supplémentaires][email:email compte RaspiSMS à utiliser][password:mot de passe compte] ».
Vous pouvez trouver plus d’informations sur RaspiSMS sur sa documentation.

Installation de RaspiSMS.

Que faut-il pour envoyer un SMS ?

Au delà de RaspiSMS et de ses dépendances logicielles, pour envoyer un SMS avec vôtre Raspberry Pi il est important de préciser qu’il vous faudra, au niveau matériel, une carte SIM, et un dongle 3G/GSM.
Pour la carte SIM, nous utilisons une carte de chez Free, avec le forfait par 2€/mois. Vous pouvez même l’avoir pour 0€/mois si vous êtes chez Free. Cela marchera tout aussi bien avec une carte de n’importe quel autre opérateur. Il est à noter que certaines cartes demandent à être activées sur internet avant de pouvoir être utilisées. C’est par exemple le cas des cartes Free. Pensez-y.

Vous aurez bien entendu besoin d’une Raspberry Pi et de sa carte SD. Pour le module 3G/GSM, là c’est un peu plus complexe. Il faut que vous soyez sûr qu’il permet l’envoi de SMS, et qu’il soit géré par le logiciel Gammu.
Pour développer RaspiSMS, nous avons utilisé ce dongle 3G/GSM compatible avec la Raspberry Pi. Il ne nous a jamais posé de problème, et nous sommes sûrs qu’il fonctionne. Nous vous le recommandons donc.

Dernier point, les dongles 3G/GSM consommant un petit peu, assurez-vous d’avoir une bonne alimentation pour vôtre Raspberry Pi (au besoin, allez voir ici).

Page d'accueil de RaspiSMS

Petite capture d’écran de la page d’accueil de RaspiSMS, avec la courbe d’envoi et de réception des SMS.

Installer RaspiSMS

Il existe deux façons d’installer RaspiSMS sur un système. Soit en utilisant le paquet Debian. Soit en utilisant l’archive « .tar.gz ».
Dans le cadre d’une installation sur une Raspberry Pi utilisant Raspbian, ou tout autre système utilisant une distribution dérivée de Debian, nous vous conseillons d’employer le paquet Debian. Cependant, pour une distribution de type RedHat par exemple, vous devriez plutôt employer l’archive.

Installation avec le paquet Debian

L’installation via le paquet Debian est très simple. Il suffit de deux commandes pour installer et configurer RaspiSMS.
Pour installer le paquet Debian, nous allons commencer par le télécharger. Pour cela, nous allons simplement utiliser la commande « wget ».

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

Une fois le téléchargement terminé, on va mettre à jour la Raspberry Pi.

 sudo aptitude update
 sudo aptitude upgrade

Nous allons maintenant installer RaspiSMS. Cette première installation devrait lever une erreur (que nous corrigerons après), les dépendances n’étant pas installées.
À noter, avant d’installer RaspiSMS, vous avez intérêt à connecter votre dongle 3G/GMS, afin que Gammu et Gammu-smsd soient automatiquement réglés pour l’utiliser (sinon vous devrez vous reporter à la partie correspondante dans l’installation pour l’archive .tar.gz.).

 sudo dpkg -i raspisms.deb

Nous allons maintenant corriger les erreurs précédemment levées. Pour cela, nous allons utiliser la commande suivante :

sudo aptitude install raspisms

Voilà, RaspiSMS est installé et configuré, et vous pouvez y accéder à l’adresse URL « http://<VOTRE_URL>/RaspiSMS/ ».

Installation avec l’archive .tar.gz

L’installation via l’archive .tar.gz est plus complexe que celle par paquet Debian.
En effet, lors de l’installation par paquet Debian, une fois l’installation terminée, le système lance un script qui permet de configurer l’ensemble du système. Lors de l’installation via l’archive .tar.gz nous allons donc devoir effectuer l’ensemble de cette configuration nous même.
Dans un premier temps, nous allons mettre à jour la Raspberry Pi.

 sudo aptitude update
 sudo aptitude upgrade

La Raspberry Pi étant à jour, nous allons maintenant installer les dépendances de RaspiSMS.

 sudo aptitude install apache2 php php-mysql php-mbstring gammu gammu-smsd mysql-server

Maintenant que les dépendances de RaspiSMS sont installées, nous allons pouvoir les configurer.
Dans un premier temps, nous allons configurer Apache, pour activer le module de ré-écriture d’URL.
Pour cela, il suffit d’utiliser la commande suivante :

 sudo a2enmod rewrite
 sudo /etc/init.d/apache2 restart

Il faut également activer les fichiers « .htaccess ». Pour cela, reportez-vous à l’article dédié.
Configurons maintenant Gammu et Gammu-smsd. Pour cela, vous devez au préalable avoir connecté votre dongle 3G/GSM.
Nous allons dans un premier temps générer la configuration de Gammu et l’ajouter aux fichiers de configuration de Gammu et Gammu-smsd. Pour cela, utilisons la commande suivante :

 sudo gammu-detect > /etc/gammurc && sudo gammu-detect > /etc/gammu-smsdrc

Ceci fait, nous allons ajouter dans le fichier de configuration de Gammu-smsd une ligne lui indiquant le script à appeler lors de la réception d’un SMS.
Pour cela éditez le fichier « /etc/gammu-smsdrc » avec l’éditeur de vôtre choix (par exemple nano), et ajoutez la ligne suivante :

 RunOnReceive = /var/www/RaspiSMS/parseSMS.sh

Si votre carte SIM utilise un code PIN, ajoutez également la ligne suivante au fichier « /etc/gammu-smsdrc »

 pin = VOTRE_CODE_PIN

Maintenant que Gammu et Gammu-smsd est configuré, redémarrez les :

 sudo /etc/init.d/gammu-smsd restart

L’ensemble des dépendances de RaspiSMS maintenant installées, nous allons télécharger la dernière version de RaspiSMS sous forme d’archive.

wget -O raspisms.tar.gz http://raspisms.raspbian-france.fr/download/raspisms-2.0.tar.gz

Le téléchargement terminé, nous allons décompresser l’archive.

tar xzvf raspisms.tar.gz

Maintenant que l’archive est décompressée, nous allons déplacer l’ensemble de ces fichiers dans le dossier contenant les sites web.

cp -r ./raspisms/RaspiSMS /var/www

Nous allons maintenant créer la base de données de RaspiSMS. Pour cela, nous allons utiliser le fichier « createDatabase.sql » de RaspiSMS, qui contient l’ensemble des requêtes permettant la création des bases. Il vous suffit donc de lancer la commande suivante et de rentrer le mot de passe root de MySQL.

mysql -u root -p < /var/www/RaspiSMS/createDatabase.sql

Ceci fait, nous allons également devoir créer un premier compte administrateur pour RaspiSMS, afin que nous puissions nous connecter. Pour cela, nous allons lancer la commande suivante :

mysql -u root -p -e "use raspisms;INSERT INTO users(email, password, admin) VALUES('<email_de_lutilisateur>', SHA1('<mot_de_passe_de_lutilisateur>'), 1)"

Nous allons maintenant configurer le fichier permettant à RaspiSMS de se connecter à la base de données. Il s’agit du fichier « /var/www/RaspiSMS/mvc/conn_bdd.php ».
Pour modifier ce fichier, nous allons simplement utiliser la commande sed (remplacez « <VOTRE MOT DE PASSE> » par le mot de passe root de MySQL.

sed -i -e "s/DATABASE_PASSWORD/<VOTRE MOT DE PASSE>/g" /var/www/RaspiSMS/mvc/conn_bdd.php

Nous avons donc maintenant un système RaspiSMS avec sa base de données configurée, les dépendances installées, il ne nous reste plus qu’à mettre en place les droits adaptés sur les fichiers.
Nous allons donc donner l’ensemble du dossier « /var/www/RaspiSMS » à l’utilisateur faisant tourner le serveur web (par défaut « www-data »), en donnant à tous le droit de lire et d’exécuter le contenu du dossier.

chown -R www-data:www-data /var/www/RaspiSMS
chmod -R 755 /var/www/RaspiSMS

Nous allons également donner le dossier « /var/www/RaspiSMS/receiveds » à l’utilisateur faisant tourner « gammu-smsd », à savoir « gammu ».

chown -R gammu:gammu /var/www/RaspiSMS/receiveds

Dernier point, nous devons dire au système de vérifier régulièrement s’il faut envoyer un SMS, ou enregistrer un SMS reçu. Pour cela, nous allons utiliser le démon « cron », qui permet de lancer de façon régulière une commande.

Nous allons donc ajouter deux lignes à la crontab. Cependant, il y a un point important, c’est que le programme doit-être appelé en tant que « root », et c’est donc la crontab de « root » que nous devons modifier.
Pour cela, vous devez donc exécuter la commande suivante pour ouvrir la crontab en édition

sudo crontab -e

Puis y ajouter les deux lignes suivantes.

 * * * * * cd /var/www/RaspiSMS && /var/www/RaspiSMS/console.php -c parseReceivedSMS
 * * * * * cd /var/www/RaspiSMS && /var/www/RaspiSMS/console.php -c sendScheduleds

Voilà, l’installation est terminée, et vous pouvez désormais accéder à RaspiSMS à l’adresse URL « http://<VOTRE_URL>/RaspiSMS/ ».

Conclusion

Vous avez maintenant un superbe système vous permettant d’envoyer des SMS depuis votre Raspberry Pi, d’en recevoir, et même de commander à distance votre Raspberry Pi sans avoir besoin d’internet.
Vous pouvez l’utiliser pour votre tout nouveau projet, ou simplement pour envoyer un SMS à vos amis quand vous êtes en Dordogne (qui rappelons-le est un des rares départements français ayant déjà généralisé la couverture internet, mais toujours pas la couverture réseau).

Nous espérons que RaspiSMS vous sera utile. N’hésitez pas à nous faire des remarques, des propositions, ou à parler de RaspiSMS (et pourquoi pas de Raspbian France;)) autour de vous.
Et si vous souhaitez plus d’informations, par exemple pour utiliser RaspiSMS au sein d’un projet, n’hésitez pas à aller voir la documentation ou à nous poser des questions dans les commentaires ou par mail.

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 ! RaspiSMS 2.0, envoyer des SMS par internet avec la Raspberry Pi Bien choisir vos accessoires pour les Raspberry Pi 3 et 2 Installer un serveur web sur votre Raspberry (Apache + PHP + MySQL) Installer un serveur Minecraft sur votre Raspberry Pi !
239 commentaires
Besoin d'aide ? Vous la trouverez plus vite sur notre forum.

  1. Philippe dit :

    Bonjour,

    Super produit : j’ai acheté le dongle que vous préconisez, installé RaspiSMS en suivant le tuto etc etc …
    Dans mon cas précis, j’ai besoin d’utiliser un script directement dans le navigateur (ex : http:/// … ) pour envoyer les SMS (uniquement).
    J’ai consulté la doc API, mais étant une « burne » en API et LINUX, je n’ai pas réussi à le faire fonctionner. Faut-il créer d’abord un sh, html, reconfigurer Apache … auriez-vous un petit tuto svp ?
    Grand merci de la part d’un très très grand débutant en Linux – mais passionné.
    Cordialement.

    1. Bonjour,
      l’API n’as pas besoin de modification particulière, il suffit d’appeler en HTTP la page suivante :
      http://[url raspberry pi]/[chemin raspisms]/smsAPI/send/email_[email du compte admin]/password_[password compte admin]/numbers_[un numero auquel tu veux envoyer ton message>/contacts_[un nom de contact auquel envoyé le message]toto/groups_[un nom de groupe auquel envoyé le message]/text_[ton message à envoyer]
      Tu remplaces les parties « […] » » par la valeur adaptée.
      Pour les numéro, les contacts ou les groupes, tu peux répéter les paramètres pour autant de cibles que tu veux, ou ne pas mettre un des paramètres (par exemple, ne pas mettre de « numbers » et « contacts », mais mettre deux « groups »).

      Qu’entends-tu pas « j’ai besoin d’utiliser un script directement dans le navigateur » ?

      1. Philippe dit :

        Bonjour,

        Merci pour ce retour… effectivement tout marche bien ! Quand je parle d’envoyer via le navigateur, en faite dans un logiciel d’alarme on peut renseigner l’URL avec le script… bref. Par contre j’ai un autre petit soucis : j’avais fait des tests avec ma SIM. Maintenant à long terme j’ai racheté une SIM FREE supplémentaire. Le pin est celui de FREE par défaut « 1234 » et différent de mon PIN à moi. J’ai donc modifié le pin dans /etc/gammu-smsdrc – mais les SMS ne partent pas. Ils apparaissent bien dans le DASHBOARD et j’ai retour {« error »:0}, mais je ne reçois rien. Il y a t’il un autre endroit ou je dois modifier les paramètres de la nouvelle SIM, y a t’il un filtrage par N° de série ou je ne sais pas quoi ? Ou sont les logs que je puisse checker ? Merci pour votre aide et encore BRAVO pour ce super boulot !

        1. Philippe dit :

          Petit complément : je viens de retrouver mes SMS dans /var/spool/gammu/outbox/ … ils sont donc dans la file d’attente … donc c’est bien un problème de SIM ou de dongle …. je continue à chercher.

        2. Salut,
          si la SIM est neuve il faut d’abord l’activer dans un téléphone portable « normal ». Il me semble qu’il y a un code à renseigner, quelque chose du genre (ça doit être expliqué dans la notice Free) !
          Nous nous étions nous-mêmes fais piégés !

          1. Philippe dit :

            Re-bonjour : EXACTE ! tout marche à merveille !
            Petite et dernière question (;-) : j’ai suivi votre réponse à un membre plus haut pour ajouter un user à sql en ligne de commande : c’est fait. Dommage que ça ne marche pas via le WEB … bref. Par contre, j’essaie d’envoyer les SMS avec ce nouveau USER et ça ne marche pas : une idée ?
            Merci et encore BRAVO BRAVO ! Bel outil !

          2. Nous travaillons sur ce problème pour la prochaine version.
            Concernant ce problème d’envoi de SMS je ne vois pas de raisons :/ Cela marche avec le compte normal ?

  2. Philippe dit :

    Re-bonjour,

    2 autres question : j’ai l’impression que l’heure de la passerelle n’est pas bon. Comment peut-on le changer ?
    J’ai programmé quelques SMS en envoi dans le scheduler, dans les stats ils sont bien parti, mais je n’ai rien reçu sur le portable. Comment puis-je suivre l’envoi en temps réel, ou voir les logs ou voir si j’ai un problème avec mon dongle ?
    Merci pour votre aide.
    Philippe

    1. Bonjour, pour voir si le dongle marche bien tu peux utiliser la commande suivante :
      gammu-smsd-inject TEXT « 0612345678 » -text « Message de test »

      En remplaçant « 0612345678 » par le numéro auquel tu veux envoyer le SMS de test.

  3. Pacco dit :

    Re,
    Par rapport à mon message précédent je veux vous dire que j’ai trouvé la réponse qui est décrite sur votre documentation. Bien expliqué et clair.
    http://URLCIBLE/smsAPI/send/email_admin@email.tld/password_p455w0rd/numbers_0612345678/text_Texte%20du%20SMS%20à%20envoyer
    J’aurai dû tester avant d’envoyer une demande.
    Merci à vous. je suis dés maintenant avec vous.
    Pleines de bonnes choses à toute l’équipe.

    1. Pas de problème, merci pour tes encouragements.

  4. CBS CONSULTING dit :

    C’est une merveille !
    Tout fonctionne bien, sauf… Je ne reçois aucun sms, que faire ?
    Je voudrais que la personne puisse répondre STOP pour que je puisse le retirer de la liste.

    Merci

    1. Bonjour,
      gammu est-il bien lancé, ta carte SIM bien déverrouillée et activée (première activation à faire dans un vrai téléphone), le dongle 3G bien alimenté ?
      Pour le SMS STOP, il s’agit d’une fonctionnalité que nous ajoutons à la version 2 de RaspiSMS, laquelle devrait, avec un peu de chance, sortir avant noël (on a beaucoup repoussé, soyons honnêtes, pas toujours facile de se motiver à travailler ;)).

  5. farid dit :

    Bonjour!

    svp je me demande s’il ya un moyen de recevoir via sms des donnés a partir d’un compteur quelconque vers mon site web ? (bref je veux recevoir les donnés d’un compteur via sms directement sur ma base de données)

    1. Salut,
      il faudrait que tu fasse un tour sur la doc de RaspiSMS du coté de l’API !

  6. paul bismuth dit :

    Bravo pour ce tutoriel. C’est ce que je cherche pour envoyer des sms de notification pour nos utilisateurs. Merci Rasbian France et bonne continuation !

  7. Utilisateur dit :

    Bonjour,

    Pour ma part, je rencontre un souci au moment de l’authentification sur l’interface d’admin de RaspiSMS.
    L’installation se déroule sans aucun souci majeur, y compris au moment du choix de l’adresse mail et du mot de passe administrateur. Mais je n’arrive pas à accéder à l’interface d’administration qui me retourne « identifiants erronés ».
    Bien que j’aie refait l’installation 3 fois (installation debian), l’erreur reste identique. Je précise que pour l’instant j’accède au serveur uniquement en local.
    Y a-t-il des contraintes spécifiques à respecter au niveau du choix du mot de passe ?
    Merci

    1. Salut,
      c’est un problème que nous n’avons encore jamais rencontré. Il n’y a pas normalement de contraintes particulières sur le mot de passe.
      Tu peux tenter de créer un utilisateur comme expliqué dans la partie installation manuelle.

      1. Utilisateur dit :

        Merci pour votre proposition.

        Je vais essayer cette solution et vous tiendrai au courant du résultat.

        1. Utilisateur dit :

          Bonjour,

          J’ai remis à jour tous les packages, et relancé l’installation automatique.
          L’accès à l’interface d’administration se déroule désormais sans souci.
          L’envoi de SMS également.

          Merci à vous pour votre travail,
          je vous souhaite le meilleur pour la suite.

  8. chams dit :

    Bonjour,

    Je viens de faire l’installation de RaspiSMS, tous est impect, je l’utilise pour des alertes de monitoring NAGIOS.
    Cependant après un certains temps d’inactivité (1h/2h), je me suis aperçu que l’envoi de SMS ne fonctionnait plus.
    Je pense que le problème viens du fait que le Raspberry Pi 2, suspend l’activité de ses ports USB, avez vous eu le problèmes ? si oui, quel est la solution ? j’ai fait plusieurs modification mais rien ne fonctionne pour le moment.

    Merci d’avance,

    Cordialement,

    1. Salut,
      oui nous avons déjà eu le problème mais comme nous n’utilisons pas RaspiSMS de façon critique nous n’avons jamais réellement cherché de solutions.
      Il me semble qu’un utilisateur avait trouvé une solution, peut-être dans les commentaires ?

      Sinon, si certains peuvent aider, vous êtes les bienvenus !

    2. Emmanuel dit :

      Bonjour @chams,
      J’ai lu que tu utilise le RaspiSMS pour les alertes NAGIOS, j’aimerais savoir comment tu as fait? Moi j’utilise Zabbix pour mon monitoring et j’aimerais connecter le raspberry (avec RaspiSMS) au switch pour qu’il soit dans le même réseau et que zabbix l’utilise pour la notification par sms. J’aimerais demandé si c’est faisable, et si tu aurais des tutoriels à me proposer? ou que me conseille tu?
      Merci d’avance

  9. Dam dit :

    Bonjour,

    j’ai suivi votre tutoriel, tout c’est déroulé comme prévu, sauf la dernière étape..
    lorsque je tape http:/mon-url/RaspiSMS, je n’ai rien…
    Et même lorsque je tape http:/mon-url/ je devrais avoir un message qui me dit que le serveur web est bien fonctionnel, mais rien.
    J’ai alors tapé « service apache2 start » mais cela n’a rien changé.
    Si vous pouvez m’éclairer 🙂

    1. Salut,
      si tu fais « ps -aux | grep apache », ça te retourne quoi ?

  10. Dam dit :

    Voila ce que j’ai, j’ai rajouter « | grep -v grep »
    root 874 0.0 5.2 106096 19820 ? Ss 12:49 0:01 /usr/sbin/apache2 -k start
    www-data 942 0.0 1.6 106128 6228 ? S 12:49 0:00 /usr/sbin/apache2 -k start
    www-data 945 0.0 1.6 106128 6228 ? S 12:49 0:00 /usr/sbin/apache2 -k start
    www-data 949 0.0 1.6 106128 6228 ? S 12:49 0:00 /usr/sbin/apache2 -k start
    www-data 950 0.0 1.6 106128 6228 ? S 12:49 0:00 /usr/sbin/apache2 -k start
    www-data 954 0.0 1.6 106128 6228 ? S 12:49 0:00 /usr/sbin/apache2 -k start

    1. Donc à priori ton serveur Apache tourne bien. Tu es sûr de ton URL ?

  11. fotopaca dit :

    Bonjour,
    je trouve ce projet très intéressant ! Je fais du mailing, et du sms pub, et j’ai testé des solutions comme ovh ou d’autres, mais je trouve que le prix est exhorbitif pour du sms !
    Par contre une question, si j’envoie des sms en masse, plus de 200 , on va dire entre 200/300 et 500/600, que se passe-t-il avec les fournisseurs comme free ou autre ? car nous avons bien une limitation qui est parfois indiquée , comme 200 correspondants différents par mois, mais il n’y a rien d’écrit en cas de dépassement,. Quelqu’un a-t-il tenté cette expérience ?
    Merci

    1. Salut,
      nous n’avons jamais eu l’occasion de tenter l’envoie à plus de 200 correspondants, mais je pense que ça doit entraîner un blocage ou quelque chose comme ça !
      Ça dépend sans doute pas mal des opérateurs.

  12. Naoli dit :

    Hello
    Une fois installé RaspiSMS je ne peux m’y connecter :
    http://ip_du_pi/RaspiSMS se transforme en http://ip_du_pi/RaspiSMS/connect qui sort une erreur 404
    De fait je n’ai aucun répertoire « connect » dans /var/www/RaspiSMS :

    /var/www/RaspiSMS$ ls -lah
    total 72K
    drwxr-xr-x 13 www-data www-data 4.0K Dec 6 15:42 .
    drwxr-xr-x 4 root root 4.0K Dec 6 15:40 ..
    -rwxr-xr-x 1 www-data www-data 103 Dec 15 2014 .htaccess
    -rwxr-xr-x 1 www-data www-data 1.2K Dec 15 2014 console.php
    drwxr-xr-x 2 www-data www-data 4.0K Dec 6 15:42 controllers
    -rwxr-xr-x 1 www-data www-data 2.6K Dec 15 2014 createDatabase.sql
    drwxr-xr-x 3 www-data www-data 4.0K Dec 6 15:42 css
    drwxr-xr-x 6 www-data www-data 4.0K Dec 6 15:23 font-awesome-4.2.0
    drwxr-xr-x 2 www-data www-data 4.0K Dec 6 15:42 fonts
    drwxr-xr-x 2 www-data www-data 4.0K Dec 15 2014 img
    -rwxr-xr-x 1 www-data www-data 667 Dec 15 2014 index.php
    drwxr-xr-x 4 www-data www-data 4.0K Dec 6 15:42 js
    drwxr-xr-x 2 www-data www-data 4.0K Dec 6 15:42 model
    drwxr-xr-x 2 www-data www-data 4.0K Dec 6 15:42 mvc
    -rwxr-xr-x 1 www-data www-data 321 Dec 15 2014 parseSMS.sh
    drwxr-xr-x 2 gammu gammu 4.0K Dec 15 2014 receiveds
    drwxr-xr-x 2 www-data www-data 4.0K Dec 15 2014 scripts
    drwxr-xr-x 2 www-data www-data 4.0K Dec 6 15:42 templates

    Une idée ?

    1. Salut,
      les fichiers .htaccess sont-ils bien activés ? Nous avons un tutoriel sur le sujet chez Raspbian France qui pourra t’aider !

      1. Naoli dit :

        Salut,

        euh je n’en sais trop rien. Sais-tu où est le tuto ?
        Merci !

        1. Naoli dit :

          C’est bon j’ai trouvé. Pas mieux : en suivant le tuto je n’ai pas de fichier /etc/apache2/sites-enabled/000-default mais j’ai /etc/apache2/sites-enabled/000-default.conf

          J’édite le dernier et n’y vois aucun AllowOverride
          Je rajoute dans la balise :  » AllowOverride All » et redémarre apache : pas de différence…

          Une idée ?
          Merci

  13. Romulus dit :

    Hello,
    Bravo pour tout ce boulot !
    Je suis en train de l’installer sur un Raspberry Pi B+ (et j’ai déjà commandé le Pi2B pour passer un cran au dessus ;-)).

    J’ai 2 questions :
    -1) J’essaie de configurer avec une clé bloquée Bouygues (Carte Sim Bouygues) => ZTE MF190 (3G+ 7.2GB), mais lors de la configuration automatique, Gammu indique :
    « Opening Socket : Aucun périphérique de ce type »
    2 fois de suite puis me demande de rentrer le code pin.

    Est-ce normal ? Savez-vous si cette clé (assez répandue) est compatible ?

    -2) Imaginons que la clé 3G soit défectueuse au bout d’un certain temps, ou bien que je souhaite passer sur un modem 3G plus costaud… Quelle manip dois-je faire ?

    Désolé pour mes questions basiques, mais je me mets tout doucement à Linux 😉

    => Fotopaca, j’ai une réponse à t’apporter car je l’ai moi-même posé à Bouygues aujourd’hui même (la sim que j’ai pris est une B&You 2H SMS Illimités) et ils m’ont répondu qu’il n’y avait pas de limitations quelles qu’elles soient en nombre d’envois ni de correspondants avec le forfait choisi (3.59€ /mois).
    Espérons que la réponse ne soit pas uniquement commerciale…

    Merci pour vos réponses.
    Romulus

    1. Romulus dit :

      Alors, l’install est terminée, sans erreurs (excepté le petit message opening socket)…

      Mais impossible d’ouvrir la page web (http://127.0.0.1/RaspiSMS/) 🙁

      Tant en localhost ou 127.0.0.1, qu’en ip locale 192.168.0.47 (vérifiée avec ifconfig)
      => Rien à faire, j’ai le message « The requested URL /RaspiSMS was not found on this server ».

      Pourtant, j’affiche bien la page par défaut Apache 2 DEBIAN (http://127.0.0.1/).

      Le dossier RaspiSMS est bien présent dans /var/www.

      J’ai essayé de créer un Alias dans /etc/apache2/sites-available/default :

      Alias /RaspiSMS/ « /var/www/RaspiSMS/ »

      Order allow,deny
      Allow from all
      Require all granted

      J’ai redémarré Apache2 puis redémarré le PI, rien à faire :-(.

      Pour le coup, à l’aide…

      Merci d’avance.
      Romulus

      1. Romulus dit :

        Pour le coup, j’ai fait une connerie… J’ai écrasé le reste du fichier default en ajoutant mon Alias… Celui-ci ne contient donc plus que mon Alias……..

        Pffff….

        Quelle manip dois-je faire pour désinstaller / réinstaller complétement RaspiSMS ?
        (ce sera plus propre).

        1. Romulus dit :

          J’ai tout réinstallé intégralement (Raspbian en dernière version (Jessy) et RaspiSMS en paquet debian).
          L’installation se déroule parfaitement jusqu’à la fin, mais j’ai toujours le même problème :
          « The requested URL /RaspiSMS/ was not found on this server »
          (Apache/2.4.10 (Raspbian) Server at 127.0.0.1 Port 80)

          Pourtant Apache tourne et le dossier RaspiSMS est bien présent dans /var/www.

          Toute aide sera très appréciée 🙂
          Merci

          Romulus

          1. Romulus dit :

            Je viens de modifier 000-default.conf comme cela :
            sudo nano /etc/apache2/sites-enabled/000-default.conf

            DocumentRoot /var/www/html

            remplacé par

            DocumentRoot /var/www/

            puis par

            DocumentRoot /var/www

            Et je progresse car lors de l’appel de l’url, le message de retour est … »URL /RaspiSMS/connect/ was not found »…

            Je m’arrache les cheveux ! (j’en ai plus d’ailleurs)

            Romulus

          2. Décidément… Je commente les messages en ordre inverse :b
            Vérifie que les fichiers .htaccess sont bien activés !

          3. Oups, pas vu le dernier message, voir réponse sur le message précédent 😉

        2. Tu peux faires quelque chose comme « sudo apt-get remove –purge » je pense.

      2. Salut,
        dans le dossier /var/www, existe-t-il un dossier « html » ?

      3. Klem941 dit :

        Bonjour Romulus, j’ai la même erreur mais impossible de la faire passer j’ai tout essayé, mon php fonctionne bien grâce au php info, j’ai fait les test des htacess, tout est bon aussi mais des que je veux charger la page php index.php du repertoire RaspiSMS, rien ne se charge alors que l’affichage du phpinfo fonctionne parfaitement, Pouvez vous m’aider svp ?

    2. Salut, tu trouveras la liste des clefs 3G compatibles ici.
      Pour le changement de clef, pas de manipulation particulière. Tu régénère simplement la configuration de gammu-smsd et c’est bon !

      Merci pour ton retour sur les limites d’envoi. Si la réponse n’est pas commerciale c’est effectivement très intéressant !

  14. Romulus dit :

    Merci pour toutes ces réponses 🙂

    Alors, je viens d’installer une Debian 8 (en mode graphique… oui, je sais… mais j’ai même pas honte ;-)).

    Puis, j’ai installé raspisms avec le paquet Debian (comme pour la Raspberry)…..
    ….. Et j’ai le même soucis !
    (Je précise que j’ai tout installé en Root avec le terminal administrateur).

    Sauf que je viens de voir un message dans le terminal que je n’avais pas vu sur Raspberry (il y était sûrement mais j’l’avais point vu) :

    « Activation des fichiers .htaccess pour l’ensemble des répertoires Apache
    sed: impossible de lire /etc/apache2/sites-available/default : Aucun fichier ou dossier de ce type »

    Et effectivement, il y a 2 fichiers à cet emplacement « 000-default.conf » et « default-ssl.conf » mais pas « default »…

    et un peu plus loin :

    « Ajout des taches dans la crontab
    no crontab for root »

    J’imagine que tu vas me confirmer qu’il faut que j’active les fichiers .htaccess…. mais même avec le tuto sous les yeux, je nage !

    What i must to do ?
    Merci.
    Romulus

    1. Romulus dit :

      J’ai oublié de préciser que j’ai installé la Debian 8 sur un PC et pas sur Raspberry…

    2. Le fichier à modifier c’est 000-default.conf sur les nouvelles versions d’Apache !

  15. Romulus dit :

    Est-il possible de me mettre ce que devrait contenir ce fichier 000-default.conf sur une installation fonctionnelle, svp ?

    Actuellement, j’ai cela (j’ai enlevé les lignes de commentaires) :

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    J’ai essayé de suivre le tuto permettant d’activer les .htaccess, mais le fichier de conf ne contient même pas la ligne à remplacer : AllowOverride None.

    Quand j’essaie d’ajouter simplement AllowOverride All entre les balises VirtualHost, Apache2 refuse de redémarrer…
    Et ça fait des années que je n’ai pas trituré d’alias sur Apache…

    Merci
    Romulus

  16. Romulus dit :

    Yesss, ça y est, j’ai trouvé !

    Donc, il y a une erreur dans le tuto « Activer les fichiers .htaccess ».

    Le remplacement de AllowOverride None par AllowOverride All n’est pas à faire dans /etc/apache2/sites-enabled/000-default.conf, mais dans /etc/apache2/apache2.conf.

    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted

    Et il faut remplacer
    « DocumentRoot /var/www/html »
    par
    « DocumentRoot /var/www »

    dans /etc/apache2/sites-enabled/000-default.conf.

    @+ et merci (je pense que j’aurais d’autres questions).
    Romulus

    1. klode dit :

      Bonjour,

      j’ai le même problème que Romulus mais je crois qu’il a inversé certains fichiers car je trouve « Options Indexes FollowSymLinks dans le fichier 000-default, je ne trouve pas ces lignes dans Apache2.conf.
      j’ai modifié comme suit dans le fichier 000-default :

      DocumentRoot /var/www/html (j’ai ajouté html)

      Options FollowSymLinks
      AllowOverride All (j’ai mis All au lieu de None)

      (j’ai ajouté html)
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All (j’ai mis All au lieu de None)
      Order allow,deny
      allow from all

      quand je rentre l’URL IP du Raspberry/RaspiSMS, il s’affiche ceci :

      getFromTableWhere(‘settings’); foreach ($settings as $setting) { define(‘RASPISMS_SETTINGS_’ . mb_convert_case($setting[‘name’], MB_CASE_UPPER), $setting[‘value’]); } ########### # ROUTAGE # ########### //Partie gérant l’appel des controlleurs $router = new Router($_SERVER[‘REQUEST_URI’]); $router->loadRoute($_SERVER[‘REQUEST_URI’]);

      je suis perdu avec le serveur apache

      merci pour votre aide

      Klode77

      1. Salut,
        il semblerait que le serveur Apache ne lis pas les fichiers PHP.
        Essayes de lancer la commande « sudo apt-get install libapache2-mod-php5 -y » et redémarre la Raspberry Pi.

  17. Théo dit :

    Bonjour j’assaille de faire un réseau d’appel est-ce qu’avec se logiciel on peux recevoir des appelles si non pouvez-vous m’envoyez un lien.
    Merci de votre compréhension

    1. Bonjour,
      non RaspiSMS ne gère pas les appels téléphoniques, seulement les SMS, désolé :/

  18. Jet dit :

    Merci RasPI et Raspbian vous me redonnée le goût de l’Electronique et du bidouillage.
    Dans l’optique de lancer l’exécution des code USSD, devrais-je utiliser le même module 3G/GSM indiqué dans le tuto ou un module Sim900 GSM/GPRS ?
    Dans le cas où il faudrait utiliserun module Sim900 GSM/GPRS, l’API rapidSMS pourrait être utilisée avec ce module ?

    Merci

    1. Salut,
      nous n’avons jamais eu l’occasion d’essayer l’USSD avec RaspiSMS.
      Mais je pense (rien de sûr) que USSD est géré par l’opérateur et pas par l’appareil, donc je ne pense pas que le module GSM joue sur ce service !

      Pour connaître le liste des modules GSM compatibles, tu peux faire un tour sur cette page http://fr.wammu.eu/phones/ !

  19. Mickael dit :

    Bonjour,

    J’aime bien ce petit client « RaspiSMS » c’est simple et facilite la lecture et les envois/réceptions, c’est largement mieux qued’aller dans le dossier gammu en manuel avec « ls » et « cd » etc…
    Par contre j’aimerais utiliser mon Raspberry ainsi que Gammu pour faire un système avec mon site pour valider les inscriptions sur celui-ci, je vous explique comment j’aimerais utiliser mon Raspberry :

    REQUIS POUR MON UTILISATION:
    – Raspberry pi + le dongle USB/SIM
    – RaspiSMS (pour l’admin pour facilité la lecture des envois/receptions/et faire des test très rapidement
    – Un serveur dédié chez OVH.com (que j’ai depuis 2009 pour mes sites)
    – Un site en cours de fonctionnement avec comme par exemple 150 inscriptions par jour, donnons lui ce nom pour ce site: www.lesite.com

    VOICI COMMENT JE COMMUNIQUE AVEC MON SERVEUR DEDIE OVH ET LE RASPBERRY QUI EST CHEZ MOI:
    1) Le raspberry a un serveur web, le port 80 est ouvert sur la livebox, et j’ai activé Dyndns dans le panel de la livebox pour avoir un domaine fixe (comme une ip fixe)
    Dans le raspberry /var/www il y a un fichier « sendsms.php » et à l’intérieur il y a la un « if » et à l’interieur de ce « if » il y a la commande gammu pour envoyer le sms. Dans la condition du if il y a un « if ( $_SERVER[« REMOTE_ADDR »] == « IP_DU_SERVEUR_OVH » ) » pour accepter que mon serveur dédié d’ovh à exécuter cette page sur le raspberry (pour sécuriser un peu mieux).

    2) Sur mon serveur ovh il y a une page php et dans cette page il y a tout ce qu’il me faut mais surtout il y a ceci :
    _________ test.php ________
    $msg = urlencode(« Votre code de confirmation est le 123456 »);
    $file_get_contents = file_get_contents(« http://[DOMAINERaspberryLivebox]/sendsms.php?num=$NUMERO&msg=$msg »);
    echo file_get_contents;
    _________

    Ensuite à partir de mon serveur dédié d’ovh j’exécute « test.php » qui éxécute donc « http://[DOMAINERaspberryLivebox]/sendsms.php?num=$NUMERO&msg=$msg ».
    et tout mon système fonctionne, c’est niquel.

    J’ai juste un problème, c’est au niveau de la carte SIM, il me faudrait une nouvelle carte SIM qui est capable d’envoyer 1sms par jour à 150 destinataires chaque jour pour que chaque personne qui s’inscrit puisse valider leur inscription, est-ce que vous connaissez un fournisseur mobile qui accepte de faire ça en sms illimité et sans être restreint dans les destinataires ?
    (car j’ai remarqué que chez Orange et SFR les destinataires étaient souvent limité à 200 ou 250).

    Biensûr c’est seulement pour valider les inscriptions des gens, il y a aucun spam.
    je pense qu’il me faudrait un SMS à envoyer vers 50 et 150 destinations par jour soit une moyenne de 6 sms par heure (1 sms mais 6 destinataires différents = donc 6 sms) – Pour sécuriser tout ça je mettrais un bouton « renvoyer le code de confirmation » et la limitation sera que de deux tentatives pour sécuriser un peu tout ça, et j’accepterais que la france (06 et 07).

    Enfin voila, savez vous si c’est possible et avec quelle SIM?

    Merci, salutations

    1. Salut,
      Romulus nous a signalé que Bouygues avec son offre B&You semble proposer un service réellement illimité !

  20. dellis dit :

    Bonjour, d’abord merci pour cette superbe appli!!!
    J’ai réussi à installer RaspiSMS sur mon Pi, j’arrive à programmer des envois de SMS depuis le serveur: http://192.168.1.35/RaspiSMS/scheduleds/
    J’aimerai pouvoir programmer l’envoie de SMS depuis Excel sur mon PC vers RaspiSMS, j’ai lu la doc pour utiliser une requête:
    http://192.168.1.35/smsAPI/send/?email=*******@yahoo.fr\&password=****\&numbers=0625*****\&text=test\
    Mais j’ai une erreur:
    Not Found
    The requested URL /smsAPI/send/ was not found on this server.
    Apache/2.4.10 (Raspbian) Server at 192.168.1.35 Port 80

    J’ai essayé d’activer les htaccess… (Même problème que Romulus: j’ai modifié le fichier « apache2.conf »)
    Rien ne marche, je ne trouve pas l’erreur…
    Merci de votre aide et bonnes fêtes de fin d’année à tous 🙂

    1. Salut,
      nous avons mis la doc à jour. Il faut retirer le « /send » ! Désolé du temps perdu :/

  21. G dit :

    Bonjour, tout d’abord super votre projet j’adord mais j’aurais souhaité savoir quels services faut il stopper si l’on ne veut pas arreter le pi mais uniquement les services utilisé par RaspiSMS, merci d’avance.

    1. Salut,
      il faudrait stopper Gammu-smsd et éventuellement la suite apache/mysql/php.

  22. davidg dit :

    Bonjour,
    Excellent tuto merci.
    Je viens d’installer sur mon Raspberry RapiSMS mais les SMS ne partent pas.
    J’ai essaye la commande suivante en ligne de commande : gammu-smsd-inject TEXT « 0612345678 » -text « Message de test » et j’ai le message suivant : Failed to read config: Gammu is not configured.
    Merci de votre aide.

    1. Tu as installé RaspiSMS avec quelle méthode ?

  23. Marc dit :

    Bonjour tout le monde, je voulais savoir si il y avait une possibilité de faire des envoies de sms a partir de la Freebox Revolution simplement sans le dongle 3g/gsm?
    J’ai contacté free aujourd’hui et selon eux il est possible de le faire a partir d’une simple connexion internet…
    Qu’en pensez vous?

    1. Bonjour,
      cette fonctionnalité ne fait dans tous les cas pas parti de RaspiSMS. Il faudra que tu te renseignes sur des forum autour de free qui seront plus à même te répondre que nous.

      1. Titi dit :

        Bonjour,

        Marc, il faut regarder l’API SMS de Free (cf les liens ci-dessous). Je pense qu’il a y moyen de coupler RaspiSMS avec cette API pour l’envoie de sms. Pour ce faire, il faut mettre les mains dans le code de l’app.

        http://www.domotique-info.fr/2014/06/nouvelle-api-sms-chez-free/

        http://www.freenews.fr/freenews-edition-nationale-299/free-mobile-170/nouvelle-option-notifications-par-sms-chez-free-mobile-14817

  24. Dae dit :

    bonjour , formidable application qui offre bien des possibilité.
    es t’il possible de connecter le service avec une appli du genre de smsBackup+ (sous android) qui sauvegarde les sms recu sur le compte gmail dans un dossier « sms » ?
    une version 2.5 en vue ?

    1. Salut,
      non ce n’est pas possible, désolé :/
      Pour l’instant ce n’est pas encore en vu, nous avons d’autres objectifs à cour termes.
      Il y aura peut-être une version 3 cet été, mais probablement pas avant.

  25. Emmanuel dit :

    Bonjour,
    Je suis actuellement sur un projet de fin d’étude et j’utilise zabbix sur un ubuntu server. J’aimerais utiliser mon Raspberry avec RaspiSMS pour la notification par SMS. J’aimerais savoir tout d’abord si c’est possible? Si oui est ce que vous aurez des tutos à me proposer? Je me demandais comment coupler mon RaspiSMS avec Zabbix?
    Merci d’avance.

    1. Salut,
      nous n’avons jamais eu l’occasion de travailler avec Zabbix, mais je pense que le plus simple serait probablement d’utiliser l’API de RaspiSMS. Tu trouveras des infos dans la doc du projet.

      1. Emmanuel dit :

        Salut,
        Merci pour votre réponse. Je vais me documenter et trouver une solution.

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