V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tokoy
V2EX  ›  智能家电

周末弄了下 siri 控制电脑开机关机

  •  
  •   tokoy · 277 天前 · 1550 次点击
    这是一个创建于 277 天前的主题,其中的信息可能已经有所发展或是发生改变。

    起因

    周末无聊弄了下智能插座,感觉还蛮方便的,分享一下~

    步骤

    1. 买一个能够连接 homekit 的智能插座,网上蛮多的,一个插座也就 20~50 不等,只要能接入 iphone 就可以了。买来后插上电,用手机先连接 2.4g 的 wifi 后扫描下二维码后按提示就可以让插座联网了,加入后只要网络正常,就可以用手机控制插座开关了。
    2. 设置电脑 bios ,通电后自动启动机器。我的外星人台式机是开机后按 F2 就可以进入 bios ,然后找到高级选项--电源选项里有个开机改成通电就 Power On 就好了。
    3. 给 Windows 账号加上密码,就是登陆要输入密码才能登陆,这样可以让其他手机或者服务器进行 ssh 登陆。
    4. 电脑安装 OpenSSH 。打开 Powershell ,然后Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0命令,出现进度条后等待安装完毕。然后 net start sshd 即可启动 ssh 服务。当然别忘了在防火墙的入站规则里加上 TCP 的 22 端口规则允许。还有就是在 Windows 的服务里找到 OpenSSH 然后手动改成自动,这样就开机自动启动啦。然后还有就是要把电脑的 IP 改成静态的,不能 DHCP 动态分配。最后可以尝试在 Powershell 里ssh 你的用户名 @你的服务器 IP,然后输入你的密码就可以正常 SSH 登陆啦!
    5. 准备工作都弄完后,现在就轮到 iphone 了,先在家庭里创建 2 个场景,一个是关电脑,就是控制插座关闭电源,另一个的开电脑,控制插座开启电源。弄完后点击试试,看看插座是不是可以正常点一下就开启和关闭了。
    6. 打开苹果的快捷指令,创建一个新的快捷指令,名称叫打开电脑,里面只需要添加开电脑的场景即可。这样只需要喊"嘿! sir ,打开电脑" ,就可以开启插座然后通电开机啦。
    7. 再创建一个新的快捷指令,名称叫关闭电脑,然后添加通过 SSH 发送命令,把服务器的 ip 、22 端口号、用户名、密码都填写,脚本的话填写shutdown -s -t 1。然后再添加等待 60 秒,最后再添加关电脑的场景即可。这样通过 siri 喊"嘿! sir ,关闭电脑",就可以实现快速关机了!

    分享

    文章我写到我的博客里了:https://www.ikeno.top/posts/smartplug 晚点我会把一些图片也补充上去,希望能够有点用。 ps:当前 siri 关机好像有点小问题,会没法正常关闭插座,这个估计得调试一下,后续补充好了。

    15 条回复    2024-02-27 01:52:46 +08:00
    AoEiuV020JP
        1
    AoEiuV020JP  
       277 天前
    你这关机是 shutdown 然后等固定 60 秒就断电,
    这个 shutdown 有没有可能走更新之类的无法及时关机的情况?
    或者关机不控制智能插座断电?
    clf
        2
    clf  
       277 天前
    电脑有空的 PCIE 位的话直接买个支持 homekit 的开机卡就行,直接接主板跳线上,开关机都是走的主板控制,这样更方便稳定一些,也不会不小心关了电源导致直接关系。

    我自己是买了一个米家蓝牙 mesh 的
    Cheons
        3
    Cheons  
       277 天前 via Android
    佩服这个折腾劲,现在往哪一趟就不想动。
    东西拿来就要用。

    小声 bb ,插座的钱够待机很久了吧
    Senorsen
        4
    Senorsen  
       277 天前
    我之前也做了实现类似功能的,不过实现不太一样,开机/唤醒,以及睡眠都是快捷指令调 wolweb 的 http api 发送唤醒数据包。
    开机/唤醒只需要台式机 BIOS 配置中启用相应选项就行,睡眠用的是 https://github.com/SR-G/sleep-on-lan ,接收到与网卡自身 mac 相反(镜像)地址的唤醒数据包时睡眠,也可以配置为其他操作或执行特定程序。配置计划任务,开机以普通用户身份启动软件就行( Windows 服务方式不知道为什么无法启动)。
    Senorsen
        5
    Senorsen  
       277 天前
    @Senorsen wolweb 运行在软路由 openwrt 的 docker 里,host network
    woody3rd
        6
    woody3rd  
       277 天前
    家里的台式机就搞了开机棒,还可以。
    zsh2517
        7
    zsh2517  
       277 天前
    早就这么用了,小爱同学+智能插座,开关机之外还有功率、耗电量统计。不过关机是我手动关的。等确定关了之后再小爱同学,关电脑。( WOL 印象配置比较麻烦)

    最近买了一个直接插电源跳线的 WIFI 开关,但是还没接线
    marc2017
        8
    marc2017  
       277 天前
    我用迅雷的计划任务定时关机
    panlatent
        9
    panlatent  
       277 天前
    台式机的话应该可以用开机卡开机,有支持米家的( Homekit 不确定)
    SoyaDokio
        10
    SoyaDokio  
       277 天前
    像楼上说的,这个折腾劲儿好羡慕阿
    tokoy
        11
    tokoy  
    OP
       277 天前
    @AoEiuV020JP 这个确实可能 那就只能设置定时关插座断电了,如果不断电的话,下次就没法触发通电开机。

    @clf 原来还有开机卡这东西,学到了。
    @Senorsen #4 这个看上去好像好复杂哈哈,佩服大佬
    SuperMaskv
        12
    SuperMaskv  
       277 天前
    笔记本有什么可以远程开关机的方案吗
    paopjian
        13
    paopjian  
       277 天前
    @SuperMaskv 米家插座,笔记本 bios 里设置来电开机不就好了?
    FawkesV
        14
    FawkesV  
       277 天前
    家里台式机用的开机卡,接入米家控制 挺方便
    zsh2517
        15
    zsh2517  
       277 天前 via Android   ❤️ 1
    @zsh2517 搞了一晚上,目前配置成了 WiFi 睡眠/唤醒(手机打字不方便,后面如果有时间拿电脑再详细说),frp 转发 code-server 到公网。
    实测睡眠状态下从远程按开机,到能打开开发环境,10s 内就绪(主要解决的问题不是开关机,而是在保证相对省电的情况下,能够有一个即开即用的开发环境)
    原来开机,启动 wsl 等陆续要一分钟; colab 这种每次用都得配置环境,从想打开到真正能用要等很久
    耗电方面:待机( S3 ) 10w ,相对于开机的 100+w ,基本满足我期望了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1142 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 23:39 · PVG 07:39 · LAX 15:39 · JFK 18:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.