虫子樱桃
懒猫微服那圈 LED 灯晚上太亮,影响睡眠。可白天又想一眼看到它还亮着,才觉得安心,亮着就说明机器还在跑。
懒猫小灯最早只想要个定时开关,后来慢慢发现一些好玩的功能,就丰富了起来。现在它管的事从灯几点亮,一直延伸到这台机器几点睡、几点醒。
装好之后长这样:

设备的 LED 灯带是常亮的,它不看时间,也不管你是不是已经躺下了(特别是冬天,我不想伸手去拿手机)。
手动开关解决的是现在就想关,定时任务解决的是每天到点自己关。点顶栏的加号,填任务名、执行时间、操作,再勾上需要重复的星期,一条任务就配好了。
操作里除了开灯、关灯,还有关机和重启,所以灯和机器这两件事排在同一个列表里。
我配了两条。早上 8 点开灯,是给自己看的,起床抬头确认一下设备在跑;晚上 22:30 关灯,是为了睡觉。


后台每分钟轮一次,把启用的任务挨个过一遍:今天是不是要跑的星期,时间到了没有。到点就执行,执行完按设备返回的实际状态刷新界面,不靠本地记的状态去猜。
设了 22:30 关灯,人已经躺下了,脑子里还会飘过一个念头:到底关了没有。
通知就是为这个加的。每条任务可以单独选走哪个通道,支持三种。懒猫内置通知直接推到微服客户端,Server 酱推到微信或 App,ntfy 适合已经有自建服务、或者想在多台设备上收消息的人。
通知文案能自己改,里面可以插任务名和执行时间。关灯那条我改成了一句带名字的话,收到时就知道是哪个任务跑完了,而不是一条干巴巴的系统消息。
Server 酱这里有个坑。SendKey 两个页面都能拿到,但推送渠道不一样:从 sc3.ft07.com/sendkey 拿到的走 Server 酱 App 推送,从 sct.ftqq.com/sendkey 拿到的走微信推送。填错了不会报错,只是收不到,或者收到的不是你平时看的那个渠道。


灯关了,风扇还在转,硬盘偶尔还在响。夜里的声音比光更烦人,真想安静下来得把整台机器关掉。
这里有个绕不过去的问题。软件定时器活在操作系统里,系统一关,定时器跟着就没了,那谁来把机器叫醒?(当然懒猫也支持WOL唤醒,但是我没多余的设备,就只能懒猫的事情懒猫自己干了。)总不能每天早起手动按一下电源键。之前官方出了个应用
觉得挺实用的,后面就去在懒猫小灯上实现了。这个功能的答案在主板上一颗带纽扣电池的小芯片,RTC,实时时钟。机器断电之后它照常在走时,还支持设一个到点触发的闹钟。把它设好,机器就能自己醒过来,不依赖任何正在运行的程序。
小灯要做的事,是在关机之前把这个闹钟安排明白,顺序卡得很紧。
先把开机时间写进 RTC,再把闹钟读回来,跟要设的时间逐秒比对,一致才算写进去了。这一步确认成功,关机指令才发得出去。回读要是对不上,关机就会被拦下来,宁可这次不关,也不能让机器睡过去没人叫醒。
写闹钟之前还有一道检查:先读一次当前的闹钟,如果上面已经挂着一个还没到点、又不是自己设的闹钟,就直接报错退出,不去覆盖别人留下的设置。


关机时间和开机时间可以分别开关,只用其中一个也行。每周重复的按 IANA 时区算,开机时间早于关机时间时按次日算,比如 23:55 关机、05:20 开机,醒来就是第二天早上。
单次计划的开机最远只能排到 28 天内,这是 RTC 驱动本身的限制。两个时间点之间至少留 5 分钟,只设一个也要留 2 分钟以上,不然刚发完关机指令就得准备唤醒,时间太紧。
开关机只对管理员开放。保存、取消、真正执行关机之前,都会重新查一次当前账号的角色。
有件事得说清楚:回读只能证明闹钟写进去了,证明不了机器一定醒得来。能不能唤醒取决于主板固件里的 S5 唤醒有没有打开,那个开关不在应用里。第一次用建议保持供电,实机试一次。
灯泡样式有六种,经典灯泡、熔岩灯、复古台灯、液态光效、点阵时钟、微光灯泡。我平时用复古台灯,那根拉绳开关的样子比一个冷冰冰的按钮舒服。
桌面上的启动器图标会跟着灯的状态变,不用打开应用,从图标就能看出灯是亮着还是灭着。
设置里可以把任务列表收起来,任务照常执行,界面干净一点;也可以打开网页内的提前提醒,提前几分钟自己填。深浅主题和中英文切换都在顶栏。

想用自动开机的话,先去主板固件里把唤醒打开,并且保持供电。RTC 时钟得是 UTC,跟系统时间差超过两分钟会被直接拒绝,用之前顺手校准一下硬件时钟(当然懒猫是实现都弄好的,开箱即用)。
再补充一句:应用得一直跑到关机那一刻。重启或者重装之后,已经错过的关机不会补做。这是有意这么设计的,宁可少关一次,也不要在不合时宜的时候突然断电。另外新版的懒猫小灯使用了懒猫的动态图标功能,可以直接看图标就晓得状态。
灯开着是这样的图标

关闭了是这样的图标

希望这个软件能给您使用懒猫的生活带来一些小小的快乐。
评论
0暂无评论