DIYer Joe McKinnon (an A Level Computer Science student in the UK who is also studying Mathematics and Physics) has figured out a way to do this.
Using a Raspberry Pi 3, a transistor or relay, and a couple of resistors (as diagrammed above), the project makes it possible to boot your PC remotely via a dedicated website. As the project description outlines:
“This system allows you to, with a Raspberry Pi and a relay module, short out the power button pins on your motherboard remotely, hence turning it on. You control the relay using a button on a password protected web page that runs on your Raspberry Pi, which then runs a script on the Pi which closes the relay for 0.5 seconds, and turning your computer on.”
The dummy website demonstrates the web interface to the project, which can, of course, be accessed from any device. A simple tap of the button (perhaps on your smartphone) will commence the boot process of your desktop PC.
To get started with this project, you’ll need WiringPi, the GPIO access library for making direct wire connections from your Raspberry Pi to other devices. The project also requires Apache2, and PHP 7.0, both of which can be installed from the default Raspbian repositories.
The full instructions explain how to set up the project with Apache, PHP, and the webpage, while the pcon.sh script is where the magic happens.
Of course, there are particular security implications for setting up a system to boot your PC remotely. To deal with these, the project features some details on using HTTPS for encrypted connections to the Raspberry Pi, as well as a suggestion to whitelist the device’s web address from whatever location you’re remote booting from.
If you regularly use RDP to access your PC, having this remote relay setup might just prove vital!