介绍
ble-lock-Session 是一个简单的 python 工具,它使用蓝牙根据设备(例如智能手机或智能手表)的接近程度自动锁定或解锁计算机。它的创建是为了给日常计算机使用带来一定程度的自动化,以最少的硬件要求轻松保护您的环境。
在本文中,我们将研究 ble-lock-session 的工作原理、其底层设计,以及一些可以将其功能扩展到基本锁定/解锁机制之外的有趣方法。
什么是 ble-lock-session?
ble-lock-session 是一个基于 python 的工具,它与系统的蓝牙堆栈交互,以确定附近是否有配对设备。根据此信息,它可以自动运行命令来锁定或解锁您的会话。
目标很简单:当检测到您的设备(如手机)时,计算机会解锁,当设备不再处于范围内时,计算机会自行锁定。
它是如何运作的?
以下是 ble-lock-session 工作原理的简要说明:
-
配置:该工具从配置文件(config.ini)中读取设置,其中包括目标蓝牙设备地址、锁定和解锁命令以及检查设备存在的时间间隔。
-
蓝牙监控:使用python蓝牙库,定期扫描指定的蓝牙设备。如果设备存在,则执行解锁命令;如果没有,则会触发锁定命令。
-
可自定义命令:灵活性来自于能够配置在检测到或丢失蓝牙设备时执行的命令。这意味着您不仅限于锁定或解锁 – 可以使用任何命令,使其高度可定制。
这是一个典型的用例:
但可能性远不止于此。
超越会话锁定/解锁
ble-lock-session 的最初目的是根据邻近度保护您的计算机,但由于它运行 shell 命令,您可以将它用于适合您的工作流程或生活方式的一系列任务。
扩展用途的示例
这里有一些使用ble-lock-session的创意方法:
- 音乐播放控制:离开时暂停音乐,返回时恢复音乐:
lock_cmd = "playerctl pause" unlock_cmd = "playerctl play"
- 休假时禁用 wifi/以太网:离开办公桌时禁用网络接口,减少干扰或节省能源:
lock_cmd = "nmcli radio wifi off" unlock_cmd = "nmcli radio wifi on"
ble-lock-session 的多功能性来自于能够使用任何 shell 命令,使其成为构建适合您独特需求的定制自动化工作流程的强大工具。
快速入门
要开始使用 ble-lock-session,请克隆 github 存储库并安装所需的依赖项:
扫描您的蓝牙设备并配置命令:
./ble-lock-session.py --scan
配置完成后,启动锁定/解锁功能:
./ble-lock-session.py --start
您还可以交互式更新配置:
./ble-lock-session.py --config
最后的想法
ble-lock-session 是一个简单的工具,只需最少的设置即可将自动化带入您的日常工作流程。通过利用蓝牙设备的邻近性,您可以无缝锁定和解锁计算机以及执行更多操作。
这种灵活性非常适合那些喜欢尝试自动化的人。无论您使用它来控制音乐、管理网络还是任何其他创意场景,ble-lock-session 都可以根据您的需求进行调整。
尝试一下,看看您能想出什么样的独特自动化。
有用的链接
- github 存储库
- python 蓝牙文档