GSM-устройство Teltonika FM1100 Avl Data Ack

1) Модуль GPS FM1100 отправляет следующие данные:

IMEI
123456788927333

2) Мы отправляем 01 в виде двоичного кода на модуль GPS (номер IMEI принят, мы говорим модулю отправить необработанные данные)

3) GPS отправляет следующие необработанные данные

Необработанные данные

Below is the parsed data, After parsing we are sending no. of data received ex: 6 as acknowledgement to the GPS module Array ( [timestamp] => 2015-06-10 04:38:48 [priority] => 1 [lng] => 51.5064245 [lat] => 25.1942671 [altitude] => 42 [angle] => 100 [statilite] => 10 [speed] => 0 [is_io_generated] => 1 [io_data] => Array ( [No IO Rec] => 04 [Data] => Array ( [0] => Array ( [No Rec One Byte] => 2 [Data] => Array ( [0] => Array ( [key] => 1 [val] => 1 )

                                [1] => Array
                                    (
                                        [key] => 2
                                        [val] => 0
                                    )

                            )

                    )

                [1] => Array
                    (
                        [No Rec Two Byte] => 1
                        [Data] => Array
                            (
                                [0] => Array
                                    (
                                        [key] => 24
                                        [val] => 0
                                    )

                            )

                    )

                [2] => Array
                    (
                        [No Rec Four Byte] => 1
                        [Data] => Array
                            (
                                [0] => Array
                                    (
                                        [key] => 199
                                        [val] => 0
                                    )

                            )

                    )

                [3] => Array
                    (
                        [No Rec Eight Byte] => 0
                        [Data] => Array
                            (
                            )

                    )

            )

    )

)

4) Мы можем анализировать данные и отправлять подтверждение в модуль GPS.

5) Но модуль GPS постоянно отправляет старые данные, несмотря на отправку правильных данных подтверждения.

Мы не уверены, что отправляем данные подтверждения в правильном формате, указанном в руководстве к модулю GPS.

Пожалуйста, помогите в этом отношении.

        if(strlen($rdata) == 15){
           $this->imei = $rdata; // imei number from the gps module
           $codata = pack("H*", "01"); // accept the connection and tell to the gps module to send the data
           $this->server->send('current client socket', $codata); //send to the gps module
        }else{
           $bh = bin2hex($rdata); // from gps module rawdata bin to hex
           $sql = $this->sqlparsingfm($bh); // parsing data

           $sdata = $data["norecord"]; // parsed data from the GPS module. no of record received

           $hex = str_pad($sdata, 8, "0", STR_PAD_LEFT);
           // $hex = "0x06";
           // $hex = pack("H*", "0x06");

           $this->server->send($e->parameters->idClient, $hex);
        }

?>

Ниже приведена ссылка на документацию модуля GPS.

Страница № 7. Раздел Связь с сервером. Отправка ответа обратно в модуль

http://www.sourceforge.net/p/opengts/discussion/579834/thread/6fd0ffe8/6213/attachment/FMXXXX%20Protocols%20v2.10.pdf


person Kevin    schedule 11.07.2015    source источник
comment
эй, я борюсь с отправкой подтверждения 01. Я уже пробовал \x01 и \x00\x01, но оба не работают. Что вы использовали? Благодарность   -  person Drazen    schedule 23.02.2016
comment
Эй, чувак, не мог бы ты поделиться своим рабочим PHP-кодом? Я также работаю над получением данных FM1100.   -  person Drazen    schedule 14.03.2016


Ответы (1)


Во-первых, не используйте pack без необходимости. Итак, замените:

$codata = pack("H*", "01"); // accept the connection and tell to the gps module to send the data
$this->server->send('current client socket', $codata); //send to the gps module

с

$this->server->send('current client socket', "\x01");

Затем, чтобы отправить правильное подтверждение пакета, измените

$this->server->send($e->parameters->idClient, $hex);

to

$this->server->send($e->parameters->idClient, pack('N', $sdata));

и это должно все исправить.

person mlask    schedule 21.07.2015