<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

//die("First test");
	function charToHex ($c) {
		if ($c > '9')
			return $c - 'A' + 10;
		else
			return $c - '0';
	}

	function dataToHex ($in){
		$t = $in[0];
		$u = $in[1];
		$r = 0;
		$r = charToHex($t) + 16 * charToHex($u);
		return $r;
	}

	// La data est récupérée par le méthode GET depuis la page led.php
	if (isset($_GET['data'])){
		if (($sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)) === false){
			echo "socket_create() a échoué : raison : " . socket_strerror(socket_last_error()) . "\n";
		}

		// $data = donnee
			//$data = "\x10\xFF\x00\xFF\x00";
			$data_in = $_GET['data'];
			$data[0] = "\x10"; // ID pour choisir la bande de led
			$data[1] = hex2bin(substr($data_in, 0, 2)); // couleur R
			$data[2] = hex2bin(substr($data_in, 2, 2)); // couleur G
			$data[3] = hex2bin(substr($data_in, 4, 2)); // couleur B
			$data[4] = "\x00"; // Puissance des leds

			$data = implode($data);	
		// $len_data = nb d'octets contenu par $data
			$len_data = strlen($data);
		// $addr = addresse ip du client ()
			$addr = '192.168.10.2'; // il serait interessant d'avoir la detection de l'adresse ip automatique sur un serveur et client different
		// $port = numero de port sur lequel les donnes doient etre envoyees
			$port = 12345;
		
		if (($bit_env = socket_sendto($sock, $data, $len_data, 0, $addr, $port)) === false){
			echo "socket_sendto() a échoué : raison : " . socket_strerror(socket_last_error($sock)) . "\n";
		}
		socket_close($sock);
	}
?>