uro/teltonika-fm-parser

Teltonika FMXXXX 解析库

3.0.0 2023-09-21 09:14 UTC

This package is auto-updated.

Last update: 2024-09-21 11:43:13 UTC


README

Build Status Scrutinizer Code Quality CodeFactor Latest Stable Version Total Downloads

该仓库是一个面向对象的库,用于翻译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);
	}
}

许可证

公有领域