[项目教程]关于EDP命令下发

2019-7-23 17:29:43 [显示全部楼层]
2508浏览
查看: 2508|回复: 0

[项目教程] 关于EDP命令下发

[复制链接]
最近发现在群里不少朋友对EDP命令下发不是很了解。
其实应该多看看协议文档,文档描述得很清楚,然后再把命令下发的数据读取出来,对比着文档看,效果很好的。
这里简单介绍下,EDP命令下发的内容。

一、快速应用
其实往简单了说,平台就是把系统相关数据 加上 用户自定义的命令数据组成一帧数据,然后下发到设备。我们只需要根据协议SDK里边提供的命令解包函数就可以解除cmdid和命令了。

1.先看看平台端的命令格式约定:
例程中使用命令格式如{xxx}{V},{xxx}就是命令内容,比如操作红色LED就写{redled}{V},{V}是值,特别注意这个“{V}”,看以下说明红线处
关于EDP命令下发图1
什么意思呢,就是说在平台按钮填写命令的时候,比如写{redled}{V},下发的实际内容是{redled}1或者{redled}0,{V}会被替换为开关值。

2.再看看设备端的命令处理方法(以kyLin-V2.5-EDP例程为例
传入参数是获取到的整个下发的内容,也就是系统相关信息和用户自定义命令。
然后调用SDK里边的接口,即可解出cmdid和命令了。
关于EDP命令下发图2
将命令带上“{}”,也是方便查找。

所以大家平时自己做开发的时候,只要下发和解析的命令做到相同就可以了。

二、协议详解
关于EDP命令下发图3
摘自“设备终端接入协议-EDP-V1.5”,5.7节,关于EDP命令下发的具体内容可由此参考。

关于EDP命令下发图4
此截图是命令下发内容的字符形式和十六进制形式,现在结合协议内容来分析下。
图右半部分高亮处为协议的所有内容。
起始的0xA0对应第一字节,bit4~7为10。
第二字节为0x33,是代表除了第一个和第二个字节,剩下的数据长度为51字节。
第三和第四字节“0x00 0x24”代表cmdid的长度,共计36字节,cmdid是在命令响应的时候需要把下发的cmdid原封不动的返回给平台的,只是处理下发时,可以忽略。
然后在“0x00 0x00 0x00 0x09”代表命令的长度,共4个字节来表示命令长度。{redled}0,刚好9字节。
紧接着的就是命令内容和参数了,从0x7B("{")开始,从这里开始的数据就全部是用户自定义的数据了。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail