Page 1 sur 1

need help--- éteindre son raspberry via php ou html

Posté : lun. 3 août 2015 09:53
par bubu77
Bonjour,

Je suis assez novice sur le raspberry.
Le mien est relié à ma box domotique eedomus. Grace à plusieurs tutos et quelques modifications perso, je mesure le volume d'eau de ma cuve de récupération d'eau de pluie par ultrason sur le raspberry et j'envoie l'info sur ma box eedomus. En parallele, je controle aussi 5 électrovannes pour mon arrosage et différents capteurs méteo. Le tout est controlé par ma box eedomus.
Le probleme, c'est que je coupe l'alimentation du raspberry "en sauvage" par l'intermédiare d'une prise domotisée.... et au bout d'un moment, ca fini par corrompre mon disque de Raspberry. (en effet, je ne souhaite pas laisser mon raspberry allumer H24 qui est dans le jardin)

Je voudrais donc pouvoir éteindre propremement mon raspberry via une commande html...
J'ai donc pensé à un petit script .php hébergé sur le raspberry que je pourrais déclencher à distance... sauf que je n'y arrive pas (je suppose que c'est super simple mais mon niveau en programmation est à ZERO)

Est ce quelqu'un pourrait m'aider svp?

Merci

Re: need help--- éteindre son raspberry via php ou html

Posté : lun. 3 août 2015 10:48
par mikebzh44
Si tu veux planifier l'extinction de ton RPi, pourquoi ne pas passer par la crontab ?

Je suppose que ton RPi s'allume automatiquement via ta prise domotisée. Quelle fréquence ? Combien de temps reste-il allumé ?

Tu peux nous donner un scénario de fonctionnement ?

Si tas prise domotisée est éteinte tous les jours à 23:00, tu planifies dans la crontab de root, un arrêt propre à 22:50 (il ne met pas 10 minutes à s'éteindre).

Re: need help--- éteindre son raspberry via php ou html

Posté : lun. 3 août 2015 17:20
par phdenaujan
Bonjour, sinon une page contenant :

Code : Tout sélectionner

<?php
   exec('sudo halt');
?>
peut suffire. Il sera toutefois nécessaire d'ajouter les droit à www-data dans le fichier visudo :

Code : Tout sélectionner

www-data ALL=(ALL) NOPASSWD: /sbin/halt
après les lignes
# User privilege specification
root ALL=(ALL:ALL) ALL

Re: need help--- éteindre son raspberry via php ou html

Posté : lun. 3 août 2015 18:38
par bubu77
Merci beaucoup, je vais tenter ca!

Concernant l'allumage du raspberry, je l'allume 1 fois par jour pour avoir une info de:
-volume d'eau
-humidité du sol
-potentiellement lancer l'arrosage... et c'est ce "potentiellement" qui m'empeche de programmer un arret constant...

thks

Re: need help--- éteindre son raspberry via php ou html

Posté : lun. 3 août 2015 18:41
par bubu77
phdenaujan a écrit :Bonjour, sinon une page contenant :

Code : Tout sélectionner

<?php
   exec('sudo halt');
?>
peut suffire. Il sera toutefois nécessaire d'ajouter les droit à www-data dans le fichier visudo :

Code : Tout sélectionner

www-data ALL=(ALL) NOPASSWD: /sbin/halt
après les lignes
# User privilege specification
root ALL=(ALL:ALL) ALL

Si j'ai bien compris, ceci retire l'obligation d'avoir le password pour effectuer la commande "halt". Et toutes les autres fonctions demanderont encore le password?

Re: need help--- éteindre son raspberry via php ou html

Posté : lun. 3 août 2015 19:03
par phdenaujan
Cela autorise www-data et uniquement lui à utiliser cette commande et uniquement celle-ci. Attention toutefois quand tu modifies le fichier visudo. S'il est corrompu, il se peut que tu ne puisses plus redémarrer. Fais une sauvegarde de ta carte avant d'y bidouiller.

Re: need help--- éteindre son raspberry via php ou html

Posté : lun. 3 août 2015 19:57
par domi
phdenaujan a écrit :Cela autorise www-data et uniquement lui à utiliser cette commande et uniquement celle-ci. Attention toutefois quand tu modifies le fichier visudo. S'il est corrompu, il se peut que tu ne puisses plus redémarrer. Fais une sauvegarde de ta carte avant d'y bidouiller.
Pour éviter cela, il faut mieux pour modifier le "sudoes" utiliser la commande

Code : Tout sélectionner

sudo visudo
Au moment de l'enregistrement une alerte demandera confirmation d'enregistrer si une erreur est détectée.
En cas d'erreur ne pas enregistrer !!!!

Par sécurité donner un mot de passe à l'utilisateur "root", car en cas d'erreur, le sudo ne fonctionnera plus, et donc plus moyen de le corriger, même si on a fait une sauvegarde.

Re: need help--- éteindre son raspberry via php ou html

Posté : lun. 3 août 2015 22:15
par bubu77
Ca marche!!!!

Merci beaucoup!

Tip top