…pour envoyer des SMS d’alertes, notifications, … Et aussi réceptions et traitements de SMS via script Python.

Paquet à installer :

  apt-get install gammu python-gammu eject

Fichiers à éditer pour fonctionner avec la clé GSM TP-LINK MA260 : /lib/udev/rules.d/40-usb_modeswitch.rules

  # TP-Link MA180
  ATTRS{idVendor}##### "2357", ATTRS{idProduct}"9000", RUN+="usb_modeswitch '%b/%k' -V 2357 -P 9000 -W -I -n -M   '5553424312345678000000000000061e000000000000000000000000000000' -2 '5553424312345678000000000000061b000000020000000000000000000000'"
  
  LABEL="modeswitch_rules_end"
  
  # TP-Link MA260
  ATTRS{idVendor}##### "2357", ATTRS{idProduct}"f000", RUN+="/usr/bin/eject -s %N"

Commande pour la prise en charge des nouvelles règles UDEV :

  udevadm control --reload-rules

Edition du fichier .gammurc `/root/.gammurc``

  vi .gammurc
[gammu]

port = /dev/ttyUSB2
model = at
connection = at
synchronizetime = yes
logfile =
logformat = nothing
use_locking =
gammuloc =

Dans le doute reboot…

  reboot

Pour tester un envoi de sms :

  echo "Tapez ici votre SMS" | gammu --sendsms TEXT 06********

Exemple de script d’envoi de sms :

#-*- coding:utf-8 -*-
import gammu

# Initialisation
sm = gammu.StateMachine()
sm.ReadConfig()
sm.Init()

# Entrer le code PIN si demandé
if sm.GetSecurityStatus() ######  'PIN':
        sm.EnterSecurityCode('PIN', '****')

# Données du message
message = {
        'Text': 'Message avec gammu et python !',
        'SMSC': {'Location': 1},
        'Number': '+33000000000'
}

# Envoi du message
sm.SendSMS(message)

commandes gammu utiles :

  gammu entersecuritycode PIN ****
  gammu --identify
  gammu --getdatetime
  gammu --getsecuritystatus