最近了解到远程唤醒机制的WOL包,虽然iOS上面已经有软件可以在局域网中实现唤醒,但是使用起来还是不怎么方便。

本来想试试能不能在浏览器中实现wol包的发送,找了许多资料,发现此方式并不可行。因为浏览器的策略问题,并不支持发送自定义的upd包。

今天突然想到能不能用捷径来实现呢?不过在捷径里面找了一下并没有相关的实现。

本以为这个💡即将夭折,突然想到利用之前买的 NodeMCU 可能有办法。查了NodeMCU的文档,果然,是支持udp协议的。

实现方式

下面是大致的实现方式:

  1. 利用NodeMCU搭建一个http server
  2. iOS下添加捷径,向NodeMCU发送唤醒的 http 请求
  3. NodeMCU收到 wol 请求,向局域网广播wol包,来实现唤醒电脑

还可以添加自动化,例如连到Wi-Fi就执行捷径;还有公网唤醒…

相关文档

https://arduino-esp8266.readthedocs.io/

https://nodemcu.readthedocs.io/

https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WebServer