3.1 KiB
Installation
# apt install gammu
Permet de manipuler et agir sur son téléphone cellulaire ou modem gsm.
https://wammu.eu/docs/manual/index.html
Mode client
Configuration
Exemple avec un Huawei E173 (Modem USB) :
$ gammu-config
Ouvrira un dialog interactif vous permettant de configurer un fichier par défaut pour le modem en question. Pour l'exemple le port est : /dev/ttyUSB0 et la conection : at19200 Ces éléments sont propre au device.
Cela va créer un .gammurc sur le /home de votre utilisateur présent, et qui récapitule exactement les mêmes choses sélectionné dans le dialog.
Exemple :
[gammu]
port = /dev/ttyUSB0
model =
connection = at19200
synchronizetime = yes
logfile =
logformat = nothing
use_locking =
gammuloc =
Utilisation
Envoyer un SMS :
echo "Hello Evolix!" | gammu sendsms TEXT "12345678"
Daemon
Installation
# apt install gammu-smsd
Configuration
Exemple dans /etc/gammu-smsd :
[gammu]
port = /dev/ttyUSB0
connection = at19200
[smsd]
PIN=1234 #Possiblement nécessaire si téléphone
service = files
logfile = /var/log/gammu-smsd
debuglevel = 1
RunOnReceive = /usr/local/bin/RunOnReceive.sh
#Pour certains modèle, la synchro et réception trop fréquente retourne de nombreuses erreurs -> donc augmentation des délais - à affiner
#http://stackoverflow.com/questions/29365148/gammu-stops-receiving-sms-aftar-a-while
ReceiveFrequency = 60
StatusFrequency = 60
CommTimeout = 60
SendTimeout = 60
LoopSleep = 20
CheckSecurity = 0
CheckBattery = 0
# Les répertoires (boites) où se trouveront les sms
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/
*path représente la SMSDir du daemon, comme pour une Maildir avec messages envoyés, ou ceux déjà reçu.
La directive RunOnReceive permet de lancer un script externe automatiquement lors d'une réception d'un nouveau message (existe aussi en RunOnSend). message
Utilisation
Ajout d'un nouveau message dans la queue :
https://wammu.eu/docs/manual/smsd/inject.html
$ echo "Hello Evolix!" | gammu-smsd-inject TEXT 12345678
Dans les logs gammu-smsd on pourra lire lors de l'envoie :
... lors de la réception :
Tue 2017/02/14 15:30:12 gammu-smsd[22917]: Read 1 messages
Tue 2017/02/14 15:30:12 gammu-smsd[22917]: Received IN20170214_152534_00_+3312345678_00.txt
Tue 2017/02/14 15:30:12 gammu-smsd[22933]: Starting run on receive: /usr/local/bin/RunOnReceive.sh IN20170214_152534_00_+3312345678_00.txt
RunOnReceive
https://wammu.eu/docs/manual/smsd/run.html
Exemple RunOnReceive.sh :
#!/bin/sh
echo "${SMS_1_NUMBER}: ${SMS_1_TEXT}" > /tmp/gammu-receive-fifo
exit 0
où /tmp/gammu-receive-fifo est une FIFO, où un programme externe (notification, ou autre) viendra lire, et aura automatiquement le contenu lors d'une nouvelle écriture.