Advertisement
Guest User

Untitled

a guest
Apr 12th, 2012
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.70 KB | None | 0 0
  1. <?
  2.     //error_reporting(E_ALL);
  3.  
  4.    
  5.     $tvip = "192.168.1.31"; //IP Address of TV
  6.     $myip = "192.168.1.200"; //Doesn't seem to be really used
  7.     $mymac = "00-0c-29-3e-b1-4f"; //Used for the access control/validation, but not after that AFAIK
  8.     $appstring = "iphone..iapp.samsung"; //What the iPhone app reports
  9.     $tvappstring = "iphone.LE46C650.iapp.samsung"; //Might need changing to match your TV type
  10.     $remotename = "MedieCenter Remote"; //What gets reported when it asks for permission/also shows in General->Wireless Remote Control menu
  11.  
  12.  
  13.     echo "Content-type: text/html\n\n";
  14.  
  15.     $sock = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
  16.     $result = socket_connect($sock, $tvip, '55000');
  17.     if( $result === false)
  18.        die ("Could not create socket: \n");
  19.  
  20.     //Normal remote keys
  21.     //KEY_0
  22.     //KEY_1
  23.     //KEY_2
  24.     //KEY_3
  25.     //KEY_4
  26.     //KEY_5
  27.     //KEY_6
  28.     //KEY_7
  29.     //KEY_8
  30.     //KEY_9
  31.     //KEY_UP
  32.     //KEY_DOWN
  33.     //KEY_LEFT
  34.     //KEY_RIGHT
  35.     //KEY_MENU
  36.     //KEY_PRECH
  37.     //KEY_GUIDE
  38.     //KEY_INFO
  39.     //KEY_RETURN
  40.     //KEY_CH_LIST
  41.     //KEY_EXIT
  42.     //KEY_ENTER
  43.     //KEY_SOURCE
  44.     //KEY_AD
  45.     //KEY_PLAY
  46.     //KEY_PAUSE
  47.     //KEY_MUTE
  48.     //KEY_PICTURE_SIZE
  49.     //KEY_VOLUP
  50.     //KEY_VOLDOWN
  51.     //KEY_TOOLS
  52.     //KEY_POWEROFF
  53.     //KEY_CHUP
  54.     //KEY_CHDOWN
  55.     //KEY_CONTENTS
  56.     //KEY_W_LINK //Media P
  57.     //KEY_RSS //Internet
  58.     //KEY_MTS //Dual
  59.     //KEY_CAPTION //Subt
  60.     //KEY_REWIND
  61.     //KEY_FF
  62.     //KEY_REC
  63.     //KEY_STOP
  64.  
  65.     //Bonus buttons not on the normal remote:
  66.     //KEY_TV
  67.  
  68.     //Don't work/wrong codes:
  69.     //KEY_CONTENT
  70.     //KEY_INTERNET
  71.     //KEY_PC
  72.     //KEY_HDMI1
  73.     //KEY_OFF
  74.     //KEY_POWER
  75.     //KEY_STANDBY
  76.     //KEY_DUAL
  77.     //KEY_SUBT
  78.     //KEY_CHANUP
  79.     //KEY_CHAN_UP
  80.     //KEY_PROGUP
  81.     //KEY_PROG_UP
  82.  
  83.     $ipencoded = base64_encode($myip);
  84.     $macencoded = base64_encode($mymac);
  85.     $messagepart1 = chr(0x64) . chr(0x00) . chr(strlen($ipencoded)) . chr(0x00) . $ipencoded . chr(strlen($macencoded)) . chr(0x00) . $macencoded .
  86.                         chr(strlen(base64_encode($remotename))) . chr(0x00) . base64_encode($remotename);
  87.                        
  88.     $part1 = chr(0x00) . chr(strlen($appstring)) . chr(0x00) . $appstring . chr(strlen($messagepart1)) . chr(0x00) . $messagepart1;
  89.  
  90.     socket_write($sock, $part1, strlen($part1));
  91.     echo $part1;
  92.     echo "\n";
  93.  
  94.     $messagepart2 = chr(0xc8) . chr(0x00);
  95.     $part2 = chr(0x00) . chr(strlen($appstring)) . chr(0x00) . $appstring . chr(strlen($messagepart2)) . chr(0x00) . $messagepart2;
  96.     socket_write($sock, $part2, strlen($part2));
  97.     echo $part2;
  98.     echo "\n";
  99.  
  100.     //Preceding sections all first time only
  101.  
  102.     if (isset($_REQUEST["key"])) {
  103.        //Send remote key
  104.        $key = "KEY_" . $_REQUEST["key"];
  105.        $messagepart3 = chr(0x00) . chr(0x00) . chr(0x00) . chr(strlen(base64_encode($key))) . chr(0x00) . base64_encode($key);
  106.        $part3 = chr(0x00) . chr(strlen($tvappstring)) . chr(0x00) . $tvappstring . chr(strlen($messagepart3)) . chr(0x00) . $messagepart3;
  107.        socket_write($sock,$part3,strlen($part3));
  108.        echo $part3;
  109.        echo "\n";
  110.     } else if (isset($_REQUEST["text"])) {
  111.        //Send text, e.g. in YouTube app's search, N.B. NOT BBC iPlayer app.
  112.        $text = $_REQUEST["text"];
  113.        $messagepart3 = chr(0x01) . chr(0x00) . chr(strlen(base64_encode($text, ""))) . chr(0x00) . base64_encode($text, "");
  114.        $part3 = chr(0x01) . chr(strlen($appstring)) . chr(0x00) . $appstring . chr(strlen($messagepart3)) . chr(0x00) . $messagepart3;
  115.        socket_write($sock,$part3,strlen($part3));
  116.        echo $part3;
  117.        echo "\n";  
  118.     }
  119.  
  120.     socket_close($sock);
  121.  
  122.     echo "\n\n";
  123. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement