MES机联网4:文档资料

目录信息

  • 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/897313.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“此电脑”中删除WPS云盘方法(百度网盘通用)

📣此方法适用于卸载WPS云盘后,WPS云盘图标依然在此电脑中显示的问题。 原理:通过注册来进行删除 步骤: WIN键R,打开运行窗口,输入regedit命令,来打开【注册表编辑器】; 从左侧,依…

【 Vue3 提升:技术解析与实践】

摘要 Vue.js 3.0 的发布为前端开发带来了众多性能提升、新特性和改进。本文将深入探讨 Vue3 的提升之处,从性能优化、新特性解析、生态系统发展等多个方面进行解析,并通过实践案例展示如何在项目中应用这些新特性。 一、认识 Vue3 1. Vue3 的发布背景…

279.完全平方数

279.完全平方数 力扣题目链接(opens new window) 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 给你一个整数 n ,返回和为 n 的完全平方数的 最少数…

HTML-网页介绍

一、网页 1.什么是网页: 网站是指在因特网上根据一定的规则,使用 HTML 等制作的用于展示特定内容相关的网页集合。 网页是网站中的一“页”,通常是 HTML 格式的文件,它要通过浏览器来阅读。 网页是构成网站的基本元素&#xf…

Django模板语法及静态文件

模板语法及静态文件 1 多app创建 在主路由当中引入 include include()函数是Django.urls模块中的一个函数,它的作用是在urls.py文件中引入其他应用的URL模式。 from django.urls import path, include创建多个app python manage.py startapp project_one python ma…

[PWNME 2025] PWN 复现

这种比赛得0也不容易,前边暖声还是能作的。 GOT 指针前溢出,可以溢出到GOT表,然后把后门写上就行 Einstein 这个拿到WP也没复现成,最后自己改了一下。 int __cdecl handle() {int offset; // [rsp8h] [rbp-38h] BYREFunsigne…

微信小程序将markdown内容转为pdf并下载

要在微信小程序中将Markdown内容转换为PDF并下载,您可以使用以下方法: 方法一:使用第三方API服务 选择第三方API服务: 可以选择像 Pandoc、Markdown-PDF 或 PDFShift 这样的服务,将Markdown转换为PDF。例如,PDFShift 提供了一个API接口,可以将Markdown内容转换为PDF格式…

MongoDB(一) - MongoDB安装教程(Windows + Linux)

文章目录 前言一、Windows安装单机MongoDB1. 下载并解压MongoDB安装包1.1 下载1.2 解压1.3 相关文件介绍 2. 配置2.1 配置环境变量2.1.1 打开系统属性设置2.1.2 编辑 PATH 环境变量2.1.3 验证环境变量是否配置成功 2.2 创建相关目录和文件2.3 修改MongoDB配置文件 mongodb.conf…

mybatis日期格式与字符串不匹配bug

异常特征:java.lang.IllegalArgumentException: invalid comparison: java.time.LocalDateTime and java.lang.String ### Error updating database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.time.LocalDateTime and java.lang.Str…

【算法学习之路】5.贪心算法

贪心算法 前言一.什么是贪心算法二.例题1.合并果子2.跳跳!3. 老鼠和奶酪 前言 我会将一些常用的算法以及对应的题单给写完,形成一套完整的算法体系,以及大量的各个难度的题目,目前算法也写了几篇,题单正在更新&#xf…

快速使用MASR V3版不能语音识别框架

前言 本文章主要介绍如何快速使用MASR语音识别框架训练和推理,本文将致力于最简单的方式去介绍使用,如果使用更进阶功能,还需要从源码去看文档。仅需三行代码即可实现训练和推理。 源码地址:https://github.com/yeyupiaoling/MA…

C语言_数据结构总结5:顺序栈

纯C语言代码,不涉及C 想了解链式栈的实现,欢迎查看这篇文章:C语言_数据结构总结6:链式栈-CSDN博客 这里分享插入一下个人觉得很有用的习惯: 1. 就是遇到代码哪里不理解的,你就问豆包,C知道&a…

2021 年 6 月青少年软编等考 C 语言六级真题解析

目录 T1. 波兰表达式T2. 多项式相加思路分析T3. 扑克牌排序思路分析T4. 表达式求值思路分析T1. 波兰表达式 题目链接:SOJ D1087 此题为 2023 年 12 月三级第三题原题,见 2023 年 12 月青少年软编等考 C 语言三级真题解析中的 T3。 T2. 多项式相加 题目链接:SOJ D1088 我…

AI数字人| Fay开源项目、UE5数字人、本地大模型

数字人实践教程 本教程主要是讲如何在本地UE部署Fay数字人的开源框架。 最终效果可以与人进行自然语言的对话,花了大概10个h的时间到,踩了很多坑,同样想实现的朋友可以作为参考 参考文档:Fay 数字人开源框架 - 飞书云文档 官方的教…

网络版汉译英服务(muduo)

文章目录 网络版汉译英服务(muduo)muduo库muduo 库是什么muduo 库常见接口介绍muduo::net::EventLoopmuduo::net::TcpConnectionmuduo::net::TcpServermuduo::net::TcpClientmuduo::net::Buffer 汉译英服务服务端客户端 网络版汉译英服务(mud…

在ArcMap中通过Python编写自定义工具(Python Toolbox)实现点转线工具

文章目录 一、需求二、实现过程2.1、创建Python工具箱(.pyt)2.2、使用catalog测试代码2.3、在ArcMap中使用工具 三、测试 一、需求 通过插件的形式将点转线功能嵌入ArcMap界面,如何从零开始创建一个插件,包括按钮的添加、工具的实…

C++之序列容器(vector,list,dueqe)

1.大体对比 在软件开发的漫长历程中,数据结构与算法始终占据着核心地位,犹如大厦的基石,稳固支撑着整个程序的运行。在众多编程语言中,数据的存储与管理方式各有千秋,而 C 凭借其丰富且强大的工具集脱颖而出&#xff…

【学习笔记】【DeepSeek AI 医生】2-2 AI家庭医生课程内容介绍

【DeepSeek AI 医生】2-4 项目详细分析及DeepSeek适用场景 一、Ollama部署二、可视化UI三、构建项目环境四、搭建项目架构五、Spring Al六、SSE服务端推送事件七、数据持久化八、线上部署 一、Ollama部署 Mac部署windows 部署ollama脚本、常用命令DeepSeek 提示词、角色、适用…

STM32 I2C驱动开发全解析:从理论到实战 | 零基础入门STM32第五十步

主题内容教学目的/扩展视频I2C总线电路原理,跳线设置,I2C协议分析。驱动程序与调用。熟悉I2C总线协议,熟练调用。 师从洋桃电子,杜洋老师 📑文章目录 引言一、I2C驱动分层架构二、I2C总线驱动代码精析2.1 初始化配置&a…

Vercel Serverless

1. 引言 现代应用程序是为适应当前技术环境需求而设计的软件,采用现代开发工具和实践,针对云部署和可扩展性优化。它们由多个模块化小组件组成,便于集成和缩放,具有高度的敏捷性和适应性,能快速响应用户或业务需求变化…