RemoteResetArduino: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 32: | Line 32: | ||
[[Image:Rra-mainboard.jpg|300px]] | [[Image:Rra-mainboard.jpg|300px]] | ||
[[Image:Rra-arduino.jpg|300px]] | [[Image:Rra-arduino.jpg|300px]] | ||
== Usage Session Example == | |||
> RemoteReset-Arduino started | |||
> help | |||
Help: | |||
config Edit configuration | |||
config [0-7] resetpin pwrpin name | |||
reset # Toggle reset switch on config # | |||
power # Toggle power switch on config # | |||
force # Long-Press power switch on pc number # | |||
erase # Erase config number # | |||
state Check power state | |||
dump Dump configuration to serial | |||
save Save configuration to EEPROM | |||
load Load configuration from EEPROM | |||
wipe Wipe onfiguration and update EEPROM | |||
> dump | |||
Config | |||
Config: 0 Data: 0 / 255 / 255 / unused | |||
Config: 1 Data: 1 / 7 / 6 / gluster1 | |||
Config: 2 Data: 1 / 3 / 2 / gluster2 | |||
Config: 3 Data: 1 / 4 / 5 / gluster3 | |||
Config: 4 Data: 0 / 255 / 255 / unused | |||
Config: 5 Data: 0 / 255 / 255 / unused | |||
Config: 6 Data: 0 / 255 / 255 / unused | |||
Config: 7 Data: 0 / 255 / 255 / unused | |||
> power 1 | |||
Sending power signal to pin: 6 |
Revision as of 19:58, 20 August 2013
Project RemoteResetArduino | |
---|---|
Status | completed"completed" is not in the list (Proposed, Initializing, In progress, Completed, Stalled, Abandoned) of allowed values for the "Project Status" property. |
Contact | FooBar |
Last Update | 2013-08-20 |
Summary
An arduino program to toggle power and reset buttons on standard ATX PC's, and to read the status of the machine (Powered on or off, Power present @ PSU).
Introduction
I was building a 3-node cluster to test some cluster-filesystems for a client, and used 'wake-on-lan' to remotely boot the various cluster nodes when needed. This worked somewhat, but I was unable to reboot a hanging system, or see if a wake-on-lan packet actually arrived at the system.
Doing some tests with a firmata sketch on an arduino proved that I could easily toggle the powerbutton and resetbutton on an ATX mainboard, bringing this project to life.
Code
The code can be found on https://github.com/sigio/remotereset-arduino
Working
- Connect the arduino to a usb port on a working system (I used a openwrt based router).
- Connect the digital pins to the power and reset lines on an ATX mainboard.
- Make a serial connection to the arduino (115200 baud)
- Configure the pin-numbers (see 'help' command, use 'config' command)
- Toggle reset and/or power buttons with commands 'reset #', 'power #' or 'force #'
- Force will hold the (power) button for 4 seconds, reset and power only simulate a short press
- Use the 'check #' command to see if a system is powered on
Pictures
Usage Session Example
> RemoteReset-Arduino started > help Help: config Edit configuration config [0-7] resetpin pwrpin name reset # Toggle reset switch on config # power # Toggle power switch on config # force # Long-Press power switch on pc number # erase # Erase config number # state Check power state dump Dump configuration to serial save Save configuration to EEPROM load Load configuration from EEPROM wipe Wipe onfiguration and update EEPROM > dump Config Config: 0 Data: 0 / 255 / 255 / unused Config: 1 Data: 1 / 7 / 6 / gluster1 Config: 2 Data: 1 / 3 / 2 / gluster2 Config: 3 Data: 1 / 4 / 5 / gluster3 Config: 4 Data: 0 / 255 / 255 / unused Config: 5 Data: 0 / 255 / 255 / unused Config: 6 Data: 0 / 255 / 255 / unused Config: 7 Data: 0 / 255 / 255 / unused > power 1 Sending power signal to pin: 6