极简远程开机卡【无需接线】
简介
基于ESP-12F的极简远程开机卡
简介:基于ESP-12F的极简远程开机卡开源协议
:GPL 3.0
描述
※ 此硬件只适用于支持PCI-E设备唤醒的台式机!
优势:相比主板开机跳线方式的远程开机卡,免去接线问题,更美观。烧录程序,插入卡槽即可。
缺点:硬件极简并不代表配置过程极简🙄,需要主板支持并开启WOL功能,此硬件只能实现开机功能,软件代码方面较繁琐。(配合远程桌面可实现关机)
注:此硬件不带串口模块,需要另接烧录器。
由于本项目可能会导致主板损坏,建议不要盲目直接主板测试,本开源项目已经过验证,不会存在故意损坏电脑之嫌,由于个人原因造成的一切损失将有自己承担。(复制粘贴过来的...)
远程开机实现思路:
1.利用PCI-E卡槽的辅助电源为硬件供电,也就是说主机电源不能关(WOL功能和此硬件都需要供电)
2.硬件自动连接局域网WIFI,注册到中国移动的MQTT服务器,订阅名为 wol 的 topic
3.在另一终端(手机,电脑)注册到中国移动的MQTT服务器,更改 wol 下的消息
4.当 wol 的下的消息为 open 时 ,硬件接收到消息,向局域网广播此电脑的MAC地址,在电脑WOL功能可用的情况下,电脑将开机 。
5.开机后PIN引脚变为高电平,提供一个远程的开机反馈,以此判断电脑的状态(Offline or Online)
注意:
1.PCIE供电部分并没有像其他开源项目,将PRSNT两个引脚短接,因为在我的电脑上这会导致无限重启。
2.远程方面采用MQTT协议,接入中国移动OneNET,个人需要注册账号。也可以用Blinker点灯,需要自己修改代码。(代码中MQTT订阅主题为 wol)
3.固件部分采用Arduino IDE调试,需要的库文件放在附件了。
4.项目比较适合学习,过程中可能需要解决许多问题,喜欢折腾的可以玩玩。
题外话:
延伸一下远程控制,想到两个方法:
法1:开机后配置开机自启Frp内网穿透客户端,以及Frp服务器端,可实现远程桌面,不过windows需要下载一个软件SuperRdp。(此外还可以加一些安全性措施,比如基于MQTT的Frp客户端的开启与关闭,只有发送启动命令时才开启Frp客户端,才能连接远程主机,实现思路就是在主机端实现一个Python程序,也订阅wol主题,监控其变化,这个程序开机自启。以及更复杂的连接密码。以及win10的只允许建立一个远程连接的策略。)
法2:可以用一些软件代替,todesk,向日葵等,开机自启。
法3(2023.9.3): 如果全链路支持IPV6(具体bing),可以采用ipv6地址直接连接,配置好SuperRdp,并保证网关(光猫的相关设置)以及防火墙不拦截外网到主机的3389端口流量,可以直接实现远程桌面。需要解决的问题,动态ipv6,无法直接确定ip。(tip:一般情况下ipv6 ping 家里主机是ping不通的,防火墙策略默认关闭,需要打开才可以。)
方法1的好处在于可以以另一个账户远程登录windows系统,而不影响原来用户的正常使用,也就是说几个人共用一台电脑的性能且互不影响。不同的账户和密码也更安全。
方法2比较简单,但只能登录本地账户,如果有其他人在用电脑,会影响Ta的使用。(没试过)
方法3,有点担心安全性问题,优点就是没有带宽限制了,也不需要中转服务器了。
远程关机 命令行shutdown -s -t 0 即可 直接选择注销即可退出登录,选择关机即可关闭计算机。
具体演示视频链接:https://www.bilibili.com/video/BV1m3411o7S2
评论