使用 arduino 控制 Ubuntu Gnome 16.04 屏幕锁定

使用 arduino 控制 Ubuntu Gnome 16.04 屏幕锁定

我正在尝试使用 arduino 和我的笔记本电脑(安装了 Ubuntu-gnome 16.04)通过 RFID 模块控制屏幕锁定(屏幕锁定/解锁由 RFID 卡控制)

在这种特殊情况下,我触发了 arduino 中的一些动作(刷 RFID 卡),它应该能够执行以下任务:

  1. 锁定屏幕。
  2. 解锁锁定的屏幕(显然不需要输入密码)。

我想完成第二项任务。

答案1

找到了解决办法。

让 python 脚本在后台运行,并使用serialpython 中的库连接到特定的串行端口。现在,serial write每当在 arduino 中执行所需的操作时,都会从 arduino 获取数据。读取 python 脚本中写入串行的值,并根据该值执行 shell 命令以锁定和解锁系统,如下所示:

gnome-screensaver-command -l(锁定)

gnome-screensaver-command -d(开锁)

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')

现在使用Serial.write()arduino 的功能,根据您的要求进行写入'l''u'在串行上进行写入(在我的情况下是 RFID Swipe)。

祝你黑客愉快 :-)

相关内容