# 远程开机精灵 **Repository Path**: lv_tong/easy_wol ## Basic Information - **Project Name**: 远程开机精灵 - **Description**: 使用ESP32硬件,配合MQTT合中继服务器,可随时随地实现电脑远程开机。 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-23 - **Last Updated**: 2024-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 远程开机精灵 ### 项目介绍 产品来源于本人的实际需求,在公司或者出差有时需要远程家里的电脑查一些资料,于是便想用ESP32做一款低成本的远程开机模块。配合“向日葵”或“TeamViewer”等远程桌面软件,可实现远程办公监控等功能。 **主要特性:** 1. 采用WakeOnLan报文唤醒电脑,所以需要模块与电脑在同一网段内。 2. 采用WIFI连接,不需要连接网线,只需提供5V供电即可。 3. 采用MQTT中继服务器进行通信,可随时随地远程唤醒电脑。 4. 可利闲置的ESP32-S模块,硬件成本极低。 ### 硬件说明 **官方硬件:** 体积小巧,采用3D打印外壳,配有运行指示灯,更好的观察产品的运行状态。 ![输入图片说明](3.Images/%E5%AE%98%E6%96%B9%E7%A1%AC%E4%BB%B61.png) 出厂设置键:长按3S以上触发,可重置连接的WIFI信息。 复位按键:点按触发,可复位设备。 1. 红灯蓝灯周期一起慢闪:搜索WIFI并连接中 2. 红灯蓝灯周期交替快闪:等待SmartConfig配网 3. 蓝灯常亮:WIFI已连接 4. 红灯闪烁一次:与服务器通信一次 5. 蓝灯快闪后熄灭:WIFI设置已重置,并断开当前WIFI连接 6. 红灯周期慢闪:当前设备未获得授权,与服务器断开连接 **其他硬件:** 满足核心模块为ESP32-S的开发板即可,如ESP32CAM、ESP-WROOM-32S等。 ![输入图片说明](3.Images/ESP32-S.jpg) ![输入图片说明](3.Images/ESP32CAM.png) ![输入图片说明](3.Images/ESP-WROOM-32S.png) ### 软件说明 **ESP32-S固件:** ESP32程序使用Arduino IDE编写,其中用到的第三方库有:WakeOnLan(发送唤醒报文)、PubSubClient(用于MQTT通信)、ArduinoJSON(用于数据解析)。 **远程控制软件:** 软件使用Pycharm IDE编写,其中用到的第三方库有:paho.mqtt(用于MQTT通信)。 ### 使用说明 **ESP32-S固件烧录说明:** 1. 使用USB-Typc连接线,把设备连接到电脑的USB口上。 2. 安装对应的串口驱动文件。(官方硬件为CH340) 3. 同时按下电路板上BOOT和复位按钮,之后首先松开复位按钮,再松开BOOT按钮,让ESP32进入Boot模式。(其他硬件可自动BOOT的不需要此操作) 4. 下载整个工程后,进入“ESP32烧录”文件夹,打开“烧录指令.txt”文件并复制其中的指令。 5. 在“ESP32烧录”目录下打开windows终端,并把上一步复制到的指令粘贴到终端中。 6. 修改指令中COM口编号,改写成实际设备的COM口编号。 7. 回车运行指令,烧录程序。 **服务时长说明:** 设备远程控制会用到中继服务器,服务器的租赁和日常维护会产生一定费用,所以目前项目按时长收取一定费用。 | 时长 | 7天 | 半年 | 一年 | |----|-----|------|------| | 价格 | 1.9 | 16.9 | 29.9 | 如需充值服务时长,请联系作者QQ1098220238,备注请填“远程开机精灵”。或者直接搜索淘宝店铺:理科菌的硬件小店。 设备开机之后会在串口(波特率115200)打印“设备ID号”,服务时长与“设备ID号”绑定,充值请提供“设备ID号”给作者。 **设备联网说明:** 1. 设备开机之后会尝试连接WIFI,如果10S之内连接不上,则会进入SmartConfig模式,等待重新配网。 2. 打开手机微信,搜索小程序“一键配网”,如下图所示。 3. 点击进入小程序,切换协议为“SmartConfig配网”。 4. 输入WIFI名称和密码,之后点击“一键配网”。 5. 等配网成功后,设备即可正常联网。 6. 注意ESP32只支持2.4G频段,不支持5G频段网络。 ![输入图片说明](3.Images/%E4%B8%80%E9%94%AE%E9%85%8D%E7%BD%91%E5%B0%8F%E7%A8%8B%E5%BA%8F.jpg) **远程控制软件说明:** 软件非常简单,只有一个主界面,如下图所示: ![输入图片说明](3.Images/%E6%8E%A7%E5%88%B6%E8%BD%AF%E4%BB%B6.png) 1. MAC-ID号:需要填写开机精灵的ID号,设备运行开始会在串口(波特率115200)中打印出来,如下图所示。 2. 电脑MAC:需要填写您要唤醒主机或电脑的的网口MAC地址,如下图所示。 3. 点击“刷新”按钮,会获取当前设备的联网状态和剩余使用时长情况。 4. 点击“唤醒”按钮,会根据设定的“电脑MAC”地址,执行一次唤醒电脑主机的操作。 ![输入图片说明](3.Images/MAC-ID.png) ![输入图片说明](3.Images/%E7%94%B5%E8%84%91MAC.png) ### 其他配置 **网络拓扑图:** 由于WakeOnLan报文不能跨网段,所以开机精灵和主机需要在同一个路由器下才可以,网络拓扑图如下: ![输入图片说明](3.Images/%E7%BD%91%E7%BB%9C%E6%8B%93%E6%89%91%E5%9B%BE.png) **主机BIOS配置:** 1. 主板品牌不同,设置方式也会略有不同。以下以B450M迫击炮为例,开机后狂按“DEL”键进入主板BIOS。 2. 在高级选项里,选择并进入“唤醒事件设置”,如下图所示: ![输入图片说明](3.Images/BIOS%E8%AE%BE%E7%BD%AE1.png) 3. 修改“PCIE设备唤醒”参数,改为“允许”,如下图所示: ![输入图片说明](3.Images/BIOS%E8%AE%BE%E7%BD%AE2.png) **主机系统配置:** 1. 在系统桌面上右击“计算机”,选择“管理”,进入计算机管理界面。 2. 依次选择“设备管理器”->“网络适配器”->“对应网口设备”,如下图所示: ![输入图片说明](3.Images/%E7%B3%BB%E7%BB%9F%E9%85%8D%E7%BD%AE1.png) 3. 之后右击进入属性界面,选择“电源管理”选项卡,勾选上面两个选项,如下图所示: ![输入图片说明](3.Images/%E7%B3%BB%E7%BB%9F%E9%85%8D%E7%BD%AE2.png) 4. 之后选择“高级”选项卡,把属性列表(不同网卡属性列表会略有不同)中所有关于唤醒的值改为“开启”,如下图所示: ![输入图片说明](3.Images/%E7%B3%BB%E7%BB%9F%E9%85%8D%E7%BD%AE3.png) ### 参与贡献 1. 吕桐