Skip to content

ESP32 device to forward Wake-On-LAN packets to Local-Area-Network from MQTT messages

License

Notifications You must be signed in to change notification settings

a7md0/WakeDevice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wake Device Build Status License: GPL v3

This is an intermediate device to achieve Wake-On-WAN without port forwarding, this is a solution for devices in networks behind a firewall, NAT and/or carrier-grade NAT. In most cases, ISPs does not provide public IP for home users.

Wake-On-LAN (WOL) packet forwarder, receive messages encoded in JSON via MQTT, and generate WakeOnLAN packets based on the received MAC Address and send the WOL packet to the Local-Area-Network. The second approach is to check device status which runs ICMP ping to device static IP and send-back message with the ping status.

Requirements

Device

  • MAC Address (required)
  • Wake-On-LAN enabled (required)
  • Deafult to port 9 (port 7 supported)
  • Static IP to retrieve device status via ICMP ping (optional, supported)
  • SecureOn password (optional, supported)

Wake App

Application to add devices list and send message to wake/retrieve status. Built with Ionic 4 & Angular 8. Utilizing AWS Amplify for MQTT messaging.

Website: Wake App
Android: Google Play - Wake App
iOS: Not available at the moment

Libraries

Arduino MQTT by 256dpi
Arduino Json by bblanchon
WakeOnLan by a7md0
ESP32Ping by Marian Craciunescu

License

Wake Device Copyright (C) 2019 Ahmed Al-Qaidom

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.