RaspFR :: Forum

Forum de la communauté francophone de Raspberry PI.

Vous n'êtes pas identifié(e).

Annonce

Canal irc: #raspfr sur zeolia.net

#1 05-06-2016 16:42:21

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Gammu

Bonjour,
Je galère pour savoir comment faire fonctionner la ligne RunOnReceive de gammu-smsdrc.
J'ai écrit RunOnReceive = /var/spool/gammu/script.sh à la fin de gammu-smsdrc
   script.sh fonctionne très bien avec ./script.sh , mais ne se lance apparemment pas lors de la réception d'un sms.
Le script est le suivant
#!/bin/bash
gammu-smsd-inject TEXT 0612345678 -text "message04"


J'ai installé gammu et gammu-smsd sur:
Noyau RPi 2 de  "Jun  2 2016 ".
Version 4.4.12-V7 de Raspbian

Voici gammu-smsdrc:
# Configuration file for Gammu SMS Daemon

# Gammu library configuration, see gammurc(5)
[gammu]
# Please configure this!
port = /dev/ttyUSB0
connection = at
# Debugging
#logformat = textall

# SMSD configuration, see gammu-smsdrc(5)
[smsd]
service = files
logfile = syslog
# Increase for debugging information
debuglevel = 0


# Paths where messages are stored
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/

# à l'arrivée d'un sms
RunOnReceive = /var/spool/gammu/script.sh


Pour ce qui est de gammu-config
voici :

│ Current Gammu configuration           
                  │                                     
                  │  P Port                        (/dev/ttyUSB0)
                  │  C Connection              (at)
                  │  M Model                     ()
                  │  D Synchronize time     (yes)
                  │  F Log file                    ()
                  │  O Log format              (nothing)
                  │  L Use locking              ()
                  │  G Gammu localisation  ()
                  │  H Help                       
                  │  S Save                       
                  │                                   
                  │                                   
                  │        <Ok>            <Annuler>   


Quant-à gammu-detect voilà:

; Fichier de configuration généré par gammu-detect.
; Please check The Gammu Manual for more information.

[gammu]
device = /dev/ttyUSB0
name = Téléphone sur le port USB série ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHUAWEI_Mobile
connection = at

[gammu1]
device = /dev/ttyUSB1
name = Téléphone sur le port USB série ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHUAWEI_Mobile
connection = at

[gammu2]
device = /dev/ttyUSB2
name = Téléphone sur le port USB série ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿHUAWEI_Mobile
connection = at

opening socket: Aucun périphérique de ce type


Que me manque-t-il pour que cela fonctionne?
Merci.

Hors ligne

#2 05-06-2016 17:43:04

CrazyCat
Chat
Inscription : 14-01-2016
Messages : 415

Re : Gammu

Je ne connais pas gammu, mais déjà j'ai un doute sur l'endroit où tu as mis ton script: /var/spool/gammu/
Place le plutôt dans un répertoire du genre /usr/share/gammu/ ou un autre, mais pas dans le spool.

Ensuite, ce script est-il autorisé à être lancé par l'utilisateur qui exécute gammu ?

Hors ligne

#3 05-06-2016 19:41:28

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

Bonsoir,
Le script a le droit d'exécution pour tout le monde.
Je vais essayer de le mettre comme tu proposes.


C'est fait mais ça ne fonctionne pas.

Hors ligne

#4 05-06-2016 21:12:41

FBPY
Membre
Lieu : Nancy
Inscription : 05-09-2013
Messages : 115

Re : Gammu

Hello,

Dans  "/var/spool/gammu/script.sh" , par ex , je teste si une porte est ouverte/fermée et

selon j'envoie :

echo "la Porte de Garage est Ouverte " |  gammu-smsd-inject  TEXT +33612315  2>/dev/null

les chemins sont bons.

inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/

@+ F.B.

Hors ligne

#5 05-06-2016 22:05:36

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

Bonsoir,

Je suis au regret de ne pas pouvoir continuer cette semaine.
Je reprendrai le fil dans 8 jours.
Merci et à bientôt.

Hors ligne

#6 15-06-2016 16:18:20

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

Bonjour,
Me revoilà.
Je fais aussi une commande du relais, mais pour tester la réponse je ne faisais que l'envoi du message.
Dans le cas avec commande du relais, le relais est bien commandé, le sms reçu est bien dans inbox, mais rien dans sent.
Alors que si j'exécute en local le script le relais est commandé et le message envoyé.
???

Hors ligne

