Computer afsluiten met Arduino

algemene C code
Berichten: 6
Geregistreerd: 12 Dec 2014, 17:40
Woonplaats: Groningen, Nederland

Computer afsluiten met Arduino

Berichtdoor Zwilk » 07 Jan 2015, 15:04

Hallo,

Al een lange tijd ben ik bezig uit te zoeken hoe een computer af te sluiten met een Arduino zonder hardware matig aanpassingen op de computer. Op meerdere forums heb ik hulp gevraagd, dit zonder werkend resultaat. Het is gelukt Windows 7 af te sluiten door Windows toets > Pijl rechts > Enter. Maar dit is niet de bedoeling: de methode moet platform onafhankelijk zijn.

Er zijn toetsenborden te koop waar zo geheten "power management" toetsen op zitten. De sleep, power en wake toetsen. Het idee is om deze toetsen te simuleren. Ik beschik over een Teensy 2.0 en een Arduino Uno R3. Ik heb het volgende gedaan:

Ik heb geprobeerd de usb_keyboard library aan te passen door bijvoorbeeld "#define KEY_POWER 0x81" toe te voegen. Vervolgens heb ik de volgende code gebruikt:
Code: Alles selecteren
#include <usb_keyboard>

int led = 11;

void setup() {
  pinMode(led, OUTPUT);
  Keyboard.begin();
}

void loop() {
  digitalWrite(led, HIGH);
  Keyboard.press(KEY_POWER/0x81/'0x81'/81/129/'129'); //Alles tussen de haakjes geprobeerd
  delay(10);
  Keyboard.releaseAll();
  delay(5000);
}


Maar dit lijkt niet te werken: de computer sluit niet af. Met deze manier heb ik ook geprobeerd de computer in standby modus te zetten. Ook tevergeefs.

Mijn vraag is: hoe sluit ik de computer af met een Arduino door de power management toetsen te simuleren? Ik hoop dat iemand een antwoord en oplossing heeft.

/Zwilk
"If the facts don't fit the theory, change the facts."

Advertisement

Berichten: 4067
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Computer afsluiten met Arduino

Berichtdoor shooter » 07 Jan 2015, 17:57

het programma heet shutdown /s voor stop /r voor restart
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Computer afsluiten met Arduino

Berichtdoor nicoverduin » 07 Jan 2015, 18:43

Heb jij de PC dan al zover dat deze de Arduino als keyboard ziet?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 6
Geregistreerd: 12 Dec 2014, 17:40
Woonplaats: Groningen, Nederland

Re: Computer afsluiten met Arduino

Berichtdoor Zwilk » 08 Jan 2015, 11:12

Bedankt voor de snelle reacties!

@shooter
Als je bedoelt dit te doen met opdracht prompt of uitvoeren: dit heb ik al geprobeerd. Het lukt ook, maar deze methode moet OS onafhankelijk zijn. En niet alle besturingssystemen ondersteunen deze manier van afsluiten volgens mij...

@nicoverduin
Ja, ik kan in principe elke toets simuleren op de power, sleep, wake toetsen na. Ook bijvoorbeeld caps lock heb ik kunnen simuleren door het volgende te gebruiken:

Code: Alles selecteren
Keyboard.press(KEY_CAPS_LOCK);


Deze zijn allemaal gedefinieerd in de usb keyboard library. Zoals eerder genoemd helpt het niet de power management toetsen te definiëren in de library.

/Zwilk
"If the facts don't fit the theory, change the facts."

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Computer afsluiten met Arduino

Berichtdoor nicoverduin » 08 Jan 2015, 12:01

en welk board gebruik je?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 6
Geregistreerd: 12 Dec 2014, 17:40
Woonplaats: Groningen, Nederland

Re: Computer afsluiten met Arduino

Berichtdoor Zwilk » 08 Jan 2015, 12:17

@nicoverduin
Ik heb een Arduino Uno R3 (imitatie, ik weet niet of dit uitmaakt) en een Teensy 2.0. Met de laatste is het dus gelukt om onder andere de caps lock te simuleren.
"If the facts don't fit the theory, change the facts."

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Computer afsluiten met Arduino

Berichtdoor nicoverduin » 08 Jan 2015, 13:14

Als ik de libary specs bekijk werkt die alleen met de Leonardo en micro. Niet de Uno. Dus ik weet niet welke lib je gebruikt?
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 6
Geregistreerd: 12 Dec 2014, 17:40
Woonplaats: Groningen, Nederland

Re: Computer afsluiten met Arduino

Berichtdoor Zwilk » 08 Jan 2015, 13:22

@nicoverduin

De library is gedownload van PJRC.com, dit is de fabrikant van de Teensy en is de volgende:
https://www.pjrc.com/teensy/usb_keyboard.zip

Op diezelfde site worden ook nog voorbeelden genoemd van een usb keyboard:
https://www.pjrc.com/teensy/usb_keyboard.html

/Zwilk
"If the facts don't fit the theory, change the facts."

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Computer afsluiten met Arduino

Berichtdoor nicoverduin » 08 Jan 2015, 14:10

Die libraries ken ik wel. En die gebruiken een chip die USB ingebouwd heeft. De UNO heeft dat niet en kan als zodanig niet als keyboard functioneren in de zin zoals je wilt. En de Teensy is toch iets anders als een UNO (zachtjes uitgedrukt). En je bent niet de eerste : http://arduino.stackexchange.com/questi ... s-with-uno
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 6
Geregistreerd: 12 Dec 2014, 17:40
Woonplaats: Groningen, Nederland

Re: Computer afsluiten met Arduino

Berichtdoor Zwilk » 08 Jan 2015, 14:32

@nicoverduin
Bedankt, dit maakt het een stuk duidelijker! Dan ga ik het verder proberen met de Teensy. Kan ik daar hier(op het arduinoforum) ook vragen over stellen, aangezien het in dezelfde taal en programmeeromgeving wordt gebruikt? Ik heb al het hierboven genoemde namelijk ook met de Teensy geprobeerd, maar ook dat lijkt het niet te doen.

/Zwilk
"If the facts don't fit the theory, change the facts."

Volgende

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 29 gasten