RaspFR :: Forum

Forum de la communauté francophone de Raspberry PI.

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

Annonce

Canal irc: #raspfr sur zeolia.net

#1 10-01-2017 18:37:15

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

[Scindage] RaspiSMS et exécution de commande

bonjour comment vous allez, j'avez un souci concernant ma Raspberry Pi, plus particulièrement avec l'outil RaspiSMS.
En effet je veux controler mon Raspberry Pi à distance, c'est à dire en lui envoyant des commandes SMS. Actuellement, je parviens à envoyer ces commandes SMS, et RaspiSMS reconnait ces SMS comme des commandes, ce qui est génial, Mais mon souci en est qu'il exécute pas ces commandes SMS comme je le veux, c'est à dire, y'a aucune réaction de la Raspberry Pi.

Par exemple si j'envoie une commande SMS: [shutdown:][login:*****@example.fr][password:*****] , il n'exécute pas la commande shutdown.

Quelqu'un à une idée pour me faire avancer?

Hors ligne

#2 11-01-2017 13:22:32

wared
Membre
Inscription : 25-10-2013
Messages : 81

Re : [Scindage] RaspiSMS et exécution de commande

salut,

tu utilises quoi comme login pour passer la commande?

sachant que pi n'a pas les droits sur ce genre de commande... un sudo dans la commande pourrait fonctionner, à tester

Hors ligne

#3 11-01-2017 19:39:20

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

Re : [Scindage] RaspiSMS et exécution de commande

Salut Wared,
Au fait ce qu'il a cripté (*****@example.fr), c'est le login. Les étoiles c'est admin.

En effet, le message je l'envoie à partir de mon téléphone. J'ai un script dans lequel j'ai mis shutdown et reboot, de ce fait si je lui envoie un SMS comportant ces deux actions (shutdown ou reboot) il doit les exécuter. Mais malheureusement pas de réponse de la part du Pi.

Merci

Hors ligne

#4 11-01-2017 20:10:10

m@rco12
Membre
Lieu : val d'oise
Inscription : 04-08-2015
Messages : 369

Re : [Scindage] RaspiSMS et exécution de commande

oui, mais la commande shutdown doit etre donnée avec sudo

Hors ligne

#5 12-01-2017 13:48:20

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

Re : [Scindage] RaspiSMS et exécution de commande

Ok.

Si j'ai bien compris, le sudo doit être dans SMS, (par exemple si je dois envoyer un SMS comme shutdown je dois mettre sudo shutdown),ou bien je dois mettre le sudo dans le script?

Merci de m'éclaircir.

Hors ligne

#6 12-01-2017 14:27:31

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

Re : [Scindage] RaspiSMS et exécution de commande

Tu le mets dans le script.
Et bien entendu, ton utilisateur qui exécute le script doit pouvoir exécuter le sudo shutdown sans avoir à entrer le mot de passe.
Je rappelle que la syntaxe précise de shutdown est:

shutdown -h now

Et que pour le reboot, il vaut mieux utiliser:

shutdown -r now

Dernier point de détail: lorsqu'on fait un script qui sera lancé par un système automatique (crontab ou gammu, par exemple), les paths utilisateurs ne sont pas chargés (ils se chargent lors d'un login), il faut donc autant que possible utiliser le chemin complet vers l'exécutable.
Ton script devra donc contenir une ligne de la forme:

/usr/bin/sudo /sbin/shutdown -h now

Hors ligne

#7 12-01-2017 18:38:51

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

Re : [Scindage] RaspiSMS et exécution de commande

Génial ça à marcher comme je l'avais souhaité.
Je parviens à envoyer des commandes SMS à mon Pi, et celui ci les exécute très bien.

c'est avec la méthode qu' à proposer Crazycat:

Tu le mets dans le script.
Et bien entendu, ton utilisateur qui exécute le script doit pouvoir exécuter le sudo shutdown sans avoir à entrer le mot de passe.
Je rappelle que la syntaxe précise de shutdown est:
shutdown -h now
Et que pour le reboot, il vaut mieux utiliser:
shutdown -r now
Dernier point de détail: lorsqu'on fait un script qui sera lancé par un système automatique (crontab ou gammu, par exemple), les paths utilisateurs ne sont pas chargés (ils se chargent lors d'un login), il faut donc autant que possible utiliser le chemin complet vers l'exécutable.
Ton script devra donc contenir une ligne de la forme:
/usr/bin/sudo /sbin/shutdown -h now

