directman

Екатеринбург, Россия

На форуме: directman66


 
<<< Back

получение / передача GPS координат сервису livegps.com

Оттуда:

$urls = [
    ['url' => 'http://livegpstracks.com/viewer_coos_s.php?code=ваш код1],
    ['url' => 'http://livegpstracks.com/viewer_coos_s.php?code=ваш код2'],
];

    foreach ($urls as $url1) {

     echo $url1['url'];
$content=getURL($url1['url'], 0);  
$data=json_decode($content,true);
//$objn=$data[0]['id'];
$objn=$data[0]['code'];

echo $objn.'----------------';
addClassObject('livegpstracks',$objn);
$src=$data[0];

//получаю последнее значение времени импортирования в бд     
$lud=gg($objn.'.d'); $lut=gg($objn.'.d');         

     sg( $objn.'.json',$content);

   sg( $objn.'.link','https://livegpstracks.com/dv_'.$objn.'.html');     
foreach ($src as $key=> $value ) {
   sg( $objn.'.'.$key,$value);
 echo $key;
}     

if ($lud<> gg($objn.'.d')   and  ($lut<> gg($objn.'.t'))) {

$url = BASE_URL . '/gps.php?latitude=' . gg($objn.'.lat')
        . '&longitude=' . gg($objn.'.lng')
        . '&altitude=' . gg($objn.'.altitude')
        . '&accuracy=' . gg($objn.'.gpsaccuracy') 
        . '&provider=' . gg($objn.'.cellid') 
        . '&speed='       .gg($objn.'.speed') 
        . '&battlevel=' . gg($objn.'.battery') 
        . '&charging=' . gg($objn.'.charging') 
        . '&deviceid=' . $objn ;

getURL($url, 0);

$adr=getadrfromxy(gg($objn.'.lat'),gg($objn.'.lng'));  
sg($objn.'.address', $adr); 

//$spl=split(',',$adr) ;
$spl=explode(',',$adr) ;
sg($objn.'.short_address', $spl[0]); 

 sg($objn.'.gpsupdate', 'updated'); 

}    
else {sg($objn.'.gpsupdate', 'no need'); }     
    }

Туда:

//rtt protocol
$host="5.9.136.109";
$port=3359;
$socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname("tcp"));  // Create Socket
        if (socket_connect($socket, $host, $port)) 
        {  //Connect

$imei=$params['imei'];
$x=$params['x'];         
$y=$params['y'];         
$speed=$params['speed'];         
$visota=$params['visota'];                  
$bat=$params['bat'];                           
$azimut=123;

//$dt=20130618;
$dt=date('Ymd');
//$tm=195430;
$tm=date('His');         
$utc='-5';
$sputnik=24;
$gsm=$params['gsm'];                                    

//признак GPS или LBS: "A" (координаты определены по GPS или "V" - по LBS), (string) 1 символ         
$gpslbs='V';
$sos=0;         

$sendStr= "rtt003,$imei,$x,$y,$speed,$visota,$azimut,$bat,$dt,$tm,$utc,$sputnik,$gsm,$gpslbs,".$sos;         
echo    $sendStr;      

socket_write ($socket,$sendStr );   // by group data transmission
//$sendStrArray = str_split(str_replace(' ', '', $sendStr), 2);  // The 16 binary data into a set of two arrays
//for ($j = 0; $j <count ($sendStrArray); $j++) {
//socket_write ($socket, Chr (hexdec ($sendStrArray[$j])));   // by group data transmission
//            }

//$receiveStr = "";
//$receiveStr = socket_read($socket, 1024, PHP_BINARY_READ);  // The 2 band data received 
//$receiveStrHex = bin2hex ($receiveStr);   // the 2 hexadecimal data convert 16 hex
//echo  "send:".$sendStr ;
//         echo "<br>";
//         echo " answer:" . $receiveStr;   
//         echo " answerSTR:" .hex2str($receiveStrHex);
//         echo " answerHEX:" . $receiveStrHex.'<br>';
//   
}
        socket_close($socket);  // Close Socket

/////////////////////////////////
/////////////////////////////////
//http://livegpstracks.com/forum/viewtopic.php?f=30&t=949
//Облегченный открытый RTT-протокол версии 003

//Сервер: srv1.livegpstracks.com или 5.9.136.109
//Порт: 3359
//Устройство для выбора из списка при подключении: RTT Lite

//Данный протокол реализует однонаправленную передачу данных между терминалом и сервером.
//Информация передаётся по сети интернет с использованием протокола TCP/IP.

//От устройства приходит строка с данными. Пример:
//Код:
//rtt003,356217625371625,-59.4364251,-129.9839853,0023,0014,123,090,20130618,195430,-11,24,60,A,1
//В ответ сервер выдаст "\r\n". Под "\r\n" понимается последовательность 0x0D, 0x0A.

//Расшифровка пакета:
//Протокол: "rtt003", (string) 6 символов
//imei: "356217625371625", (string) 15 символов
//долгота: "-59.4364251", (float) 11 символов
//широта: "-129.9839853", (float) 12 символов
//скорость: "23", (int) 2 символа
//высота: "14", (int) 2 символа
//азимут: "123", (int) 3 символа
//заряд батареи: "90", в процентах, (int) 3 символа
//дата: "20130618", (string) 8 символов
//время: "195430", (string) 6 символов
//UTC: "-11", (int) 3 символа
//количество спутников: "24", (int) 2 символа
//уровень GSM сигнала: "60", (int) 2 символа
//признак GPS или LBS: "A" (координаты определены по GPS или "V" - по LBS), (string) 1 символ
//SOS: "1" (сработала кнопка SOS) или "0" (не нажата), (int) 1 символ

Discuss (0) (0)