做这个的出发点很简单:远程桌面类的工具要求电脑先开着,Wake-on-LAN 便宜,但需要公网 IP 或者路由器上做端口映射,碰上运营商大内网还得再套一层穿透。两条路都能
走,只是对不想碰路由器的人不太友好。

于是做了 Powerstick:一个 USB 小硬件,插在要控制的电脑上,自己通过网口或 Wi-Fi 联网。手机、电脑浏览器打开网页,登录后能看到设备在不在线,然后点唤醒、睡眠、重启、关机。

现在的组成:

硬件是 CH32V307 做主控和 USB ,ESP32-C2 跑 ESP-AT 负责 Wi-Fi ,带一个网口。

用户 Web 是主要入口。

微信小程序也在做,账号和设备跟网页版共用同一套。

命令走 MQTT 下发到设备。唤醒有两种:USB 唤醒直接叫醒插着的那台机器,局域网唤醒按 MAC 发 WoL 包。睡眠、重启、关机这几条,设备收到后通过 USB 交给桌面端执行,所
以电脑开着的时候桌面端要常驻,可以最小化,别退出。每条命令都有回执,能看到等待设备、执行中、成功或失败。

几个已知的限制,提前说清楚:

只支持 Windows 64 位,Linux 和 macOS 还没做。

关机状态能不能唤醒,取决于主板 BIOS 、网卡和 Windows 电源设置,不是每台机器都行,软件层面兜不了底。

想请教几个问题:

这东西对你们有意义吗,还是路由器上配 WoL 加内网穿透已经够了?

硬件方案有没有明显更合适的选型,尤其是 Wi-Fi 这块。

后端现在只跑在我自己一台服务器上,要不要做成能自托管的形式。

地址: https://powerstick.onediy.cn ,文档和下载都在里面。用下来有问题,或者觉得哪里设计得蠢,直接在这帖里说。

主楼