Microduino ENC网络(四)/zh
Language | English |
---|
目的本教程将演示给大家如何用Microduino网络唤醒你的电脑。 设备
关于网络唤醒的准备工作几乎所有的网络适配器都有网络唤醒功能。他通过在网络上发送一个特殊指令唤醒你的电脑。 使用此功能的两个主要要求: 如果您的网络适配器没有嵌入在主板上,你必须将电缆连接到主板: 在BIOS中启用WOL功能: 有些主板如果网络适配器关闭了WOL After Power Loss(断电后是否启用WOL)功能将无法唤醒的PC。事实上,新的主板可以启用WOL功能,即使断电后,你可以配置此功能,在主板的BIOS: Magic Packet: 唤醒命令是在网络上发送的一个特殊数据包,称为Magic Packet,详情参见:http://en.wikipedia.org/wiki/Wake-on-LAN#Magic_packet 这个数据包被本地网络所有设备接收,因为他的目标MAC地址为广播地址(FF:FF:FF:FF:FF:FF),后面为要唤醒电脑的MAC地址重复16次。 并不需要选择高级别的协议,一般约定用UDP协议,目标端口为7或者9。
原理图
层层堆叠,再插上网线。 如下图所示:
程序调试步骤一:首先需要下载EtherCard库:https://github.com/jcw/ethercard 放到你的IDE的libraries文件夹中,重启IDE。 步骤二:解释一下代码: 注意:EtherCard库在这个应用有一个bug,现在已经做了修正,请确保下载最新的库。 你可以用sendWol()方法发送Magic Packet;这个方法需要目标电脑MAC地址作为参数: static byte targetmac[] = {0x00,0x1A,0x4B,0x38,0x0F,0x5C}; ... ether.sendWol(targetmac); 步骤三:下载代码并编译通过。 步骤四:如果没其他问题的话,利用网络分析工具如Wireshark( http://www.wireshark.org/ ),你可以查看Microduino发送的数据包,你会发现数据包是正常的: 红色圈中 MAC地址的广播,发送到网络中的所有设备 绿色圈中 IP和UDP协议的选择 蓝色圈中 目标PC的MAC地址重复16次 结果你的电脑被Microduino唤醒了。 视频 |