以Setting的setBrightness为例说明。
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