uro / teltonika-fm-parser
Teltonika FMXXXX 解析库
3.0.0
2023-09-21 09:14 UTC
Requires
- php: >=8.1
- mdurrant/php-binary-reader: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.15
- mockery/mockery: ^1.5
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2024-09-21 11:43:13 UTC
README
该仓库是一个面向对象的库,用于翻译Teltonika协议。
您可以在您的服务器中使用此库,它将帮助您与Teltonika设备通信。
它使用Teltonika协议v2.10 文档构建。
需求
{ "require": { "php": ">=7.0" }, "require-dev": { "phpunit/phpunit": "^5.7" } }
用法
$parser = new FmParser('tcp'); // Decode IMEI $imei = $parser->decodeImei($payload); // Decode Data Packet $packet = $parser->decodeData($payload);
示例
TCP
$parser = new FmParser('tcp'); $socket = stream_socket_server("tcp://0.0.0.0:8043", $errno, $errstr); if (!$socket) { throw new \Exception("$errstr ($errno)"); } else { while ($conn = stream_socket_accept($socket)) { // Read IMEI $payload = fread($conn, 1024); $imei = $parser->decodeImei($payload); // Accept packet fwrite($conn, Reply::accept()); // Decline packet // fwrite($conn, Reply::reject()); // Read Data $payload = fread($conn, 1024); $packet = $parser->decodeData($payload); // Send acknowledge fwrite($conn, $parser->encodeAcknowledge($packet)); // Close connection fclose($conn); } fclose($socket); } }