Romain2402
Posts: 2
Joined: Fri Jun 26, 2020 6:27 am

Contrôler Apache avec un interrupteur branché en GPIO - avec Python de préférence

Fri Jun 26, 2020 7:44 am

Bonjour,

Je suis débutant avec l'utilisation des GPIO sur le Raspberry Pi et je commence à m'intéresser au contrôle des entrées et sorties sur les ports GPIO par un programme python.

J'ai un Raspberry Pi 3 équipé d'1 Go de RAM et d'une carte SD de 64 Go sur laquelle j'ai installé Raspberry Pi OS. Sur le port GPIO 16 de mon Raspberry Pi, j'ai branché un petit interrupteur.

Ce que j'aimerais faire, c'est pouvoir contrôler mon service Apache grâce à cet interrupteur. Lorsque l'interrupteur est allumé, ça démarre mon service Apache et lorsque l'interrupteur est éteint, ça éteint mon service Apache. Le problème c'est que je n'arrive pas, grâce à un programme sous Python, à détecter si Apache est démarré ou non.

Pouvez-vous m'aider s'il vous plaît ?

Merci d'avance et bonne journée.

JumpZero
Posts: 1132
Joined: Thu Mar 28, 2013 7:35 pm
Location: 127.0.0.1

Re: Contrôler Apache avec un interrupteur branché en GPIO - avec Python de préférence

Fri Jun 26, 2020 8:17 am

Bjr,

il existe plusieurs manières de savoir si un programme tourne ou pas.
Sans connaitre Apache, j’utiliserai l'info "pidfile" généralement quand un programme tourne il crée dans /var/run/ un fichier contenant le numéro de son pid. Si le fichier n'existe pas le programme ne tourne pas.
Pour Apache voir ici https://httpd.apache.org/docs/trunk/fr/ ... ml#pidfile
--
Jmp0

Romain2402
Posts: 2
Joined: Fri Jun 26, 2020 6:27 am

Re: Contrôler Apache avec un interrupteur branché en GPIO - avec Python de préférence

Fri Jun 26, 2020 8:46 am

Merci beaucoup pour ta réponse qui est arrivée très rapidement !

J'y avais pas pensé :lol:

Tu connaîtrais une commande sous python qui permettrait de savoir si ce fichier existe stp ?

Merci.

JumpZero
Posts: 1132
Joined: Thu Mar 28, 2013 7:35 pm
Location: 127.0.0.1

Re: Contrôler Apache avec un interrupteur branché en GPIO - avec Python de préférence

Sun Jun 28, 2020 1:04 pm

Romain2402 wrote:
Fri Jun 26, 2020 8:46 am
Tu connaîtrais une commande sous python qui permettrait de savoir si ce fichier existe stp ?
Non, mais en cherchant rapidement sur le net j'ai trouvé ça:

Code: Select all

bob@penguin:~$ ls /var/run/agetty.reload 
/var/run/agetty.reload
bob@penguin:~$ python
Python 2.7.16 (default, Oct 10 2019, 22:02:15) 
[GCC 8.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from os import path
>>> path.exists("/var/run/agetty.reload")
True
>>> path.exists("/var/run/machin")
False
>>> 
bob@penguin:~$ 
Fonctionne aussi avec Python3

Return to “Français”