需求.md 4.8 KB

山东党校第一期需求

需求

  • 对接党校9个子系统的数据
  • 获取推送的数据进行大屏展示

对接甲方系统

  • 门禁系统 缩写:eg
  • 停车系统 缩写:car
  • 消防应急系统 缩写:fire
  • 用户采购系统 缩写:ap
  • 会议系统 缩写:meeting
  • 机房 缩写:machine
  • 背景音乐 缩写:music
  • 视频监控 缩写:video
  • 设备故障管理 缩写:sm
  • 信发系统 xf

详细需求

对接子系统采集数据

  • c++程序,通过采集子系统数据,进行持久化的同时,并且进行mqtt的推送
  • 消费者程序接收消息后,进行数据的处理
  • 通过webscoket推送给前端进行数据的展示

通过手机端控制数据进行推送

  • 手机页面显示9个不同的子系统模块
  • 用户进行数据的填充,然后调用接口
  • 后台接口通过webscoket推送到前端

注意事项

  • c++程序进行mqtt数据推送的数据格式是json
  • json里面需要的字段
    • describe:描述(以此作为策略模式的开始)
    • data:json
  • json示例
    • describe:火灾事故统计
    • data:数据
  • mqtt的topic主题命名规则:公司名称/系统名称/模块名称/接口描述
  • 通道名称示例:sd/eg(门禁系统)/come(出入模块)/comeCount(出入统计)
  • 消费者监听这些队列,然后通过策略模式为不同的子系统进行不同的实现

子系统的业务需求

消防应急系统

  • topic
    • sd/fire/程序模块编号/infoAndAlarm
  • json中data数据参数
参数名称 参数说明 类型 schema
devId 设备唯一编码 string
connType 传输方式 string 通信方式 G:4G N:NB L:LoRa S:专线 B:总线
devs 设备列表 array 设备列表
  dp 设备属性 array
   property 属性名称 string
   value 属性值 string
   serial 序号 string
   status 告警状态 int 0未消除 1已消除
  deviceName 设备名称 string
  timeStamp 时间戳 string
  devceType 设备类型 string
  devcieModel 设备型号 string
  devId 设备id string
type 数据类型 INFO:心跳数据 ALARM:告警 string
timestamp 时间戳 long
{
    "devId":"1000001",
    "connType":"G",
     "deviceName":"烟感",
    "devs":[
        {
            "dp":[
                {
                    "property":"温度",
                    "serial":"xxx",
                    "value":"23"
                },
                {
                    "property":"电池",
                     "serial":"xxx",
                    "value":"77"
                },
                {
                    "property":"信号",
                     "serial":"xxx",
                    "value":"-144"
                }
            ],
            "deviceName":"烟感",
            "timeStamp":"",
            "devceType":"",
            "devcieModel":"xxxx",
            "devId":"xxx"
        }
    ],
    "type":"INFO",
    "timeStamp":"1627978385065"
}
{
    "devId":"1000001",
    "connType":"G",
    "deviceName":"",
    "alarams":[
        {
            "dp":[
                {
                    "property":"信号",
                    "serial":"222",
                    "value":"-144",
                    "status":"1"
                }
            ],
            "deviceName":"烟感",
            "timeStamp":"",
            "devcieModel":"xxxxx",
            "deviceType":"",
            "devId":""
        }
    ],
    "type":"ALARM",
    "timeStamp":"1627978385065"
}