传输数据结构说明

SettingsetBrightness为例说明。

Main : Distribute HMI task request :setBrightness, handler:0x04.

Distribute HMI task:收到串口数据,处理分发给HMI的任务

setBrightness:HMI请求的请求名

handler:0x04:插件ID

Main : Distribute MCU task code :0x8404, handler:0x04.

code :0x8404:mcu的业务代码

handler:0x04:(code & 0x7F00)>> 8 的值

Serial : <<== , 48530000011284040088

串口服务收到的mcu的数据类型

报文首部

报文数据

报文校验

起始字节

协议版本

数据长度

帧号

业务代码

业务数据(变长)

1字节校验和

HS

1

2

1

2

48 十进制 72 = H

53 十进制 83 = S

00 协议版本号

0001 数据长度 1

12 十进制 18 帧号

8404 业务代码 主板应答报文

00: 数据 ACK_RECV_SUCCESS

88:报文校验和 ,有待验证

Serial : ==>> , 4853010002120404011f14

串口服务发给mcu的数据

48 十进制 72 = H

53 十进制 83 = S

01 协议版本号

0002数据长度

12 十进制 18 帧号

0404 业务代码 设置TFT背光参数

011f 数据 01 背光开 1f背光值 31

14 报文校验和,有代码验证

Server : recv 86, {"BI":1024,"FI":0,"Main : Distribute HMI task request :setBrightness, handler:0x04. 打印数据错误

替代数据

Server: recv 86, {"BI":1024,"FI":0,"PI":1024,"PN":"setBrightness","PP":20,"RN":"setBrightness","RP":20}

recv 86:socket服务端接收到的数据长度

BI:1024 插件ID(新版) 设置的插件ID(十六进制0x0400 对应十进制 1024)

FI:0 帧号 0

PI:1024 插件ID(旧版)设置的插件ID(十六进制0x0400 对应十进制 1024)

PN:port 名字 setBrightness,赋值是请求名,没意义

PP:port 参数 20 赋值请求参数,没意义

RN:请求名:setBrightness 设置背光值

RP:请求参数:20

Client connect :127.0.0.1 58263

connect 127.0.0.1:本地IP

58263:不明白

Client : send 47,{"AN":"brightness","AP":29,"PI":1024,"SI":1024}

AN:属性”brightness”

AP:属性值:29

PI:1024插件ID(旧版插件ID)

SI:1024插件ID(新版插件ID)

Client : connect 127.0.0.1:5348.

connect 127.0.0.1:本地IP

5348:HMIAPP 的端口号

按照代码理论传数值

插件端组合值:{“PI”:1024, “BI”:1024, “RN”:” setBrightness”, “PN”:” setBrightness”, “RP”:20, “PP”:20, “FI”:0}

发送数据之前,在插件端组合值前面加了4个字节,数据长度

客户端连接服务器,客户端打印的日志:Client : connect server 127.0.0.1:5348

客户端发送数据:没有打印数据长度前面四个字节:Client : send 47, {“PI”:1024, “BI”:1024, “RN”:” setBrightness”, “PN”:” setBrightness”, “RP”:20, “PP”:20, “FI”:0}

 

服务端接收到客户端数据:Client connect :127.0.0.1 58263

 58263:服务端随机产生的端口号,区分不同的进程连接

服务器端接收到客户端数据:Server : recv86, {“PI”:1024, “BI”:1024, “RN”:” setBrightness”, “PN”:” setBrightness”, “RP”:20, “PP”:20, “FI”:0}

 

串口服务发送数据:Serial : ==>> , 4853010002120404011f14

串口服务接收数据:Serial : <<== , 48530000011284040088

回调函数处理数据,打印日志:Main : Distribute MCU task code :0x8404, handler:0x04.

 

附件地址:

链接: http://pan.baidu.com/s/1o79sfdK 密码: y7sm

设置模块日志:

链接: http://pan.baidu.com/s/1boDcpav 密码: hy99

 

原文地址:https://www.cnblogs.com/senior-engineer/p/6169391.html