RSS订阅为电脑爱好者提供交流学习平台。 请记准G4560.CN
你的位置:首页 » 装机教程 » 正文

垃圾佬DIY之低成本远程开关机(硬)

选择字号: 超大 标准 发布时间:2021年01月21日 | 作者:admin | 22个评论 | 12560人浏览

https://img14.360buyimg.com/ddimg/jfs/t1/155984/10/7031/59168/600961adE6e2545fc/dee97b53edea6b79.jpg

本文作者:R3默秒全


寒假将至,为了防止居家期间办公室的远程电脑出现死机、自动关机等问题,我耗了一天时间做了一个简单的远程强制开关机工具。本文不再赘述摸索和踩坑过程,仅以教程形式进行分享,网友也可在此基础上进一步开发更多别出心裁的功能。无心了解原理的可以直接翻到第三部分。

一、 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只能实现唤醒,碰上意外死机等状况则无能为力,无法满足我的使用需求。

https://img14.360buyimg.com/ddimg/jfs/t1/163918/10/3706/109895/60096183E9b449672/0da808ec9bf59b20.jpg

2、 主板开机电路(硬)

为了实现强制性开关机和状态检测,有必要了解主板开机触发电路的工作原理。主板的开机电路类型大体上可分为四种类型:即南桥组成的开机电路、南桥和逻辑门电路组成的开机电路、南桥和I/O芯片组成的开机电路和经过特殊芯片的开机电路。基本触发电路如下。

在接上电源待机情况下,ATX第9脚会输出5V电压,经稳压电路后输出3.3V给触发电路(A点),另外5V电压一般也会直接作用于前置USB的VCC针脚,可用于开发板的供电。开机键按下时,A点的电平被拉低,产生信号进入触发电路,集电极(ATX的14脚)被拉低,ATX电源开始工作,输出各路电压,主板通电自检。按键关机时,A点再次低电平,B点电压反转,三极管截止,集电极电位升高,停止工作。此外,主板跳线插座的RST针脚与开机动作关联,关机时处于低电平,开机时有3.3V电压,可用于判断主板通电状态。基于该电路,我可以实现强制的远程开关机和检测。


https://img14.360buyimg.com/ddimg/jfs/t1/154017/23/15174/66317/600961c1Ec98299ae/138bf16087e7ab87.jpg

3、 ESP8266与Blinker

ESP8266是一款价格低廉的面向物联网集成的Wi-Fi MCU,集成32位处理器、标准数字外设接口、天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块。我购买的是带有CH340的开发板,可直接通过老安卓数据线进行Arduino程序烧录,在特定的针脚上可以实现高低电平的输入输出、上拉下拉,若需要还可以实现模拟信号的输入。

Blinker是点灯科技物联网解决方案,通过几行代码就可以与ESP8266实现双向通讯控制,简单易懂,快速入门,可玩性强,可APP直接自定义控制界面。入门案例教程:https://diandeng.tech/doc/getting-start-8266

https://img11.360buyimg.com/ddimg/jfs/t1/154868/15/15561/101329/600961efE735c627b/802fcc31f622bbe5.jpg


三、 DIY操作

1、 ESP8266与主板针脚关系

参见上图左图引脚定义,其中GPIO16可以设置为输入下拉(INPUT_PULLDOWN_16)模式,可进行开机状态检测。此外,我选择GPIO12(OUTPUT)进行开机信号触发。主板与开发板的接线关系如下表。

ESP8266开发板针脚

主板针脚

功能

D0-GPIO16

跳线插座重启高电平针脚

主板开机状态检测

D6-GPIO12

跳线插座开机高电平针脚

开机触发按键

Vin-VIN 5V

F_USB VCC(5V)针脚

开发板5V供电

G-GND

跳线插座GND针脚

开发板接地

 

2、 Blinker APP设置

流程:下载、打开Blinker APP(应用商城就有)→点击右上角加号→独立设备→WIFI接入→选择一个服务器→复制Key,后面要用→切回主界面→打开新的设备→点击右上角三个点→界面配置→复制下面我已经写好的配置信息→更新配置→切回主界面重新打开→大功告成。

