一直以来,没有找到特别好的方案来远程唤醒我的macbook,并解锁屏幕。
查看苹果的官方文档,macbook支持局域网内WOL
唤醒,还发一个有趣的项目BLEUnlock,他可以用蓝牙来唤醒mac,正好我有一个ESP32
设备,就有了一个想法,我可以用IOT MQTT
和ESP32
进行通信,让ESP32
进行WOL
唤醒,或者蓝牙广播,来唤醒我的macbook
,再写一个服务,运行在mac
上,用于自动自动输入密码,来解锁屏幕。总体设计如下
一共分为三个服务,
- clank 用fluuter 写的客户端,用于远程操作
- rotot-srv运行在macbook上,用于解锁屏幕
- py-robot运行在ESP32上进行消息监听和发送指令
robot-srv
一个很小的服务,跑在mac
上,用于在锁屏状态下,输入密码,暴露出两个接口
/screen/pwd
用于保存密码,会把原密码进行加密后保存,所以不用担心安全问题/unlock
是用于在锁屏状态下,输入密码进行登录的接口
需要把py-robot
烧录到ESP32
内,py-robot
要和mac
在同一个局域网内,配置好wifi
信息后,就可以监听AWS IOT
消息,当有消息发送过来时,进行相应的操作WOL
、bluetooth
advertiser或者是解锁屏幕
Clank
是用flutter
写的一个客户端,可以跑的android
,mac
,ios
等平台上,用于发送IOT MQTT
消息,先设置好AWS ITO
需要的证书和密钥
主页可以进行消息的发送,WOL
用于发送Wake-on-LAN
或者解锁屏幕消息