Démarrage ordinateur (Wake On Lan) avec SARA

Voir avec modérateur si adapté au forum :wink:

Permet de démarrer un ordinateur en veille via une commande vocale SARA.

Commande SARA

Sara demande quel matériel vous voulez démarrer.

<? if ($request == "ordinateur"){ $response->say("Quel materiel voulez vous demarrer ?"); $response->entercontext("quel_peripherique"); ok(); }

Context : (« quel_peripherique »)

Dans cet exemple vous demandez d’allumer le pc ou imac

<? if ($request == "pc"){ $response->say("Demarrage PC activer"); $ret = file("http://adresse IP du serveur/wakepc.php"); $response->exitcontext(); ok(); } else if ($request == "imac"){ $response->say("Demarrage iMac activer"); $ret = file("http://adresse ip du serveur/wakeimac.php"); $response->exitcontext(); ok(); }

Contenu du fichier wakeimac.php présent sur le serveur.

[code]<?
flush();
function WakeOnLan($addr, $mac,$socket_number) {

$addr_byte = explode(‹ : ›, $mac);

$hw_addr = ‹  ›;

for ($a=0; $a <6; $a++) $hw_addr .= chr(hexdec($addr_byte[$a]));

$msg = chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);

for ($a = 1; $a <= 16; $a++) $msg .= $hw_addr;

$s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);

if ($s == false) {
echo « Error creating socket!\n »;
echo « Error code is ' ».socket_last_error($s)."’ - " . socket_strerror(socket_last_error($s));
return FALSE;
} else {
$opt_ret = socket_set_option($s, 1, 6, TRUE);

if($opt_ret <0) {
echo "setsockopt() failed, error: " . strerror($opt_ret) . « \n »;
return FALSE;
}

if(socket_sendto($s, $msg, strlen($msg), 0, $addr, $socket_number)) {
echo « IMAC ALLUME ! »;
socket_close($s);
return TRUE;
} else {
echo « DEMARRAGE ECHOUE ! »;
return FALSE;
}
}
}

$socket_number = « 9 »;
$mac_addy = « Adresse_Mac_de_votre_carte_reseau »;
$ip_addy = gethostbyname(« Adresse_IP_de_votre_ordinateur »);

WakeOnLan($ip_addy, $mac_addy,$socket_number)
?>[/code]

Vidéo démo disponible ici http://youtu.be/xhpM_aA65ZE

Effectivement c’est pas du tout adapté, mais bon, ils sont gentils chez GCE…