Python-Gammu est une bibliothèque python qui nous offre l'ensemble des objets et méthodes disponible dans Gammu. Nous pouvons ainsi créer des scripts à partir de ces éléments et communiquer avec notre modem
2. Bonjour cher(e)s linuxien(ne)s, je vous propose ce petit tutoriel qui nous permettra
d'envoyer des messages longs (SMS) avec python-gammu ! Il existe déjà plusieurs
tutoriels sur le sujet disponible sur les liens suivants :
➢ Florent Youzan : http://fyouzan.ci/index.php?post/2014/06/28/BootCamp-
Ouaga-installation-et-configuration-d-un-serveur-SMS-Gammu
➢ Fabrice Zonhahi : http://fr.slideshare.net/laSerenite489/serveur-sms
Avec ces 2 tutoriels, vous serez en mesure de concevoir votre application SMS et faire
profiter votre communauté. Nous avions deux possibilités lors de la création des
applications SMS :
➢ Écrire un script qui utilise Gammu en ligne de commande, c'est à dire que les
messages envoyés se feront à l'aide la commande : echo "Tapez ici votre SMS" |
gammu --sendsms TEXT +225XXXXXX
➢ Passer par l'interface web du logiciel libre Kalkun en insérant dans votre message
dans le table outbox de la base de données de Kalkun
Quelques soient le moyen utilisé, un problème survient toujours : le message envoyé ne
doit pas dépasser les 160 caractères( 1 SMS) sinon les caractères en plus sont retirés lors
de la réception du message. Ceci était jusque là un véritable problème au cours de
l'utilisation des services proposés par les applications SMS
Je vous propose donc une solution afin de remédier à ce problème qui est :
PYTHON-GAMMU
NB : Veuillez consulter les tutoriels plus haut pour les configurations de base
(installation de gammu, wammu, etc … ainsi que la configuration des ports. Ces
configurations sont indispensables pour la réalisation de ce tutoriel)
Python-Gammu est une bibliothèque python qui nous offre l'ensemble des objets et
méthodes disponible dans Gammu. Nous pouvons ainsi créer des scripts à partir de ces
éléments et communiquer avec notre modem
Pour l'installer, il suffit juste d’exécuter la commande :
sudo apt-get install python-gammu
3. Et voilà, le tour est joué . Vous pouvez commencer à déployer votre solution.
On va ensuit créer un fichier python qui contiendra notre script :
sudo touch longsms.py && sudo nano longsms.py
Éditez le comme suit :
# -*- coding: utf-8 -*-
#import des bibliothèques
import gammu
import sys
# Creation d'un object communiquant avec le téléphone
state_machine = gammu.StateMachine()
state_machine.ReadConfig()
state_machine.Init()
#mettre cette ligne quand vous avez un code PIN sur votre Carte SIM
if state_machine.GetSecurityStatus() == 'PIN':
state_machine.EnterSecurityCode('PIN', '0000') # mon code PIN est 0000
smsinfo = {
'Class': -1,
'Unicode': False,
'Entries': [
{
'ID': 'ConcatenatedTextLong',
'Buffer':
'Je suis Josué Romba et '
'j'adore #Linux et les #LogicielLibre '
' je suis le cofondateur de l'application SMS Edias'
' et de la CivikBox. Je suis aussi '
'Vice Chargé de la Communication au FabLab Ayiyikoh'
' #BeFree #BeOpen '
}
]}
#Le SMS est encodé
encoded = gammu.EncodeSMS(smsinfo)
4. # Envoie du message
for message in encoded:
message['SMSC'] = {'Location': 1}
message['Number'] = "+22557088382" #numero destinataire
state_machine.SendSMS(message)
5. Une fois cela fait, nous executons simplement notre fichier et le tour est joué :
sudo python longsms,py
Dans un autre tutoriel, nous monterons entièrement une app sms en python , c'est à dire
un script qui après avoir lu et traité le message, renvoie un sms long au destinateur
Merci !!!
BeOpen , BeFree !!!
6. JOSUÉ ROMBA
Facebook : Josué Romba
Twitter : @josueromba
Blog : Le Blog de Josué Romba