Un peu de python

Pour finaliser mon média center multi fonctionalite ( dont je ferais un tuto complet si j’ai le courage ), j’aimerais savoir si il est possible de lancer Kodi via un GPIO.

Le pourquoi ? Mon média center reçois également une entrée audio Bluetooth qui fonctionne sur le bureau raspbian, donc pas de librelec ou autres.

J’ai monté donc mon RPI et mon Hiffy Berry dans une habillage en lego et le tout ventilé ( avec un peu de deco aussi :stuck_out_tongue: ) du coup j.aimerais pouvoir y mettre un interrupteur activant un gpio ( ou autre programme )

Je vais commencer le python sous peu d.ici de le maîtriser si quelqu’un peut m.aider !

Merci à vous et bon week-end (:

Salut @Charles

Dans l’idée de base, tu assignes une action à un bouton et c’est bon.
Donc si tu assignes kodi sur bouton 1 = tu lances kodi
Si tu assignes poweroff sur bouton 2 = tu éteins
Si tu assignes reboot sur bouton 3 = tu redémarres
Et caetera
Il faut lancer le script général au lancement pour activer les boutons

++

Yep !

Bah ca oui c’est ce que je souhaite faire, mais c’est plutot la mise en oeuvre qui me pose probleme…

J’ai la structure, ce qui me manque c’st la traduction en pyhton !

hello,

ce programme attends l’appuie sur le bouton la première fois il démarre un truc la deuxième il l’arrête et la troisième il redémarre et ainsi de suite …

ça pourrait commencer comme ça :

#!/usr/bin/env python3
# coding: utf-8
import RPi.GPIO as GPIO
import os     # pour les démarrage et arrêt
import time    # pour une éventuelle temporisation par time.sleep()
    
GPIO.setwarnings(False) 
GPIO.setmode(GPIO.BOARD) # Use physical pin numbering
GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) # Set pin 16 to be an input pin and set initial value to be pulled low (off)

flag =0
while True: # Run forever
   if GPIO.input(16) == GPIO.HIGH:
      print("Button was pushed!")
      if flag == 0:
         # démarrage du programme 
         flag = 1
      else:
         # arrêt du programme
         flag = 0

avec le montage que tu trouveras là :

et en ajoutant les démarrage et arrêt de tes jobs comme c’est expliqué là :

NB: c’est une base ! il manque forcement des trucs ( gestion d’erreur, temporisation, etc.)