Php Teltonika FM1100 GSM设备Avl数据确认

Php Teltonika FM1100 GSM设备Avl数据确认,php,parsing,tcp,gps,socketserver,Php,Parsing,Tcp,Gps,Socketserver,1) GPS FM1100模块发送以下数据 IMEI 123456788927333 2) 我们将01作为二进制文件发送到GPS模块(IMEI编号已接受,我们告诉模块发送原始数据) 3) GPS发送以下原始数据 原始数据 00000000000000 FF0860000014E0FCD6C30011EB91B3A0F0DB2F400120019090000000104020000200011800001C70000001300000014E102471E2011EB91B3A0F0DB2F400

1) GPS FM1100模块发送以下数据

IMEI
123456788927333

2) 我们将01作为二进制文件发送到GPS模块(IMEI编号已接受,我们告诉模块发送原始数据)

3) GPS发送以下原始数据

原始数据
00000000000000 FF0860000014E0FCD6C30011EB91B3A0F0DB2F400120019090000000104020000200011800001C70000001300000014E102471E2011EB91B3A0F0DB2F4001500190B000002001010200018000001C7000000000000000014E10396D22011EB804C50F1F254FF000000001040020000180000001C700000000000014E10E4C5C801EB804C504C50505F00002010102000001C70000001C700000014F804C501E040000000000120101020100001C700000000000000014E10F90DF801EB340FF0F045796000D000000090000000104020000200011800001C70000001A000000014E14605BA401EB340FF0F045796001C00009000010402010102000011800001C7000000000600001880

                                [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
                            (
                            )

                    )

            )

    )
下面是解析后的数据,解析后我们将发送收到的数据数量 ex:6作为对GPS模块的确认

排列
(
[时间戳]=>2015-06-10 04:38:48
[优先级]=>1
[lng]=>51.5064245
[lat]=>25.1942671
[高度]=>42
[角度]=>100
[Statistite]=>10
[速度]=>0
[是否生成io]=>1
[io_数据]=>阵列
(
[无IO记录]=>04
[数据]=>阵列
(
[0]=>阵列
(
[无记录单字节]=>2
[数据]=>阵列
(
[0]=>阵列
(
[键]=>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
                            (
                            )

                    )

            )

    )
)

                                [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模块发送确认

                                [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
                            (
                            )

                    )

            )

    )
5) 但是,尽管发送了正确的确认数据,GPS模块仍会重复发送旧数据

                                [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
                            (
                            )

                    )

            )

    )
我们不确定是否以GPS模块手册中提到的正确格式发送确认数据

                                [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
                            (
                            )

                    )

            )

    )
请在这方面提供帮助

                                [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
                            (
                            )

                    )

            )

    )

?>

                                [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
                            (
                            )

                    )

            )

    )
以下是GPS模块文档链接

                                [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
                            (
                            )

                    )

            )

    )
第7页。与服务器的通信部分。将响应发送回模块

                                [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
                            (
                            )

                    )

            )

    )

首先,不必要时不要使用
pack
                                [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
                            (
                            )

                    )

            )

    )
因此,替换:

                                [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
                            (
                            )

                    )

            )

    )
$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

                                [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
                            (
                            )

                    )

            )

    )
接下来,要发送正确的数据包确认,请更改

                                [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
                            (
                            )

                    )

            )

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

                                [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
                            (
                            )

                    )

            )

    )

这应该可以解决所有问题。

首先,不要在不必要的时候使用
pack
                                [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
                            (
                            )

                    )

            )

    )
因此,替换:

                                [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
                            (
                            )

                    )

            )

    )
$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

                                [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
                            (
                            )

                    )

            )

    )
接下来,要发送正确的数据包确认,请更改

                                [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
                            (
                            )

                    )

            )

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

                                [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
                            (
                            )

                    )

            )

    )

这应该可以解决所有问题。

嘿,我正在努力发送致谢01。我已经尝试了“\x01”和“\x00\x01”,但都不起作用。你用了什么?谢谢,你能分享你的PHP代码吗?我也在努力接收FM1100数据。嘿,我正在努力发送致谢01。我已经尝试过了“\x01”和“\x00\x01”但都不起作用。你用了什么?谢谢,你能分享你的PHP代码吗?我也在接收FM1100数据。
                                [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
                            (
                            )

                    )

            )

    )