44con 2013 - controlling a pc using arduino

15
Controlling a PC Controlling a PC using Arduino using Arduino Michael Boman Michael Boman

Upload: michael-boman

Post on 28-Jan-2015

110 views

Category:

Technology


1 download

DESCRIPTION

Slides from the workshop "Controlling a PC using Arduino" conducted at 44CON 2013 in London. It goes through hardware and software used to remotely control a PC (power/reset). Future developments will be including a telnet/rs232 and environment variables.

TRANSCRIPT

Page 1: 44CON 2013 - Controlling a PC using Arduino

Controlling a PC using Controlling a PC using ArduinoArduinoMichael BomanMichael Boman

Page 2: 44CON 2013 - Controlling a PC using Arduino

The componentsThe components

Arduino Development BoardArduino Development Board

Arduino Ethernet ShieldArduino Ethernet Shield

Arduino Relay ShieldArduino Relay Shield

Code: REST serverCode: REST server

Page 3: 44CON 2013 - Controlling a PC using Arduino

Arduino Development Arduino Development BoardBoard

Page 4: 44CON 2013 - Controlling a PC using Arduino

Arduino Ethernet ShieldArduino Ethernet Shield

Page 5: 44CON 2013 - Controlling a PC using Arduino

Arduino Relay ShieldArduino Relay Shield

Page 6: 44CON 2013 - Controlling a PC using Arduino

How does a relay work?How does a relay work?

Page 7: 44CON 2013 - Controlling a PC using Arduino

CodeCode

Page 8: 44CON 2013 - Controlling a PC using Arduino

FunctionsFunctions

void setup()void setup()

void send404(EthernetClient client)void send404(EthernetClient client)

void sendStatus(EthernetClient client, char *variable, char void sendStatus(EthernetClient client, char *variable, char *value)*value)

char** parse(char* str)char** parse(char* str)

void reboot(int relay)void reboot(int relay)

void handleCommand(EthernetClient client, char* cmd, char* void handleCommand(EthernetClient client, char* cmd, char* param)param)

int countSegments(char* str)int countSegments(char* str)

void loop()void loop()

Page 9: 44CON 2013 - Controlling a PC using Arduino

Testing CodeTesting Code

Page 10: 44CON 2013 - Controlling a PC using Arduino

Uploading CodeUploading Code

Page 11: 44CON 2013 - Controlling a PC using Arduino

Monitoring ExecutionMonitoring Execution

Page 12: 44CON 2013 - Controlling a PC using Arduino

FutureFutureRS232 Interface / Telnet ServerRS232 Interface / Telnet Server

Page 13: 44CON 2013 - Controlling a PC using Arduino

FutureFutureTemperature monitoringTemperature monitoring

Page 14: 44CON 2013 - Controlling a PC using Arduino

Combined Relay/TempCombined Relay/Temp

Page 15: 44CON 2013 - Controlling a PC using Arduino

Questions and AnswersQuestions and Answers

[email protected]@michaelboman.org

@mboman@mboman