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

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.

Hello !

import os
stat= os.system('service httpd status > /dev/null')
if stat == 0 :
     print ('Running')
else:
    print ('Not Running')

Je te laisse ensuite extrapoler selon tes besoins (si jamais une simple recherche google avec python status service linux et tu avais ta réponse :slight_smile: )

Merci pour ta réponse.

J’essaie de coder tout ça et je reviendrais sur le sujet si je trouve des problèmes.

Bonne journée.

Un petit détail qui m’a fait arracher les cheveux, il faut bien faire attention aux autorisations car sinon ca ne fonctionnera pas !
dans mon cas, je cherchais a executer du code en php, j’ai pu réaliser un projet que j’ai mené a bien . Ce dernier consistait a ouvrir mon portail via une page web sécurisé via un module radio 433 MHz (avec du php).
Mais tu peux toujours faire du exec(« sudo python ./monscriptpython.py ») en php

Le seul petit détail est celui que j’ai souligné au début, il faut modifier le « sudoers » pour avoir le droit d’executer du « sudo » a travers le servers apache.

le site qui m’avait bien aidé :
https://exain.wordpress.com/2007/11/24/execute-system-commands-via-php/