怎么远程控制家里的电脑(教你低成本实现远程电脑控制家中电脑)

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

一、 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)进行开机信号触发。主板与开发板的接线关系如下表。

ESP8266开发板针脚

主板针脚

功能

D0-GPIO16

跳线插座重启高电平针脚

主板开机状态检测

D6-GPIO12

跳线插座开机高电平针脚

开机触发按键

Vin-VIN 5V

F_USB VCC(5V)针脚

开发板5V供电

G-GND

跳线插座GND针脚

开发板接地

2、 Blinker APP设置

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

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) 点击烧录按钮,等待烧录完成

4、 上机测试

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 lqy2005888@qq.com 举报,一经查实,本站将立刻删除。