Feb 5, 2014

Reliable System to Switch a PC on and off Remotely

This subject is sometimes also called lights out management (LOM).

The Goal

To switch your computer (or any other hardware) on/off remotely you have a couple of options:

  • Use hardware to cut the power of your device.
  • Use hardware to imitate pressing the power button of your devices.
  • Use software to log in to your device and reboot / shut down. This is only possible if the device doesn’t hang.
In this post I’ll only consider the hardware options.

In general you can use a microcontroller and build this hardware yourself or buy existing hardware. In the case of servers, the vendor may already be offering a hardware solution to restart the server remotely which could be expensive though.

It is useful if the hardware to restart your device is itself on-line on a network and is in general more reliable than the device to control.

An extra can be to include status monitoring in addition to power control. In the case of a computer, this may be monitoring the status of the power LED and the disk activity LED.

Being able to control and monitor your devices via Ethernet and thus also via Internet is useful and having a web interface at your hand instead of just an API would be great. A web interface that works well on mobile devices is another plus.

While the hardware could imitate pressing the buttons of your computer it would be good if it could also directly cut the power line and monitor the power (‘wattage’) that your device draws from the power line.

Another idea is to include logging of [power state, disk state, wattage].

The Plan

What we need is a circuit that is capable of acting like a switch (like a relay for example) to simulate the pressed buttons. As there is usually just a small current passing the switch this can be achieved by eather the digital outputs of the µController themselves or by transistors.

This page describes how you can use a reed relay or an opto coupler to close the contact of something without the problem of potential differences of your two systems.

Existing Projects

Resetbox

The Resetbox is a project using an Atmel AVR microcontroller with the custom firmware project ethersex and they designed a PCB in the form of an extension card for the PCI(?) slot.

NETIO230A

This is a ready-to-buy product by Koukaam and I designed a software to control it: netio230a.

More Custom Electronics Solutions
  • Remote Power Switch For A Computer
Used the AVR based Teensy µC and an IR remote control. Remote Power Switch For A Computer, 

lome6

lome6 is a custom PCB for the AVR platform ethersex using an Atmel AVR MEGA1284-P. See https://github.com/ethersex/ethersex/tree/master/services/lome6/doc.

The switches are connected using PC827 opto-isolators, the power LED using a PC817 opto-isolator. A MAX232 serves as an interface to the device’s / computer’s serial console. A USB headers serves as 5V power supply from the mainboard (no data link). An LCD screen can be connected. A LF33CV serves as voltage regulator for the 5V to 3V3 power supply. Temperature Sensors can be attached via the OneWire bus.

My own plans

Using the Raspberry Pi for LOM

Another idea is to use the RPi for the lights-out-management. I could implement a web interface on the RPi to:
  • virtually press the power button
  • virtually press the reset button
  • read the power LED status
  • read the HDD LED status

Via philippklaus