GB28181设备报警接收服务(简易版)

70 阅读1分钟

一个简易的接收设备报警的服务

在同一目录下创建以下两个文件即可运行

GBAlarmServer/ ├── package.json # 项目配置文件 └── server.js # 服务端主程序代码

package.json

{
  "name": "gbalarmserver",
  "version": "1.0.0",
  "main": "index.js",
  "type": "module",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "express": "^5.1.0"
  }
}

server.js

import express from 'express';


const app = express();
const port = 3000;


// 使用中间件解析JSON请求体
app.use(express.json());


// 基本路由
app.post('/notify', (req, res) => {
    console.log(req.body);
    res.end('OK');
});


// 启动服务器
app.listen(port, () => {
    console.log(`服务器运行在 http://localhost:${port}`);
});

使用说明

安装项目依赖包

npm install          # 安装生产依赖

运行服务

node server.js       # 直接运行服务

数据释义

在这里插入图片描述

{
  // 设备编号 - 报警源设备ID(20位国标编码)
  DeviceID: '34020000001180000013',
  
  // 通道编号 - 报警发生的视频通道ID(20位国标编码)
  ChannelID: '34020000001310000002',
  
  // 报警级别 - 表示报警的严重程度
  // 1-一级(最高),2-二级,3-三级,4-四级(最低)
  AlarmPriority: '4',
  
  // 报警方式 - 触发报警的技术类型
  // 1-人工报警,2-设备报警,3-视频分析报警,4-其他系统报警,5-智能分析报警
  AlarmMethod: '5',
  
  // 报警时间 - 报警发生的UTC时间
  // 格式:ISO 8601扩展格式(YYYY-MM-DDThh:mm:ss)
  AlarmTime: '2025-04-11T14:44:31',
  
  // 报警类型 - 具体的报警事件分类
  // 1-视频遮挡,2-移动侦测,3-视频丢失,4-输入报警,5-智能分析报警...
  AlarmType: '2',
  
  // 事件类型 - 智能分析报警的子类型(可选字段)
  // 当AlarmMethod=5时使用,如:1-区域入侵,2-越线检测,3-人员聚集...
  EventType: ''
  }