Vraiment Merci beaucoup à tout le groupe de l'attention que vous avez porté à mes problèmes.

Dernière modification par omzozo (12-01-2017 22:50:49)

Hors ligne

#8 12-01-2017 20:32:54

m@rco12
Membre
Lieu : val d'oise
Inscription : 04-08-2015
Messages : 369

Re : [Scindage] RaspiSMS et exécution de commande

tant mieux !

Hors ligne

#9 18-01-2017 13:48:36

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

Re : [Scindage] RaspiSMS et exécution de commande

Bonjour comment vous allez, je pense que tout va bien.

Au fait, concernant toujours la manipulation de mon Raspberry à distance par sms (c'est à dire en utilisant par exemple la commande SMS à savoir shutdown ou reboot), je voulais en lançant le SMS au Raspberry, ce dernier m'envoie un SMS de retour me disant que: si c'est Reboot " Votre Rapberry vient de redémarrer" ou bien si c'est shutdown "Votre Raspberry est éteint".

Est ce que cela est possible?

Vos idées seront les bien venues .

Hors ligne

#10 18-01-2017 18:18:20

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

Re : [Scindage] RaspiSMS et exécution de commande

Il faut te tourner vers le rc.d: http://www.commentcamarche.net/faq/1864 … t-d-ubuntu

Note que pour le reboot, c'est dans rc6.d qu'il faut placer le script.

Certains me diront qu'on aurait pu utiliser crontab avec @reboot, mais non car je ne suis pas certain du moment auquel ça s'exécute, et si c'est trop tôt, ça ne marchera pas.

Hors ligne

#11 20-01-2017 12:48:48

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

Re : [Scindage] RaspiSMS et exécution de commande

Salut CrazyCat est ce que vous pouvez être plus explicite car j'ai pas bien compris votre réponse.

Jusqu'à présent je ne parviens pas à franchir cette étape c'est à dire, permettre à mon Raspberry de me notifier qu'il vient de redémarrer (si c'est la commande reboot qui est exécutée) ou bien qu'il avait été éteint( si c'est le shutdown  qui était lancée).

Au fait ce que je veut faire c'est de lui envoyer un SMS (comportant shutdown ou reboot vu que j'ai déja créé un script pour l'exécution de ces deux commandes), maintenant une fois le SMS est lancé au Raspberry, cet dernier m'envoie un SMS retour me disant qu'il va redémarrer ou bien qu'il va s'éteindre.

Bien-sur ces phrases de notifications "il va redémarrer ou bien qu'il va s'éteindre" seront mises dans le script, mais comment les intégrer pour que le script puisse les prendre en compte.

Dernière modification par omzozo (20-01-2017 12:53:47)

Hors ligne

#12 21-01-2017 12:41:42

wared
Membre
Inscription : 25-10-2013
Messages : 81

Re : [Scindage] RaspiSMS et exécution de commande

alors pouqrquoi dans ton sms ne pas faire appel à un script plutot qu'a une commande

ca te permettras de chainer plusieurs commandes : envoi sms > retour sms "je vais redemarrer" > reboot >retour sms "demarré"

Hors ligne

#13 21-01-2017 14:54:47

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

Re : [Scindage] RaspiSMS et exécution de commande

Je vais essayer d'être plus explicite. Les répertoires rcX.d sont des répertoires particuliers du système, qui contiennent des scripts qui sont lancés en fonction des "run-level", ce qui correspond à l'état de la machine.

Pour lancer un script lorsque la RPi reçoit un ordre de reboot, il faut placer ce script dans le répertoire /etc/rc6.d/, 6 étant l'initialisation d'un reboot.
Pour l'arrêt, il faut mettre le script dans /etc/rc0.d/, 0 étant l'ordre d'arrêt.
Pour la fin d'un démarrage, je pense que /etc/rc3.d/ est le plus approprié (système chargé en mode multi-utilisateurs, tous les systèmes sont actifs, dont le réseau et les périphériques).

Tu auras plus d'infos à propos des Run-levels sur https://fr.wikipedia.org/wiki/Run_level

Hors ligne

Pied de page des forums