Fichier /etc/rc.local
Editer le fichier avec la commande (ajouter en fin de fichier AVANT exit 0
sudo nano /etc/rc.local
#INPUTS echo "24" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio24/direction echo "25" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio25/direction echo "26" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio26/direction echo "27" > /sys/class/gpio/export & sleep 2 echo in > /sys/class/gpio/gpio27/direction
<note important> Pour la SVXCard version 1.0 (2015) : Le masse en entrée de l'optocoupleur est indépendante de la masse de la platine. Vous devez donc alimenter vos entrées à l'extérieure de la platine. Il vous faudra alors IMPERATIVEMENT brancher votre entrée sur la broche qui n'est pas au potentiel de +5V (carte).
Une seconde possibilité est d'utiliser le +5V distribué pour alimenter le contact externe. Dans ce cas, il vous faudra raccorder la pin 9 ou 10 du connecteurs J26 (sérigraphie OPTO INPUTS) au plan de masse. Dans ce cas, l'optocouplage n'est plus assurée puisque l'alimentation est fourni par la carte. </note>
Le code python suivant vous permet de vérifier les états de chacune des 4 entrées.
sudo nano test-input.py
#!/usr/bin/python import time from RPi import GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(22, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(37, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) GPIO.setup(13, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) while True: inputval1 = GPIO.input(18) inputval2 = GPIO.input(22) inputval3 = GPIO.input(37) inputval4 = GPIO.input(13) print "INPUT1="+str(inputval1) + ",INPUT2="+str(inputval2) + ",INPUT3="+str(inputval3) + ",INPUT4="+str(inputval4) time.sleep(1)
Les essais se lancent avec la commande
sudo python test-input.py
Voici le résultat des essais pour les voies de 1 à 4.
Pour sortie du programme : CTRL-C