La comunicazione tra i dispositivi, così come l'hai esposta, è client-server-client.
Client è il lettore delle schede, server contiene la logica di elaborazione.
Il client legge la scheda (le info della scheda) e le invia al server. Il server le elabora e restituisce al client un segnale.

Il tuo script è quindi un server, in ascolto su un canale (tcp o udp, direi), che riceve messaggi, elabora gli stessi e restituisce un segnale al client sul medesimo socket.

Come implementarlo e che segnali arrivano e partono ovviamente dipende dal lettore, quindi devi recuperare i dettagli del protocollo client (o avere un ottimo debugger).

Propendo per un protocollo in modalità multicast, ovvero il client invia a un indirizzo multicast in udp/tcp, quindi il server dovrà essere in ascolto su un indirizzo multicast e su una porta specifica, ma è solo un'ipotesi.

:ciao: