目录

  • 树莓派通过局域网实现定时开机(wake on lan)
    • 需求
    • 树莓派连接PC
      • 1.PC端设置本地连接
      • 2.树莓派端设置固定IP
      • 3.DHCP服务安装
      • 4.连接
    • 设置wake on lan
      • 1.bios设置
      • 2.网卡设置
    • 使用网络唤醒
      • 1.测试
      • 2.设置crontab
      • 3.tricky problem

树莓派通过局域网实现定时开机(wake on lan)

需求

为了能随时远程访问电脑,往往需要让电脑保持开机状态。有没有更加节能的方法呢,比如用树莓派这样耗电量低的小型设备进行控制,在需要时才开机?最近对这个问题进行了一些探索。

树莓派连接PC

第一步当然是将树莓派连接到电脑。这里选择网线直连的方式进行连接,方便有些树莓派没有wifi芯片或者WiFi连接受限的场景。我们只需要准备一条网线即可。

1.PC端设置本地连接

将电脑与树莓派连接上后,在PC端 控制面板\网络和 Internet\网络连接 会看到新的本地连接-以太网,这对应的就是树莓派。
首先,右击以太网,设置ipv4,将IP地址设置为192.168.137.1,子网掩码设置为255.255.255.0.
然后,右击WIFI连接,注意是你的WiFi连接,在属性-共享里将共享选项都打开。这里的作用是将你的wifi连接共享给树莓派,让树莓派能够正常联网进行各种补丁包的下载。

2.树莓派端设置固定IP

网上有很多教程,但是都不太优雅 ,这边介绍另外一种设置固定IP的方式。

sudo vi /etc/dhcpcd.conf

常规的方式是修改static ip_address,这里我们不用管,直接在文件最后加入下面两行

interface eth0
request 192.168.137.100

3.DHCP服务安装

上一步设置的IP含义是向dhcp服务器请求这个地址,请求不到再自动获取新地址,所以我们还需要在电脑上安装dhcp服务。
https://www.dhcpserver.de/cms/
下载安装即可。

4.连接

通过ssh连接刚才填入的IP地址192.168.137.100,即可连接到树莓派。

设置wake on lan

电脑成功连接到树莓派之后,即可开始下一步的WOL设置。

1.bios设置

在bios中找到wake on lan设置,打开。不同的电脑bios在不同的位置。

2.网卡设置

win+x,选择设备管理器,找到有线网卡Realtek PCIe GbE Family Controller
,右键进入属性中设置,在“电源管理”中,开启“允许此设备唤醒计算机”和“幻数据包唤醒”。
如果右击网卡找不到“电源管理”,请先更新驱动。realtek网卡驱动

同时,在“高级”页中,开启“关机网络唤醒”,“魔术封包唤醒”。
也有人说需要同时关闭“Power saving mode”,“环保节能”,“节能以太网路”,没有具体尝试。
以上,就完成了基本的设置,接下来我们可以通过树莓派进行实际测试。

使用网络唤醒

首先我们在树莓派上安装唤醒软件,其作用就是向局域网内的指定mac地址发送“魔术封包”,对应的机器收到封包后就会开机。也可以向广播地址发送,唤醒所有机器。

1.测试

在电脑上运行cmd,ipconfig /all 查看mac地址,假设是AA:BB:CC:DD:EE:FF

pi@raspberry:~$ sudo apt-get install etherwake
pi@raspberry:~$ sudo etherwake -i eth0 -D AA:BB:CC:DD:EE:FF

显示Sendto worked!代表已经发送成功

2.设置crontab

pi@raspberry:~$ crontab -e

在文件末尾加入

30 6 * * * sudo etherwake -i eth0 AA:BB:CC:DD:EE:FF

即可实现每天6点30自动开机。

3.tricky problem

windows有一个比较tricky的设定,网络共享(ICS)在失去连接5分钟后就会自动停止服务。此时即使恢复连接,也无法继续共享网络。具体表现形式为将树莓派和电脑的网线断开超过5分钟后,再重新接上网线,此时你可以ssh到树莓派,但是无法在树莓派上继续上网。
此时一切设置看似正常,但实际上问题出在wifi连接的共享选项上。虽然表面上看起来还是勾选状态,但实际上ICS后台服务已经停止运行了。
不需要找很多修改/etc/resolv.conf等等的文章,问题不在树莓派上而是在windows上。如果简单操作就是将wifi共享选项取消勾选,点确定,再重新勾选,就会发现树莓派能正常上网了。
如果想一劳永逸解决这个问题,就需要在注册表中添加一个名为EnableRebootPersistConnection的Dword值,并将其设为1:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedAccess
并在开始-运行中输入services.msc,找到Internet Connection Sharing(ICS)服务,将其设置为自动启动
然后树莓派就可以恢复连接了。

树莓派通过局域网实现远程开机(wake on lan)相关推荐

  1. C#实现局域网内远程开机

    1.远程开机原理 远程开机Wake on LAN(WOL),俗称远程唤醒,远程唤醒的实现主要是向目标主机发送特殊格式的数据包,是AMD公司制作的MagicPacket这套软件以生成网络唤醒所需要的特殊 ...

  2. 【树莓派】通过树莓派远程开机电脑

    [树莓派]通过树莓派远程开机电脑 在电脑上的设置 设置BIOS 设置网卡 ubuntu系统 windows系统 在树莓派上的设置 远程开机 远程开机的原理是通过电脑上wol(wake on lan)功 ...

  3. Ubuntu16.04实现局域网远程开机

    由于实验室电脑支持WOL,所以配置了一下远程开机 进BIOS查看,发现已经BIOS配置已经支持WOL了, 所以直接启动实验室装有Ubuntu16.04系统的台式机 1 首先输入ifconfig查看网卡 ...

  4. 如何实现电脑远程开机

    如何实现电脑远程开机 ------------------------------------------- 远程唤醒技术,英文简称WOL,即Wake-on-LAN,是指可以通过局域网实现远程开机,无 ...

  5. Java通过WOL,3步实现远程开机

    目录 远程开机(Wake onLAN) WOL实现远程开机分为3大步. 魔术包Magic Packet 第一步:设置主机的有线网卡Wake on Magic Package属性为Enable. 1.首 ...

  6. 如何搭建一个可以远程开机、挂下载、读写文件、云备份或是搭个数据库玩查询的NAS

    关键词:nas主机.智能开关.ZeroTier.内网穿透 以下内容主要讲,如何在公司调用家里的NAS. 不需要通过VPS或FRP,而是使用ZeroTier虚拟局域网的方法. 这里的NAS指的基于Lin ...

  7. WOL(Wake On LAN - 局域网唤醒)外网唤醒 配置教程 远程开机

    虽然这个功能叫局域网唤醒,但与路由器的端口映射功能配合,广域网唤醒也是很容易的.只要有一台能上网的电脑或手机,就能把家中电脑打开,需要用家里电脑又不在家的时候很方便. 注意事项: 此教程是为了实现外网 ...

  8. 在Linux下通过Wake On LAN实现网络唤醒远程开机

    我们经常有这样的场景或需求,人在外面,需要将家里的机器或公司的机器开启,进行远程控制操作. 有几种方式可以实现远程开机,一是通过主板的来电自启动,通过智能开关远程开机.还有一种方式就是可以通过一台已经 ...

  9. 树莓派+SSH反向代理实现远程开机

    之前购买的向日葵开机棒出现了bug,客服给解决不了,想跟客服通个电话,客服表示不提供电话服务,无语.结果只能放在一边吃灰了.转念一想家里的树莓派可以用作远程唤醒,但是需要解决一个问题,就是内网穿透.何 ...

  10. wake on lan 远程唤醒/远程开机中的所有设置细节(arp静态绑定解决长时间关机无法唤醒)

    远程开机这个功能实在屌爆了,工作中会经常遇到需要远程开机的情景,比如说,晚上在家里,突然接到领导的电话需要改东西,然而家里的电脑又没有工作环境,各种工具软件都没有安装,这时如果往公司跑一趟真是麻烦,或 ...

最新文章

  1. Spark 写出MySQL报错,java.sql.BatchUpdateException
  2. HP380G7服务器安装fedaro16的问题解决
  3. 最大连续子序列乘积(DP)
  4. 【django】配置MySQL数据库【3】
  5. leetcode896. 单调数列
  6. tmpfiles.d导致的unix:///tmp/supervisor.sock no such file坑(待续)
  7. header()函数使用说明
  8. php代码编写直接插入排序算法,PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析...
  9. [转载] numpy总结
  10. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_09-webpack研究-webpack介绍
  11. 英特尔:赔你15亿算了;Nvidia:反正我早就不做你那块了
  12. uboot 中内存测试,内存检测方法
  13. snaker mybatis 配置
  14. Scrum敏捷培训课堂小记
  15. JavaScript-switch条件分支语句
  16. 封面文章:寻找技术中国——渴望不再被扼住喉咙!
  17. P1551 亲戚(并查集)
  18. 网页如何展示PPT文档
  19. 接招吧。最强“高并发”系统设计 46 连问,分分钟秒杀一众面试者
  20. 全球首富贝索斯宣布辞职!“我不想一直盯着流量,要用更多时间探索太空”...

热门文章

  1. UltraEdit 26 总是偶尔提示运行的是试用模式
  2. 哪些机器学习模型需要归一化
  3. php ctype xdigit,PHP ctype_xdigit()用法及代码示例
  4. PCAN和TSMaster软件入门
  5. 国产之光!Mac必备长截图软件!iShot 1.7.7中文版
  6. MD5加密算法(python)
  7. c语言电流检测模块程序,基于AT89C51单片机智能电流检测系统设计.doc
  8. 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS
  9. 模电——硬件选择电容的耐压值以及分类和其优缺点
  10. 信息系统基础知识(笔记)