#7 15-06-2016 17:05:57

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

J'ai fini par trouver sur le syslog:

Jun 15 16:07:22 raspberry gammu-smsd[627]: Received IN20160615_160718_00_+36xxxxxxxx_00.txt
Jun 15 16:07:22 raspberry gammu-smsd[1315]: Starting run on receive: /usr/share/gammu/script.sh IN20160615_160718_00_+336xxxxxxxx_00.txt
JunJ 15 16:07:27 raspberry gammu-smsd[627]: Process failed with exit status 139

Je ne trouve pas ce que signifie cette erreur 139.

Hors ligne

#8 15-06-2016 21:13:57

FBPY
Membre
Lieu : Nancy
Inscription : 05-09-2013
Messages : 115

Re : Gammu

Salut,

Tu peux publier ton script.sh.

Il y a 4 rép :

-error
-inbox
-outbox
-sent
Quand tu reçois c'est dans "inbox"
tu envoies c'est en premier dans "outbox" puis si ok dans "sent" sinon dans "error"

Je crois que c'est le principe, moi j'utilise "mysql" .
Fais aussi un "ls" pour voir les permissions.

@+F.B.

Hors ligne

#9 16-06-2016 07:46:28

CrazyCat
Chat
Inscription : 14-01-2016
Messages : 415

Re : Gammu

Vu sur http://wammu.eu/docs/manual/gammu/ :
139 Phone module need to send another answer frame.

Je ne peux pas t'en dire plus, désolé

Hors ligne

#10 16-06-2016 08:43:45

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

Merci CrazyCat.
Bonjour FBPY,
Voici le script.sh que j'utilise pour tester

#!/bin/bash
gpio mode 4 out
gpio write 4 1
gammu-smsd-inject TEXT +336xxxxxxxx -text "message06"

J'ai aussi essayé avec ta commande :

#!/bin/bash
gpio mode 4 out
gpio write 4 1
echo "message06" | gammu-smsd-inject  TEXT +336xxxxxxxx 2>/dev/null

Hors ligne

#11 16-06-2016 09:10:39

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

J'ai oublié ls -l donne

-rwxr-xr-x 1 root root 112 juin  15 17:34 script.sh

Hors ligne

#12 16-06-2016 11:55:20

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

FBPY,
Je suis un vrai newbie, alors utiliser MySQL est un gros morceau pour moi.
Je sais l'installer mais c'est tout.
L'info que donne CrazyCat semble dire que la clé attend un autre format de message, serait-ce un accusé de réception qu'il doit donner avant de pouvoir envoyer un message?

Hors ligne

#13 23-06-2016 20:37:41

FBPY
Membre
Lieu : Nancy
Inscription : 05-09-2013
Messages : 115

Re : Gammu

Salut tu en es où?

Je viens d'essayer avec un dongle Huawei E220

J'installe tout avec l'user "root"
dans /root le ".gammurc"

[gammu]
port = /dev/ttyUSB0
model = at
connection = at
synchronizetime = yes
logfile = /var/log/gammu
logformat = nothing
use_locking =
gammuloc =

dans "/etc/gammu-smsdrc"

# Configuration file for Gammu SMS Daemon

# Gammu library configuration, see gammurc(5)
[gammu]
# Please configure this!
port = /dev/ttyUSB1
connection = at
# Debugging
#logformat = textall

# SMSD configuration, see gammu-smsdrc(5)
[smsd]
PIN = 0000
service = files
logfile = /var/log/gammu
# Increase for debugging information
debuglevel = 0

# Paths where messages are stored
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/

Exemple de la commande  "gammu-smsd-monitor"

