目录信息
- MES机联网1:技术方案
- MES机联网2:采集网关
- MES机联网3:管理后台
- MES机联网4:文档资料
MQ接入文档
1、建立连接
mqtt连接地址: 192.168.0.138
mqtt端口: 1883
mqtt用户名:admin
mqtt密码:123456
2、消息主题
2.1 上行topic(设备->平台)
A 服务端订阅的topic(监听所有上行数据),规则 M2M/up/#
B 设备发布的topic,规则 M2M/up/{mac}
2.2 下行topic(平台->设备)
A 设备端订阅的topic,规则 M2M/down/{mac}
B 服务端发布的topic,规则 M2M/down/{mac}
M2M/up/84F3EBB452BB
M2M/down/84F3EBB452BB
3、消息模板定义
名称 | 说明 | 类型 | 备注 |
c | 【code】简写 | int32 | 通讯指令 |
m | 【message】简写 | string | 通信内容 |
4、 通讯指令说明
值 | 说明 | 发起 |
1 | 设备发起OTA升级 | C->S |
2 | 服务端发起OTA升级 | S->C |
3 | 三色灯变化 | C->S |
4 | 计数(产量) | C->S |
5 | 完工(节拍、合格数、不合格数) | C->S |
6 | 重置计数 | S->C |
5、消息内容定义
5.1 设备主动升级
设备每次开机或重启后向服务器发送版本消息并携带唯一身份标识,服务器根据该标识判断是否进行OTA升级并将结果告知设备
5.1.1 设备上行报文
名称 | 说明 | 类型 | 备注 |
deviceid | 设备Id | string | YD-ZP709 |
mcuver | 设备版本 | string | 1.0.0 |
mcutype | 设备类型 | int |
报文示例:
{
"c": 1,
"m": {
"deviceid": "YD-ZP709",
"mcuver": "1.0.0",
"mcutype": 1000
}
}
5.1.2 服务器下行报文
名称 | 说明 | 类型 | 备注 |
errcode | 错误码 | int | 0 : 无 1:查无版本信息 2:版本比对失败 |
url | 升级包网址 | string |
|
报文示例:
{
"c": 1,
"m": {
"errcode": 0,
"url": "http://192.168.0.138:8601/test.bin"
}
}
5.2 服务器远程升级
需要更新固件时,服务器可远程发送指令告知设备升级。设备收到消息后,走设备主动升级流程
5.2.1 服务器下行报文
{"c":2,"m":""}
5.3 三色灯变化
设备状态变化后主动上报
5.3.1 设备上行报文
名称 | 说明 | 类型 | 备注 |
workshopid | 车间id | string | |
lineid | 产线id | string | |
deviceid | 设备id | string | |
currentstate | 当前三色灯颜色 | string | 000关灯,001绿灯,010黄灯,100红灯 |
oldstate | 上一个三色灯颜色 | string | |
periodsec | 持续时长 | int | 单位秒 |
报文示例:
{
"c": 3,
"m": {
"workshopid": "WS001",
"lineid": "DZ01",
"deviceid": "YD-ZP709",
"currentstate": "001",
"oldstate": "000",
"starttime": "2025-02-21T00:00:00",
"endtime": "2025-02-21T00:00:30",
"periodsec": 30
}
}
5.4 计数
IO计数为高电平时主动上报
5.4.1 设备上行报文
名称 | 说明 | 类型 | 备注 |
workshopid | 车间id | string | |
lineid | 产线id | string | |
deviceid | 设备id | string | |
productqty | 产量 | int |
报文示例:
{
"c": 4,
"m": {
"workshopid": "WS001",
"lineid": "DZ01",
"deviceid": "YD-ZP709",
"productqty": 1
}
}
5.5 完工
IO结束(合格/不合格)为高电平时主动上报
5.5.1 设备上行报文
名称 | 说明 | 类型 | 备注 |
workshopid | 车间id | string | |
lineid | 产线id | string | |
deviceid | 设备id | string | |
productqty | 产量 | int | |
pitchtime | 节拍 | int | |
passqty | 合格数 | int | |
ngqty | 不合格数 | int |
报文示例:
{
"c": 5,
"m": {
"workshopid": "WS001",
"lineid": "DZ01",
"deviceid": "YD-ZP709",
"pitchtime": 30,
"productqty": 1,
"passqty": 1,
"ngqty": 0
}
}
5.6 服务器重置计数
复位计数信息,包括,产量,合格数,不合格数,节拍
5.6.1 服务器下行报文
{"c":6,"m":""}
数据库设计
数据库名称factory
mst_ota_version OTA版本表 | ||
字段名 | 类型 | 说明 |
Id | bigint | 主键、自增Id |
ota_name | varchar(40) | ota名称 |
ota_version | varchar(40) | ota版本号 |
ota_type | int | ota类型 |
ota_filename | varchar(40) | ota升级文件名 |
remark | varchar(40) | 备注 |
create_id | bigint | 创建者ID |
mst_workshop_info车间表 | ||
字段名 | 类型 | 说明 |
Id | bigint | 主键、自增Id |
workshop_id | varchar(40) | 车间ID |
workshop_name | varchar(40) | 车间名称 |
remark | varchar(40) | 备注 |
create_id | bigint | 创建者ID |
mst_line_info产线表 | ||
字段名 | 类型 | 说明 |
Id | bigint | 主键、自增Id |
line_id | varchar(40) | 产线ID |
line_name | varchar(40) | 产线名称 |
workshop_id | varchar(40) | 车间ID |
remark | varchar(40) | 备注 |
create_id | bigint | 创建者ID |
mst_device_info 设备表 | ||
字段名 | 类型 | 说明 |
Id | bigint | 主键、自增Id |
device_id | varchar(40) | 设备ID |
device_name | varchar(40) | 设备名称 |
workshop_id | varchar(40) | 车间ID |
line_id | varchar(40) | 产线ID |
status | varchar(40) | 当前状态 |
product_qty | int | 产量 |
pitch_time | int | 节拍 |
pass_qty | int | 合格数 |
ng_qty | int | 不合格数 |
mcu_mac | varchar(40) | 设备MAC地址 |
mcu_version | varchar(40) | 设备固件版本 |
mcu_online_time | datetime | 设备上线时间 |
remark | varchar(40) | 备注 |
create_id | bigint | 创建者ID |
mst_device_status_history 设备状态历史表 | ||
字段名 | 类型 | 说明 |
Id | bigint | 主键、自增Id |
workshop_id | varchar(40) | 车间ID |
line_id | varchar(40) | 产线ID |
device_id | varchar(40) | 设备ID |
status | varchar(40) | 状态 |
start_datetime | datetime | 开始时间 |
end_datetime | datetime | 结束时间 |
period_sec | int | 持续时间(秒数) |
mst_device_process_data 完工记录表 | ||
字段名 | 类型 | 说明 |
Id | bigint | 主键、自增Id |
workshop_id | varchar(40) | 车间ID |
line_id | varchar(40) | 产线ID |
device_id | varchar(40) | 设备ID |
device_name | varchar(40) | 设备名称 |
product_qty | int | 产量 |
pitch_time | int | 节拍 |
pass_qty | int | 合格数 |
ng_qty | int | 不合格数 |
record_datetime | datetime | 记录时间 |
mst_device_2_user 设备用户关联表 | ||
字段名 | 类型 | 说明 |
Id | bigint | 主键、自增Id |
device_id | string | 设备ID |
user_id | bigint | 用户自增ID |