山东党校第一期需求
需求
- 对接党校9个子系统的数据
- 获取推送的数据进行大屏展示
对接甲方系统
- 门禁系统 缩写:eg
- 停车系统 缩写:car
- 消防应急系统 缩写:fire
- 用户采购系统 缩写:ap
- 会议系统 缩写:meeting
- 机房 缩写:machine
- 背景音乐 缩写:music
- 视频监控 缩写:video
- 设备故障管理 缩写:sm
- 信发系统 xf
详细需求
对接子系统采集数据
- c++程序,通过采集子系统数据,进行持久化的同时,并且进行mqtt的推送
- 消费者程序接收消息后,进行数据的处理
- 通过webscoket推送给前端进行数据的展示
通过手机端控制数据进行推送
- 手机页面显示9个不同的子系统模块
- 用户进行数据的填充,然后调用接口
- 后台接口通过webscoket推送到前端
注意事项
- c++程序进行mqtt数据推送的数据格式是json
- json里面需要的字段
- describe:描述(以此作为策略模式的开始)
- data:json
- json示例
- 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"
}