Académique Documents
Professionnel Documents
Culture Documents
Récemment, j’ai enfin terminé un projet qui peut être pratique : un serveur SMS à base
SOUTENIR LE BLOG de Raspberry Pi. L’intérêt ? M’envoyer des alertes à base de SMS en cas de soucis
avec mon NAS.
Le projet
L’idée de base consiste à installer un serveur capable d’envoyer des SMS depuis mon NAS Synology
quand il détecte des mouvements depuis mes caméras de surveillance. Donc, en simplifiant, un
Raspberry Pi avec un modem cellulaire, un abonnement pas trop cher, et un logiciel compatible le NAS.
Cette partie là ne pose pas de soucis dans l’absolu (même si ça demande un peu de manipulations).
Ce qui est plus gênant pour le moment, c’est que mon installation manque très clairement de fiabilité en
cas de soucis. Premier point, je capte mal chez moi. J’espérais qu’un modem dédié donne un meilleur
résultat qu’un téléphone, mais ce n’est pas tellement le cas. Pour mes autres appareils, j’utilise un
femtocell, mais la contrainte suivante rend son usage caduque. Mon second problème vient de la
résistance aux coupures de courant. Actuellement, mon NAS n’est pas sur un onduleur pour une raison
simple : son bruit me gêne et l’onduleur est dans mon bureau. Du coup, le NAS se trouve dans une
autre pièce. A l’origine, je comptais mettre le Raspberry Pi sur batterie (l’onduleur du pauvre) mais sur
un Raspberry Pi 3, ça ne fonctionne pas comme prévu : quand je place ma batterie entre le secteur et
le Raspberry, couper le courant redémarre la carte, visiblement la batterie a un délai au moment de
passer de son alimentation à la batterie. Et le problème du femtocell intervient : sans énergie, le modem
capte mal étant donné que le femtocell ne fonctionne plus. Enfin, même en réglant ce souci, le NAS et
le Raspberry Pi doivent pouvoir communiquer sans énergie, ce qui implique une connexion directe (par
exemple sur la seconde interface du NAS) mais rend la gestion du Raspberry Pi beaucoup plus
compliquée. Pour le moment, j’ai donc une solution fonctionnelle dans l’absolu, mais qui résiste mal à
un truc idiot comme une coupure de courant. Dans l’idéal, il faudrait protéger la connexion à Internet, le
Raspberry Pi, les caméras, le NAS et le femtocell, ce qui est irréalisable dans mon cas. Enfin, un
dernier souci intervient : le choix du forfait. Beaucoup ne permettent tout simplement pas ce type de
choses – il ne s’agit d’un usage en bon père de familles – et les désactivations de forfaits ne sont pas
rares pour ceux qui abusent.
MAJ : vu qu’on me l’a indiqué plusieurs fois, je sais parfaitement que Free propose un service
compatible avec les NAS. Il suffit d’avoir un forfait (même à 0 €) et il est possible de configurer une
adresse précise pour le NAS. Mais le problème reste le même : en cas de coupure de la connexion à
Internet, le service ne fonctionne pas (et il faut évidemment être abonné chez Free).
le problème du modem
A la base, je comptais juste utiliser un vieux téléphone avec un adaptateur série pour envoyer les SMS,
ce qui est parfaitement suffisant. Mais j’ai abandonné : mes vieux téléphones amènent trop de
contraintes. La principale vient du fait qu’il est compliqué de connecter certains modèles et de les
charger en même temps, sans même prendre en compte l’obligation de disposer de deux prises. Je
me suis donc tourné avec un modem 3G, un ZTE MF190. De la taille d’une clé USB il fait aussi office
de lecteur de cartes microSD (aucun intérêt) et a l’avantage d’être reconnu nativement sous Linux. Mais
il n’est pas simple à installer, pour une raison idiote : par défaut, il s’authetifie comme un lecteur de CD-
ROM virtuel contenant les pilotes. Il existe différentes méthodes pour le forcer en mode modem par
défaut, j’ai décidé de le faire directement dans le modem lui-même.
http://www.journaldulapin.com/2017/03/17/sms-serveur-raspberry-pi/ 1/7
27/08/2017 Transformer un Raspberry Pi en serveur SMS | Le journal du lapin
Première étape, brancher le modem et vérifier comment il s’identifie avec la commande lsusb. Dans
mon cas, avec l’ID suivant : 19d2:0083. Une fois la valeur notée, je l’ai éjecté logiciellement pour forcer le
mode modem. Sur un PC, la commande est peut-être eject /dev/sr1.
eject /dev/sr0
Une fois dans minicom, pressez ctrl + A pour les menus, et E pour afficher le retour. Ensuite, entrez les
commandes suivantes (normalement suivies d’une réponse du modem).
AT+ZOPRT=5
AT+ZCDRUN=8
Pour quitter, il faut faire ctrl + A puis X. Normalement, le modem passera ensuite directement en mode
modem, testez en le branchant et le rebranchant puis en vérifiant l’ID avec lsusb.
Dernière étape avant de tester l’envoi de SMS, pensez à désactiver le code PIN sur un téléphone, ça
simplifie grandement les choses.
L’envoi de SMS
J’ai utilisé le tutorial de ce site, suffisant pour mon usage. Il suffit d’installer un programme qui s’appelle
Gammu, qui permet de gérer les SMS.
Dans le fichier, il faut définir le port et la vitesse, dans mon cas avec les paramètres suivants.
http://www.journaldulapin.com/2017/03/17/sms-serveur-raspberry-pi/ 2/7
27/08/2017 Transformer un Raspberry Pi en serveur SMS | Le journal du lapin
port = /dev/ttyUSB4
connection = at19200
Ensuite, il faut lancer le service (service gammu-smsd start) et vérifier que les SMS partent. TEXT indique le
type de message, suivi du numéro (je préfère la notation complète) et du texte. Attention, ne dépassez
pas 160 caractères.
Normalement, ça va fonctionner. La commande peut indiquer un message sur l’absence de code PIN
dans la configuration, mais ce n’est pas important si vous avez désactivé le code avant.
Le serveur Web
Ca reste assez sale et basique, mais ça fonctionne. Une simple page PHP qui appelle le script.
cd /var/www/html
<?php
$numero = $_GET['numero'];
$texte = $_GET['texte'];
?>
Une fois le code sauvé, une petite modification s’impose pour permettre au script de se lancer.
Pour des questions pratiques, je vous conseilles de fixer l’IP du Raspberry Pi (ou de mettre un DNS
maison pour ça). Ensuite, l’URL à utiliser ressemble à ça.
http://IP_DU_PI/sendsms.php?numero=0033612345678&texte=hello+word
Je vous conseille de redémarrer et de vérifier que ça fonctionne avant de passer à la dernière étape.
Sur le NAS
Sur le NAS, il faut se rendre dans le Panneau de configuration, dans les Notifications. Un onglet
permet de gérer les alertes par SMS. Il faut l’activer, et ensuite Ajouter un fournisseur de services
SMS. Choisissez un nom, ensuite une URL. L’URL doit contenir le message “Hello World”, un numéro
de téléphone ainsi qu’un utilisateur et un mot de passe. J’ai triché, en mettant n’importe quoi.
http://192.168.1.23/sendsms.php?numero=0033612345678&texte=hello+world&login=moi&pass=toto
http://www.journaldulapin.com/2017/03/17/sms-serveur-raspberry-pi/ 3/7
27/08/2017 Transformer un Raspberry Pi en serveur SMS | Le journal du lapin
http://www.journaldulapin.com/2017/03/17/sms-serveur-raspberry-pi/ 4/7
27/08/2017 Transformer un Raspberry Pi en serveur SMS | Le journal du lapin
Les paramètres
Enfin, il suffit de mettre les bons paramètres (login et mot de passe, ce que vous voulez) et un numéro
(n’oubliez pas le +), avant de tester.
Le résultat
C’est terminé, les notifications peuvent être utilisées (par exemple dans Surveillance Station). Bon, il
existe pas mal d’améliorations possibles, comme la réception de messages, la sauvegarde des
messages, l’authentification réelle, l’usage de SMS flash, etc. Mais je vous laisse chercher si le sujet
vous intéresse.
http://www.journaldulapin.com/2017/03/17/sms-serveur-raspberry-pi/ 5/7
27/08/2017 Transformer un Raspberry Pi en serveur SMS | Le journal du lapin
Tw eeter
Related
Honteux Bidouillage : le RaspCamera NoIR Ajouter du Wi-Fi et du Bluetooth à un Se connecter à Internet (et à un BBS) à
07/11/2013 Raspberry Pi Zero 300 bauds avec un modem acoustique
In "Apple" 01/09/2016 [MAJ]
In "Apple" 22/04/2014
In "Apple"
6 commentaires
DoD dit :
Bonjour.
Très très bon article. Je vais l’utiliser, à coup sur, avec un abonnement à € de chez free.
“j’ai ‘enfin’ terminé un projet qui peut être pratique ” m’a fait sourire.
Le 17/03/2017 à 08:10
Jpp dit :
Sinon vu qu’on a tous des smartphone, moi ce que j’ai fais c’est une adresse Gmail que pour les notifications, et configuré sur mon smartphone
avec notification directe, c’est aussi rapide qu’un SMS. Et je ne donne cette adresse à personne, donc pas de spam…
Par contre ça ne marche pas si il y a une coupure internet…
http://www.journaldulapin.com/2017/03/17/sms-serveur-raspberry-pi/ 6/7
27/08/2017 Transformer un Raspberry Pi en serveur SMS | Le journal du lapin
Le 17/03/2017 à 18:29
Baloo dit :
Une question bête : dans la partie SMS du Syno, on ne peut pas directement entrée les paramètres d’une carte Free ?
Le 18/03/2017 à 07:51
Le 18/03/2017 à 09:17
Charloux dit :
Il y a chez Free, une solution intégré qui permet de s’envoyer (uniquement à soi-même) un SMS à partir d’internet avec une URL (dont Token). Je
l’utilise pour les Alerte LeBonCoin. Mais la solution ici permet d’envoyer des messages à tous ces amis …
Le 20/03/2017 à 08:38
@EMFR68 dit :
Le 20/03/2017 à 14:02
http://www.journaldulapin.com/2017/03/17/sms-serveur-raspberry-pi/ 7/7