Page 2 sur 2

Re: Badge RC522

Posté : mar. 14 nov. 2017 19:10
par maxmed
après si tu veux juste que ton script s exécute en tache de fond sans bloquer le raspberry pi : il suffi de le lancer avec la commande python /monchemin d'acces/monscript.py & (le & a la fin permet l'execution en tache de fond)

Re: Badge RC522

Posté : mar. 14 nov. 2017 20:52
par estelle
maxmed a écrit :si je lit bien la doc https://github.com/ondryaso/pi-rc522
l'attente du badge est geré par

while True:
rdr.wait_for_tag()
(error, tag_type) = rdr.request()
if not error:
print("Tag detected")
(error, uid) = rdr.anticoll()
if not error:
print("UID: " + str(uid))
# Select Tag is required before Auth
if not rdr.select_tag(uid):
# Auth for block 10 (block 2 of sector 2) using default shipping key A
if not rdr.card_auth(rdr.auth_a, 10, [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], uid):
# This will print something like (False, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
print("Reading block 10: " + str(rdr.read(10)))
# Always stop crypto1 when done working
rdr.stop_crypto()

# Calls GPIO cleanup
rdr.cleanup()

autrement dit tu as une boucle true au depart et une autre dans le fichier RFID.py meme si tu quitte la première boucle la deuxième te renverra au même point non ?
Oui mais cela va générer une erreur qui peut alors être traité

Re: Badge RC522

Posté : mar. 14 nov. 2017 20:54
par estelle
maxmed a écrit :après si tu veux juste que ton script s exécute en tache de fond sans bloquer le raspberry pi : il suffi de le lancer avec la commande python /monchemin d'acces/monscript.py & (le & a la fin permet l'execution en tache de fond)
interessant
Donc on peut faire tourner 2 prog en //

Re: Badge RC522

Posté : mar. 14 nov. 2017 21:18
par maxmed
Oui tu peux aussi créer un service en tâche de fond : https://www.system-linux.eu/index.php?p ... ec-systemd

Qui s exécutera au besoin au démarrage du raspberry et que tu peux lancer ou arrêter via la librairie "subprocess"

Re: Badge RC522

Posté : mar. 14 nov. 2017 22:59
par estelle
Pour mon projet, j'ai besoin qu'au démarrage du PI, il me lance deux programmes en //

Es ce qu'il faut rajouter les deux commandes dans rc.local
un prg avec "&" à la fin pour qu'il tourne en tache de fond et l'autre sans "&" ?
A+
Merci pour l'aide

Re: Badge RC522

Posté : mer. 15 nov. 2017 17:33
par estelle
Ok cela fonctionne avec le "&"
Le lecteur de badge en tache de fond et un autre programme scrute (en autres) l'état de la led verte PIN 11
Mais cela ne fonctionne seulement si je suis connecté avec la console
Avec la commande "nohup" il passe en tache de fond et libère la console

Par contre je n'ai pas testé si l'on peut exécuter deux lancement de prg dans rc.local

C'est une bonne piste
Merci pour l'idée

Re: Badge RC522

Posté : mer. 15 nov. 2017 17:34
par estelle