1 Star 0 Fork 8

小栈/JT808

forked from litaotxws/JT808 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
server.php 1.49 KB
一键复制 编辑 原始数据 按行查看 历史
litaotxws 提交于 2020-07-11 09:54 . 增加第一版说明
<?php
require_once __DIR__ . '/vendor/autoload.php';
use lttxws\JT808;
use Workerman\Worker;
// 创建一个Worker监听8095端口,不使用任何应用层协议
$tcp_worker = new Worker("tcp://192.168.1.5:8095");
// 启动12个进程对外提供服务
$tcp_worker->count = 12;
// 当客户端发来数据时
$tcp_worker->onMessage = function ($connection, $data) {
$JT808 = new JT808();
//16进制数据
$data16Arrays = $JT808->getTo16Bytes($data);
foreach ($data16Arrays as $key => $data16Array) {
//获取消息id
$MessageId = $JT808->getMessageIdNumber($data16Array);
//设备号
$equipmentNumber = $JT808->getEquipmentNumber($data16Array);
//位置信息上报获取
if ($MessageId == '0200' && $equipmentNumber) {
//报警信息
$AlarmMessage = $JT808->getAlarmMessage($data16Array, 13);
//状态
$status = $JT808->getPositionStatus($data16Array, 17);
//经度
$Latitude = $JT808->getLatitude($data16Array, 21, 'i');
//纬度
$Longitude = $JT808->getLongitude($data16Array, 25, 'i');
//高度
$Height = $JT808->getHeight($data16Array, 29);
//速度
$Speed = $JT808->getSpeed($data16Array, 31);
//方向
$Direction = $JT808->getDirection($data16Array, 33);
//时间
$Datetime = $JT808->getDatetime($data16Array, 35);
if ($Latitude && $Longitude) {
//执行你的逻辑
}
}
//发送给客户端
$sendClientData = $JT808->getVerifyNumberArray($data16Array);
$connection->send($sendClientData);
}
};
// 运行worker
Worker::runAll();
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
PHP
1
https://gitee.com/xiaozhan/JT808.git
git@gitee.com:xiaozhan/JT808.git
xiaozhan
JT808
JT808
master

搜索帮助