{¨config¨{¨headerColor¨¨transparent¨¨headerStyle¨¨dark¨¨background¨{¨img¨¨assets/img/headerbg.jpg¨¨isFull¨«}}¨dashboard¨|{¨type¨¨tex¨¨t0¨¨远程开关机第二版¨¨t1¨¨DIYER:R3默秒全¨¨bg¨Ë¨ico¨´´¨cols¨Í¨rows¨Ë¨key¨¨tex-1¨´x´Ë´y´Ì¨speech¨|÷¨lstyle¨Ì¨clr¨¨#076EEF¨}{ßA¨deb¨¨mode¨ÉßGÉßIÑßJÍßK¨debug¨´x´É´y´ÐßM|÷ßNÊ}{ßA¨btn¨ßH¨fal fa-power-off¨ßRÉßC¨电源键¨ßE¨文本2¨ßGÉßIËßJËßK¨btn-power¨´x´Ê´y´ÎßM|÷ßNÉßO¨#00A90C¨}{ßAßTßHßUßRÉßC¨强制关机¨ßEßWßGÉßIËßJËßK¨btn-shutdown¨´x´Î´y´ÎßM|÷ßO¨#EA0909¨}{ßAßTßHßUßRÉßC¨当前状态¨ßEßWßGÉßIËßJËßK¨btn-state¨´x´Ì´y´ÎßM|÷ßNÊßO¨#FBA613¨}÷¨actions¨|¦¨cmd¨¦¨switch¨‡¨text¨‡¨on¨¨打开?name¨¨off¨¨关闭?name¨—÷¨triggers¨|{¨source¨ßh¨source_zh¨¨开关状态¨¨state¨|ßjßl÷¨state_zh¨|¨打开¨¨关闭¨÷}÷}

https://img12.360buyimg.com/ddimg/jfs/t1/156742/29/6892/117946/60096264E0bf9f268/53f27855ba19cf9a.jpg


3、 Arduino编程和烧录

(1) 安装开发板CH340驱动 (下载地址)

(2) 下载Arduino(https://www.arduino.cn/thread-5838-1-1.html),进行安装。

(3) 打开Arduino,进入首选项(Preferences),找到附加开发板管理器地址(Additional Board Manager URLs),添加信息:http://arduino.esp8266.com/stable/package_esp8266com_index.json

(4) 点击Tools-Sketch-Broad-Broads Manager,进入开发板管理器界面

(5) 找到 esp8266 并安装,建议科学上网

(6) 安装完成后,重启 Arduino IDE 软件。在Tools- Sketch-Broad中会看到 ESP8266 开发板的选项,选择Generic ESP8266 Module

(7) USB连接ESP8266开发板,Tools- Sketch中选择对应端口,我的是Port3

(8) 下载blinker Arduino库(https://github.com/blinker-iot/blinker-library/archive/master.zip)

(9) 将下载好的blinker库解压到 我的电脑>文档>Arduino>libraries 文件夹中

(10) 打开Arduino IDE,打开我写好的INO文件 (下载地址)

(11) 在程序中修改Blinker Key、wifi名称、wifi密码

(12) 点击烧录按钮,等待烧录完成

https://img14.360buyimg.com/ddimg/jfs/t1/158612/7/4337/56929/6009635dE11a081c3/4b3a0cf21f0e5081.jpg


4、 上机测试

按照针脚对应关系连线,顺利完成测试。若Blinker连接不稳定,一考虑wifi信号,二考虑esp8266供电稳定性问题。供电问题可在VIN和GND中并联电容解决。

https://img12.360buyimg.com/ddimg/jfs/t1/154626/34/15777/79016/6009638bEcba51c0c/a3fad6fc30a7adc1.jpg
 

功能演示:

Bilibili视频 https://www.bilibili.com/video/BV1Dz4y1S7bL/


https://img11.360buyimg.com/ddimg/jfs/t1/166161/25/2744/50884/6009639eE8a9e8238/19cf294ec49dc19d.jpg

标签:测评DIY攒机装机教程

已有22位网友发表了看法:

1#访客  2021-10-18 20:07:58 回复该评论
看完之后我宁可多花点钱买个弄好的
2#Dandy  2021-01-28 10:53:37 回复该评论
完全可以买个带wifi控制开关的插板,然后在BIOS设置wake ok power,通电启动比网络启动更易用也更方便。再搭配向日葵或者其他远程软件就行。
2#R3默秒全  2021-01-28 13:35:26 回复该评论
这不是贵嘛,我给的是垃圾佬低成本方案
2#Xx  2021-01-28 13:02:47 回复该评论
带老,能不能出个教程
3#耍猴王7700K  2021-01-27 10:31:13 回复该评论
太硬核了吧
4#勺子  2021-01-27 07:26:29 回复该评论
发现像我们这种间歇性停电停水的学校,掉线后有个拨号网页的好像完全用不了这种方法(ˉ▽ˉ;)...
4#R3默秒全  2021-01-27 23:47:58 回复该评论
这种应该可以加上认证发包程序
5#污兔  2021-01-25 14:59:11 回复该评论
那你能帮帮我吗
6#访客  2021-01-24 22:32:50 回复该评论
我直呼,好家伙
7#R3学姐的硬盘  2021-01-23 09:38:04 回复该评论
好家伙
8#尤娜Yuna  2021-01-22 16:53:25 回复该评论
学姐yyds
8#R3默秒全  2021-01-22 21:34:28 回复该评论
娜姐面前班门弄斧
9#狗双子  2021-01-22 12:25:32 回复该评论
学姐永远的神
10#知羽  2021-01-22 11:31:43 回复该评论
太玄学了。玩不来这个。。
11#勺子  2021-01-21 23:02:44 回复该评论
想问问R3,在教研室里的台式机平时也是这么裸着放的么、
11#R3默秒全  2021-01-21 23:08:01 回复该评论
都有机箱的。这个是测试平台~
11#勺子  2021-01-22 16:01:32 回复该评论
我想也是,我台式机都拖了了四五个师兄留下来的历史遗留实验数据硬盘
12#勺子  2021-01-21 22:53:59 回复该评论
专业专业专业,解决了广大科研狗的切实需要
13#老大归来了  2021-01-21 21:58:22 回复该评论
刚好有需要,就来了这个教程~优秀优秀~
14#暴躁网友  2021-01-21 19:51:25 回复该评论
搁这一堆文字谁看得懂啊
15#有木  2021-01-21 19:39:17 回复该评论
少爷牛批
16#mxx  2021-01-21 19:25:15 回复该评论
少爷牛逼

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

谷歌广告
网站分类
  • 主板
  • 三大件
  • 显卡
  • 外设
  • 电源硬盘
  • 显示器
  • 装机教程
  • 其他
  • 垃圾王专栏
  • 最新留言