私はラップトップ(Ubuntu-gnome 16.04がインストールされている)でarduinoを使用して、RFIDモジュールを使用して画面ロックを制御しようとしています(画面ロック/ロック解除はRFIDカードによって制御されます)
この特定のケースでは、arduinoで何らかのアクション(RFIDカードのスワイプ)をトリガーし、次のタスクを実行できるようにする必要があります。
タスク番号2を完了させたい。
方法を考え出した。
pythonバックグラウンドで実行中のスクリプトを保持し、特定のシリアルポートに接続するためにpythonでserial
ライブラリを使用します。今すぐ_serial write
_ arduinoで目的のアクションが実行されるたびにarduinoからのデータ。pythonスクリプトでシリアルに書き込まれた値を読み取り、その値に基づいてシステムをロックおよびロック解除するシェルコマンドを実行します。次のように:
_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')
_
ArduinoのSerial.write()
関数を使用して、要件に基づいてシリアルに_'l'
_または_'u'
_を記述します(私の場合のように、RFIDスワイプ)。
ハッピーハッキング:-)