当前位置:首页>科技>上班摸鱼好嘛上班时间没法摸鱼
发布时间:2026-06-01阅读(0)
寒假将至,为了防止居家期间办公室的远程电脑出现死机、自动关机等问题,我耗了一天时间做了一个简单的远程强制开关机工具。本文不再赘述摸索和踩坑过程,仅以教程形式进行分享,网友也可在此基础上进一步开发更多别出心裁的功能。无心了解原理的可以直接翻到第三部分。
一、 DIY原料与价格
DIY核心:ESP 8266开发板V3(CH340),淘宝10.8元包邮
烧录数据线:usb-microusb数据线,家里翻找即可,成本不计
其他材料:跳线4-5根,成本不计
环境要求:802.11b/g/n wifi,手机一个,人人都有
总计:10.8元
二、 DIY背景知识
1、 WOL远程唤醒(软)
WOL(Wake on LAN),中文名局域网唤醒。顾名思义,能够使局域网内处于关机或休眠状态的计算机,将状态转换成引导(Boot Loader)或运行状态。过程很简单,通过发送一组特殊格式的网络封包(Magic Packet,幻包)给某个MAC地址的电脑,从ACPI的Sx(S3,S4,S5)模式返回S0运行模式,即让电脑从睡眠或关机模式恢复运行。
实现方法:
(1)启用BIOS中网络唤醒的相关选项;
(2)进入系统,在设备管理器中找到所用网卡,右键设置,在高级中启用唤醒魔包(可能名称不同),在电源管理中启用唤醒计算机;
(3)在上级路由器中设置主机IP与MAC绑定,设置DMZ或转发,端口不要选ISP阻塞端口,协议选择UDP或ALL, 若无公网IP,需要使用带透传的DDNS解析;
(4)在主控端安装WOL软件进行控制,如Depicus(http://www.depicus.com/wake-on-lan/welcome.aspx)或Wake On Lan(https://sourceforge.net/projects/aquilawol/)。
WOL方法通常不需要额外的硬件,但BIOS和网卡不能太老,且对公网IP有要求。此外,WOL只能实现唤醒,碰上意外死机等状况则无能为力,无法满足我的使用需求。

2、 主板开机电路(硬)
为了实现强制性开关机和状态检测,有必要了解主板开机触发电路的工作原理。主板的开机电路类型大体上可分为四种类型:即南桥组成的开机电路、南桥和逻辑门电路组成的开机电路、南桥和I/O芯片组成的开机电路和经过特殊芯片的开机电路。基本触发电路如下。
在接上电源待机情况下,ATX第9脚会输出5V电压,经稳压电路后输出3.3V给触发电路(A点),另外5V电压一般也会直接作用于前置USB的VCC针脚,可用于开发板的供电。开机键按下时,A点的电平被拉低,产生信号进入触发电路,集电极(ATX的14脚)被拉低,ATX电源开始工作,输出各路电压,主板通电自检。按键关机时,A点再次低电平,B点电压反转,三极管截止,集电极电位升高,停止工作。此外,主板跳线插座的RST针脚与开机动作关联,关机时处于低电平,开机时有3.3V电压,可用于判断主板通电状态。基于该电路,我可以实现强制的远程开关机和检测。

3、 ESP8266与Blinker
ESP8266是一款价格低廉的面向物联网集成的Wi-Fi MCU,集成32位处理器、标准数字外设接口、天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块。我购买的是带有CH340的开发板,可直接通过老安卓数据线进行Arduino程序烧录,在特定的针脚上可以实现高低电平的输入输出、上拉下拉,若需要还可以实现模拟信号的输入。
Blinker是点灯科技物联网解决方案,通过几行代码就可以与ESP8266实现双向通讯控制,简单易懂,快速入门,可玩性强,可APP直接自定义控制界面。入门案例教程:https://diandeng.tech/doc/getting-start-8266

三、 DIY操作
1、 ESP8266与主板针脚关系
参见上图左图引脚定义,其中GPIO16可以设置为输入下拉(INPUT_PULLDOWN_16)模式,可进行开机状态检测。此外,我选择GPIO12(OUTPUT)进行开机信号触发。主板与开发板的接线关系如下表。
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图