Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

#1

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.
Répondre
#2

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 ?
Répondre
#3

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.
Répondre
#4

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.
Répondre
#5

Bonsoir,

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

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é.
???
Répondre
#7

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.
Répondre
#8

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.
Répondre
#9

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é
Répondre
#10

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
Répondre
#11

J'ai oublié ls -l donne

-rwxr-xr-x 1 root root 112 juin 15 17:34 script.sh
Répondre
#12

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?
Répondre
#13

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"
Citation :[gammu]
port = /dev/ttyUSB0
model = at
connection = at
synchronizetime = yes
logfile = /var/log/gammu
logformat = nothing
use_locking =
gammuloc =

dans "/etc/gammu-smsdrc"
Citation :# 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
Répondre
#14

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
Répondre
#15

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

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

@+F.B.
Répondre
#16

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.
Répondre
#17

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...
Répondre
#18

Tiens, j'ai peut-être une idée stupide...
Code :
#!/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.
Répondre
#19

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.
Répondre
#20

Hi,

Dans le "reponse.sh" mets pour essayer
Citation :/bin/bash /var/spool/gammu/testSms.sh &

Crées un script "testSms.sh"
Citation :#!/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.
Répondre
#21

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
Répondre
#22

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.
Répondre
#23

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).
Répondre
#24

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..
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)