Имеется на руках teltonik FMB920. Настроил его на отправку TCP пакетов на сервер через GPRS. На сервере написан PHP скрипт на сокетах. Удаётся считать только IMEI код устройства, который приходит первым пакетом. Далее трекер не принимает команд и не отвечает больше никак.
Попытка прочитать несколько раз
$sock = socket_create(AF_INET,SOCK_STREAM, 0 );
if (!socket_set_option($sock, SOL_SOCKET, SO_REUSEADDR, 1)) {
echo socket_strerror(socket_last_error($sock));
exit;
}
socket_bind($sock, "0.0.0.0", 12345);
$res = socket_listen($sock);
while (1) {
if ($res) {
echo "start listening\n";
}
$client = socket_accept($sock);
echo "get client\n";
for ($i = 0; $i<10; $i++) {
$responce = "";
echo "start_reading\n";
$response = socket_read($client, 100);
echo "readed \n***\n$response\n***\n";
sleep (1);
}
}
А это попытка отправить команду после прочтения первого пакета
for ($i = 0; $i<10; $i++) {
$responce = "";
echo "start_reading\n";
$response = socket_read($client, 100);
echo "readed \n***\n$response\n***\n";
sleep (1);
socket_write($client, "getver");
sleep (1);
$response = socket_read($client, 100);
echo "readed \n***\n$response\n***\n";
}
В общем. Суть была в незнании протокола teltonika.
https://wiki.teltonika.lt/index.php?title=RUT955_Protocols
Ежели кому лень читать, На первый пакет трекера в виде IMEI кода нужно ответить бинарной строкой "01"
socket_write($client, hex2bin("01"));
и далее уже трекер спокойно отдал мне gps данные в виде AVL пакета.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости