Envoi de SMS par le RaspberryPi
Par Yannick le mardi, 3 septembre 2013, 23:12 - RaspberryPi/Arduino - Lien permanent
J'ai un projet où le Rasp doit envoyer des informations par SMS.
J'ai acheté 10€ une clé 3G d'occasion pour l'utiliser avec Gammu
- Informations sur la clé
$ dmesg | grep tty | grep usb
[ 1014.053491] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[ 1014.062066] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB1
[ 1014.069542] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2
$
$ lsusb | grep -i Huawei
Bus 001 Device 006: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
$
- Installation de Gammu
$ sudo apt-get install gammu
- Paramétrage
$ gammu-detect
; Configuration file generated by gammu-detect.
; Please check The Gammu Manual for more information.
[gammu]
device = /dev/ttyUSB0
name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile
connection = at
[gammu1]
device = /dev/ttyUSB1
name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile
connection = at
[gammu2]
device = /dev/ttyUSB2
name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile
connection = at
$
Dans /etc/gammurc on met juste:
[gammu]
device = /dev/ttyUSB0
name = Phone on USB serial port HUAWEI_Technology HUAWEI_Mobile
connection = at
$ gammu identify
Périphérique : /dev/ttyUSB0
Fabricant : Huawei
Modèle : unknown (K3565)
Firmware : 11.111.11.11.11
IMEI : 222222222222222
Si un code PIN est activé
$ gammu getsecuritystatus
Waiting for PIN.
$ gammu entersecuritycode PIN 1234
$ gammu getsecuritystatus
Nothing to enter.
$
- Envoi de SMS
$ gammu sendsms TEXT 0612345678 -text "Test 1"
If you want break, press Ctrl+C...
Sending SMS 1/1....waiting for network answer..OK, message reference=1
$
$ echo "Test 2" | gammu sendsms TEXT 0612345678
If you want break, press Ctrl+C...
Sending SMS 1/1....waiting for network answer..OK, message reference=2
$
- Divers
$ gammu getlocation
Latitude : 48.XXXXXX
Longitude : 2.XXXXXX
Range : 50000
Number of samples : 70
$
Gammu envoi la CellID sur le site web du projet open source OpenCellID (GET HTTP).
(Il faut un accès Internet dans ce cas, donc je ne pourrais l'utiliser)
- Conclusion
Nous avons donc pour 10€ de clé, et 2€ (voir 0€ ) de forfait mensuel une solution d'envoi de SMS illimité.
Pour toutes les infos, voir la doc .
Commentaires
Merci pour cet article, je me demandais justement comment faire la même chose.
Cependant, il y a quelque chose que je ne comprends pas :
tu dis, avec un forfait 2€ (ou 0€) ça marche. Ces forfaits n'ont pas la 3G, comment est-ce possible ?
Tu utilises bien la 3G pour envoyer des SMS non ?
Pas de 3G utilisé ici, mais la clé 3G est utilisée comme "interface" avec le PI.
Sinon, pour quelle utilité les SMS ? Alertes de prod ?
@Benjamin
Les SMS ne passent pas par la 3G.

> Tu utilises bien la 3G pour envoyer des SMS non ?
Non
On dit "clé 3G" car c'est son usage principal pour la plupart des gens... mais elle est utilisé dans mon cas comme un "modem GSM" qui supporte les SMS.
@Alexandre
> Sinon, pour quelle utilité les SMS ? Alertes de prod ?
Je ferais d'autres articles sur ce "projet" quand il sera finalisé et concrètisé
Ah yes, je ne savais pas que ça faisait modem GSM aussi ces choses là
Salut !
Merci pour ton article très bien.
J'ai une clé usb 3G, forfait free, lors de l'envoi du SMS, j'ai un code erreur 500 en retour
As tu eu la même chose au début ?
Merci !
++
@popom
Salut,
Moi aussi, il s'agit du forfait free a 0€ (ou 2€).
Non, jamais eu de problème d'erreur "code 500"...
C'est l'erreur que te renvoi Gammu au moment de l'envoi ?
Peut être un problème de configuration de Gammu pour ta clé ?
Salut,
Merci pour ton tuto, j'aimerai savoir ou as-tu acheté ta clé 3G ?
Merci
@Yacine
Je l'ai trouvé sur LeBonCoin
Salut,
Tu as branché la clé 3G directement sur le port USB du raspberry pi ? Je me pose cette question car je voudrais faire la même chose sans utiliser de hub USB alimenté.
Merci
Salut,
Oui la clé est branché sans utiliser de hub alimenté. Aucun pb.
Bonjour,
Tout d'abord merci pour le partage de connaissances via ce tuto.
J'ai une question concernant le dongle 3g. J'ai trouvé des Huawei K3565-Z (le "Z" en plus) sur ebay. Concernant le fonctionnement sous linux, ce modèle n'a donc pas besoin de drivers supplémentaires ?
Merci.
@HellChords
Salut,
La version Z de la K3565-Z n'est effectivement pas listée sur http://wammu.eu/phones/huawei/
Donc je ne sais pas répondre si cette version Z fonctionne ou non.
Bonjour,
très intéressant toutes ces infos, merci.
Je vais travailler sur un système déporté de mesures et d'alerte, la solution sms + gsm fera peut être bien l'affaire. Je n'y connais rien en téléphonie et donc dans ce genre de dongle, je suppose qu'il faut une carte type sim. La solution la + simple pour moi serait d'acheter des sms.
Est-ce possible?
Merci.
Bonjour,
Merci pour l'article qui a été à la base de mon développement.
J'ai eu un problème qui m'a pris beaucoup de temps:
1) une routine python qui lit régulièrement GetSMSStatus() et fait une lecture avec GetNextSMS() si un(des) nouveau(x) message(s) arrive(nt).
Elle marche nickel sauf s'il se passe 1/2-1h sans message reçu. dans ce cas le GetNextSMS() envoie Timeout (le GetSMSStatus passe bien).
Même problème avec gammu-smsd.
=> une fois l'erreur il faut que je redémarre l'interface /dev/bus/usb/xxx pour communiquer a nouveau.
Seule solution trouvée utiliser GetSMS() à la place de GetNextSMS().
J'utilise une clé Huawei E160E je ne sais pas si le problème est connu mais si ça peut aider, car attendre 1heure a chaque fois pour voir si une modif soft a solutionné le problème c'est long!!
Salut les gars,
ptite question quand dans dmesg le dongle est pas reconnu comme étant un ttyUSB. Si je le débranche et que je le rebranche sur le raspberry pi, celui-ci redémarre.
Une idée :/ ?
Oui pour ce dongle il faut une carte SIM.
Cela coute 10€ la sim puis 0€ ou 2€ par mois chez l'operateur "libre"
@fred
Merci pour ces infos.
Je n'avais pas eu besoin pour l'instant de "recevoir" des sms.. juste d'en envoyer.
Mais la v2 de mon projet va devoir aussi en recevoir.. je vais donc me pencher dessus.
@Pilume
Pour le problème de dmesg, il doit bien arriver (entre autre) en ttyUSBx.. sinon il y a un souci.
Mais le mien fait aussi "cdrom virtuel".. et carte micro sd.. donc il apparait en plusieurs trucs..
POur le problème du reboot, oui j'ai une idée.. vu que ca me faisait pareil !
J'ai posté la solution sur http://hab.uggy.org/index.php?article15/raspberry-pi-usb-hotplugging
Salut,
J'ai suivi ton tuto a la lettre et ca fonctionne, malheureusement pour moi pas très longtemps. En effet tout a fonctionné et lendemain impossible d'envoyer des SMS j'ai cette erreur :
"Aucune réponse dans le temps d'attente spécifié: Le téléphone n'est peut-être pas connecté."
La clef est bien évidemment connectée :
root@rasp:~# lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem
root@rasp:~#
Si je reboot, tout ce qui est dans le spool part, mais 15 minutes après rebellote : la clef ne réponds pas.
La clef est une Huawei E160E.
J'ai une erreur concernant ttyUSB0 dans mon dmesg:
root@rasp:~# dmesg|grep ttyUSB
[ 15.580612] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0
[ 15.620527] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB1
[ 15.658512] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2
[ 1684.399218] option1 ttyUSB0: option_instat_callback: error -2
root@rasp:~#
Je galère depuis hier et impossible de trouver ne serait ce qu'une piste. Vous auriez une idée ?
Merci d'avance,
Cordialement,
--
Guillaume T.
Le meme probleme avec la meme cle Huawei E160E.Poutant ça a marché a un moment mais la plus rien.
@ Guillaume T.
Tu as trouvé une solution ?
J'ai le même soucis...
Depuis 2015 !