Descobriu uma saída.
Mantenha um script python sendo executado em segundo plano e use a biblioteca serial
em python para conectar-se a uma porta serial específica. Agora serial write
os dados do arduino sempre que a ação desejada for executada no arduino. Leia o valor escrito em serial no script python e, com base nesse valor, execute o comando shell para bloquear e desbloquear o sistema, que é o seguinte:
gnome-screensaver-command -l
(para bloquear)
gnome-screensaver-command -d
(para desbloquear)
Código Python:
import serial, os
port_name = '/dev/ttyACM0' # Change accordingly
arduino = serial.Serial(port_name, 9600)
while True:
word = str(arduino.readline())
if word == 'l': # Lock the screen
os.system('gnome-screensaver-command -l')
elif word == 'u': # Unlock the screen
os.system('gnome-screensaver-command -d')
Agora, usando a função Serial.write()
do arduino, escreva 'l'
ou 'u'
na série com base em suas necessidades (RFID Passe como no meu caso).
Happy Hacking: -)