• 请不要在回答技术问题时复制粘贴 AI 生成的内容
betwowt
V2EX  ›  程序员

不用公网 IP 的远程开机,做了个测试版

  •  
  •   betwowt · 1 day ago · 2196 views

    做这个的出发点很简单:远程桌面类的工具要求电脑先开着,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 电源设置,不是每台机器都行,软件层面兜不了底。

    想请教几个问题:

    1. 这东西对你们有意义吗,还是路由器上配 WoL 加内网穿透已经够了?
    2. 硬件方案有没有明显更合适的选型,尤其是 Wi-Fi 这块。
    3. 后端现在只跑在我自己一台服务器上,要不要做成能自托管的形式。

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

    27 replies  •  2026-11-05 13:20:28 +08:00
    nunterr
    nunterr
    1 day ago
    1
    在拼多多买了个远程开关机卡,插电脑上 PCIE 口就行了,能连 WiFi 还接入了米家 APP ,也很便宜 25 包邮,主要是不用自己折腾了
    fstab
    fstab
    1 day ago
    2
    一个 arm 盒子,docker 装个 WoL ,就行了。
    betwowt
    betwowt
    OP
    1 day ago
    3
    @nunterr 我使用的场景,搭配 AI agent 干完活休眠,需要用的时候唤醒使用。PCIE 只能台式机用,笔记本用不了。
    skallz
    skallz
    1 day ago
    4
    可以看看懒人开关这类产品,有机械结构可以按下大部分开关按钮,用它搭配就能支持远程按下所有电脑的开机键了
    skallz
    skallz
    1 day ago
    5
    纯软件方案没办法做到普适性
    @skallz
    betwowt
    betwowt
    OP
    1 day ago
    6
    @fstab 差不多,正在做一款价格低的产品,对标向日葵开机盒子,价格能做到很低
    zealotxxxx
    zealotxxxx
    1 day ago
    7
    @nunterr 其实要不了 25 ,我买的米家的才 10 多,太离谱了
    EAX1
    EAX1
    1 day ago
    8
    网口是从 ch32 提供的?如果去除掉网口,esp32-s2/s3 有 wifi 和 usb otg ,一颗芯片就够了。
    SoulFlame
    SoulFlame
    1 day ago❤️1
    9
    我 16 元买了个 WIFI 版接入米家的智能插座,电脑主板设置了通电开机,简单的不得了,成本还低。。。
    HtPM
    HtPM
    1 day ago
    10
    我家里台式是连接网线,之前我也有和你一样的想法,后面我发现我家的路由器有 wol 功能,下载了一个 tplink 的 app 直接远程唤醒就行了。
    liuzimin
    liuzimin
    1 day ago
    11
    我觉得 WOL 、智能插座+来电开机等方案永远只是锦上添花,对新电脑还好,对旧电脑会有概率性失灵。真急用的时候开不了机就完犊子了。
    最稳且不挑任何系统任何硬件的,还得是远程开机模块。。串联在主板 PWR 针脚上,联网通过小程序远程控制针脚通断,完全模拟开机按键,从物理层面解决。
    xue777hua
    xue777hua
    1 day ago via iPhone
    12
    @liuzimin 说的对
    hefish
    hefish
    1 day ago
    13
    功能非常好的好,非常的高级。


    不要。用不到。
    congminhcap246
    congminhcap246
    23h 50m ago
    14
    以前做过 intel 的 vPro 远程开机,原生自带的无需外置硬件
    rev1si0n
    rev1si0n
    22h 56m ago
    15
    电信公网 IP OPENVPN 回家,打开路由器后台,唤醒设备
    abctest
    abctest
    22h 1m ago
    16
    小米插座+BIOS 设置来电自启,然后用米家控制插座开关即可。
    msojocs
    msojocs
    21h 50m ago
    17
    我用 ESP8266 也整了一个,你如果遇到死机怎么搞?
    我是 linux 系统,把主板自带的硬件看门狗啥的给整上了,不知道行不行。
    远控插座能解决,不过有点贵,还在蹲价格。
    AiLinkLife2
    AiLinkLife2
    20h 48m ago
    18
    这个思路对:WOL 卡在公网 IP 这一步,做硬件绕过是正解。想问两个实际的点——设备插上之后待机功耗大概多少,还有电脑断电再恢复供电时它能自己重连吗?另外你那个测试版如果也要安卓端,是不是也得凑 Google Play 的封闭测试人数?我这边刚好在凑,可以互换。
    slation
    slation
    20h 7m ago
    19
    路由器上配 WoL 加内网穿透,然后再加个 tailscale 就够了
    nicoljiang
    nicoljiang
    11h 41m ago
    20
    好奇怪,不关机不可以吗?
    unco020511
    unco020511
    10h 54m ago
    21
    电脑设计的就是不用关机的呀
    ox18
    ox18
    10h 37m ago
    22
    现在用的是远程手指 有点贵 但是东西挺通用的
    kennylam777
    kennylam777
    9h 53m ago
    23
    路由器跟電腦同 LAN 的就可以 WOL

    另外 WOL 可能不夠可靠, 但 PiKVM 的非官方版也只要百多元, 已經直接用 GPIO relay 去打開關

    但更有要求的就是 Intel AMT 或 BMC 一類方案了
    betwowt
    betwowt
    OP
    9h 23m ago
    24
    @EAX1 嗯嗯,那需要外挂一颗网口芯片,成本其实差不多,硬件很成熟玩不出花,主要探讨下软件功能和最终落地上。
    betwowt
    betwowt
    OP
    9h 18m ago
    25
    @liuzimin 这个好,再加一个 PWR 针脚的控制
    fanghaydn
    fanghaydn
    9h 11m ago
    26
    怕被人利用了
    duchenpaul
    duchenpaul
    6h 27m ago
    27
    WoL 很可靠,我还搭配了一个 esp32 伪装成键盘帮我开机以后按 F10 切 boot disk 呢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3039 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 11:48 · PVG 19:48 · LAX 03:48 · JFK 06:48
    ♥ Do have faith in what you're doing.