gammu-smsd-monitor[5536]: Mapped POSIX RO shared memory at 0x76f76000
Client: Gammu 1.33.0 on Linux, kernel 4.1.19-v7+ (#858 SMP Tue Mar 15 15:56:00 GMT 2016) compiler GCC 4.6
PhoneID:
IMEI: 351827017352874
Sent: 8
Received: 11
Failed: 0
BatterPercent: 0
NetworkSignal: 39

@+FB

Hors ligne

#14 28-06-2016 16:03:33

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

Bonjour FBPY,
Voilà où j'en suis:
Si j'utilise RAaspiSMS avec la bonne syntaxe, tout fonctionne bien. Mais comme je trouve que la syntaxe du SMS est lourde je continue à chercher en n'installant que Gammu et Gammu-smsd.
Je mets ci-dessous l'intégralité de ce que j'ai fait:
Après avoir installé raspbian version 2016-05-10:
activation de root
Ensuite tout se fait en ligne de commande avec l'utilisateur root.
~# apt-get update
~# aptget-upgrade
~# apt-get install gammu
~# apt-get install gammu-smsd
~# nano .gammurc
[gammu]
port = /dev/ttyUSB0
model = at
connection = at
synchronizetime = yes
logfile = /var/log/gammu
logformat = nothing
use_locking =
gammuloc =

~# nano /etc/gammusmsdrc
# Configuration file for Gammu SMS Daemon

# Gammu library configuration, see gammurc(5)
[gammu]
# Please configure this!
port = /dev/ttyUSB0
connection = at
# Debugging
#logformat = textall

# SMSD configuration, see gammu-smsdrc(5)
[smsd]
service = files
logfile = var/log/gammu
# Increase for debugging information
  debuglevel = 0

# Paths where messages are stored
inboxpath = /var/spool/gammu/inbox/
outboxpath = /var/spool/gammu/outbox/
sentsmspath = /var/spool/gammu/sent/
errorsmspath = /var/spool/gammu/error/

RunOnReceive = /var/spool/gammu/scripts/reponse.sh



~# nano /var/spool/gammu/scripts/reponse.sh
#!/bin/bash

gammu-smsd-inject TEXT 0612345678 -text "test2"


~# chmod +x /var/spool/gammu/scripts/reponse.sh

si je fais :
~#  cd /var/spool/gammu/scripts
/var/spool/gammu/scripts# ./reponse.sh
j'ai sur le Raspi :
gammu-smsd-inject[1718]: Warning: No PIN code in /etc/gammu-smsdrc file
gammu-smsd-inject[1718]: Created outbox message OUTC20160628_152211_00_0612345678_sms0.smsbackup
Written message with ID /var/spool/gammu/outbox/OUTC20160628_152211_00_0612345678_sms0.smsbackup

Et alors je reçois le sms test2 sur mon téléphone et j'ai dans le log/gammu:

Tue 2016/06/28 15:22:38 gammu-smsd[557]: Message without SMSC, assuming you want to use the one from phone
Tue 2016/06/28 15:22:40 gammu-smsd[557]: Transmitted OUTC20160628_152211_00_0612345678_sms0.smsbackup (total: 1) to 0612345678, message reference 0x91


Si je lance un sms depuis mon téléphone vers le Raspi, je ne reçois rien en retour sur le téléphone et dans le gammu/log je trouve:

Tue 2016/06/28 15:28:28 gammu-smsd[557]: Read 1 messages
Tue 2016/06/28 15:28:28 gammu-smsd[557]: Received IN20160628_152823_00_+33612345678_00.txt
Tue 2016/06/28 15:28:28 gammu-smsd[1733]: Starting run on receive: /var/spool/gammu/reponse.sh IN20160628_152823_00_+33612345678_00.txt
Tue 2016/06/28 15:28:28 gammu-smsd[557]: Process failed with exit status 127

Pour le monitoring j'ai :
~# gammu-smsd-monitor
gammu-smsd-monitor[1619]: Warning: No PIN code in /etc/gammu-smsdrc file
gammu-smsd-monitor[1619]: Mapped POSIX RO shared memory at 0x76f46000
Client: Gammu 1.33.0 on Linux, kernel 4.4.11-v7+ (#888 SMP Mon May 23 20:10:33 BST 2016) compiler GCC 4.6
PhoneID:
IMEI: 351111111111111
Sent: 1
Received: 1
Failed: 0
BatterPercent: 0
NetworkSignal: 39

Hors ligne

#15 28-06-2016 19:35:53

FBPY
Membre
Lieu : Nancy
Inscription : 05-09-2013
Messages : 115

Re : Gammu

hello,
Je ne vois pas le code PIN dans ton gammu-smsrdc

# SMSD configuration, see gammu-smsdrc(5)
[smsd]
PIN = 0000
service = files

@+F.B.

Hors ligne

#16 29-06-2016 08:26:51

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

Bonjour,
C'est exact, car je l'ai supprimé sur ma carte sim. Serait-ce de la que vient le pb? Je vais en remettre un et le mettre aussi dans dans gammu-smsdrc, puis j'essaie.

Hors ligne

#17 30-06-2016 09:07:20

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

Bonjour,
J'ai essayé avec un code pin sans aucune différence. Je ne sais pas où trouver la solution.
C'est dur d'être un newbie...

Dernière modification par Ecureuil28 (30-06-2016 09:07:49)

Hors ligne

#18 30-06-2016 09:32:57

CrazyCat
Chat
Inscription : 14-01-2016
Messages : 415

Re : Gammu

Tiens, j'ai peut-être une idée stupide...

#!/bin/bash
gammu-smsd-inject TEXT 0612345678 -text "test2"

Essaye en mettant le chemin complet vers gammu-smsd-inject au lieu de te limiter à l'appel du binaire. Tu le trouveras en tapant: which gammu-smsd-inject.

Hors ligne

#19 30-06-2016 13:17:47

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

Test réalisé sans succès.
Maintenant j'ai comme log:
Thu 2016/06/30 13:07:57 gammu-smsd[605]: Read 1 messages
Thu 2016/06/30 13:07:57 gammu-smsd[605]: Received IN20160630_130754_00_+3361778$
Thu 2016/06/30 13:07:57 gammu-smsd[2324]: Starting run on receive: /var/spool/gammu/scripts/reponse.sh IN20160630_130754_00_+33617782562_00.txt
Thu 2016/06/30 13:07:57 gammu-smsd[605]: Process failed with exit status 2.

Dernière modification par Ecureuil28 (30-06-2016 13:19:39)

Hors ligne

#20 30-06-2016 16:48:49

FBPY
Membre
Lieu : Nancy
Inscription : 05-09-2013
Messages : 115

Re : Gammu

Hi,

Dans le "reponse.sh"  mets pour essayer

/bin/bash  /var/spool/gammu/testSms.sh &

Crées un script "testSms.sh"

#!/bin/bash
echo $(whoami)/$(date) >> /tmp/test_du_script
echo "la Porte de Garage est Ouverte " |  gammu-smsd-inject  TEXT +33614XXXXX  2>/dev/null

Lances "gammu-smsd-monitor" et le test.
@+F.B.

Hors ligne

#21 30-06-2016 20:42:26

Ecureuil28
Membre
Inscription : 17-05-2016
Messages : 24

Re : Gammu

Hi,
Voici mes deux fichiers:

/var/spool/gammu/scripts/reponse.sh
#!/bin/bash
/bin/bash  /var/spool/gammu/testsms.sh &

/var/spool/gammu/testsms.sh
#!/bin/bash
echo $(whoami)/$(date) >> /tmp/test_du_script
echo "la Porte de Garage est Ouverte " |  gammu-smsd-inject  TEXT +33617782562  2>/dev/null

et gammu-smsd-monitor:
gammu-smsd-monitor[10698]: Warning: No PIN code in /etc/gammu-smsdrc file
gammu-smsd-monitor[10698]: Failed to allocate shared memory segment!, Error 2: Aucun fichier ou dossier de ce type

Hors ligne

#22 01-07-2016 13:18:34

FBPY
Membre
Lieu : Nancy
Inscription : 05-09-2013
Messages : 115

Re : Gammu

hi

* Il ne trouve pas le code PIN

* Quelle taille mémoire pour le GPU?
J'ai Memory Split = 32

Tu as qq chose dans "/tmp/test_du_script" ?

@+F.B.

Dernière modification par FBPY (01-07-2016 13:28:09)

Hors ligne

#23 16-09-2016 18:34:33

roskad
Membre
Inscription : 16-09-2016
Messages : 2

Re : Gammu

Bonjour,

J'ai exactement le même problème.

Après de très nombreuses tentatives/recherches, seul le fait de changer le USER = GAMMU en USER = ROOT dans /etc/init.d/gammu-smsd et de mettre sudo -u GAMMU (ou sudo tout court) devant l'appel à gammu-smsd-inject fonctionne.

Mais cette solution n'étant pas l'idéal en terme de cloisonnement avez-vous trouvé une autre solution ?

Remy

PS : pour répondre au dernier message, le fait de faire un deuxième script à côté ne fonctionne pas non plus et $WHOAMI est vide (quelque soit la valeur de USER dans le lanceur du deamon).

Dernière modification par roskad (16-09-2016 18:35:31)

Hors ligne

#24 31-01-2017 19:07:06

omzozo
Membre
Inscription : 05-01-2017
Messages : 9

Re : Gammu

Salut les amis comment vous allez je pense que tout va bien.
Au fait je voulais des infos sur la passerelle Gammu. C'est à dire sa présentation, son mode de fonctionnement et son architecture.
Si vous pouvez aussi me rediriger vers des liens aussi c'est bien.

Merci de votre aide..

Hors ligne

Pied de page des forums