小编Tri*_*y92的帖子

带C的Z波协议:关于Z波帧结构和编程的一般问题

(在我提出问题之前;我不知道是否允许任何人回答我的问题,因为Z波协议应该是机密信息,但如果它确实违反了任何类型的规则,那么随意删除这个帖子.)

我目前正在尝试编写一个C程序,它只是构造一个由原始二进制数据组成的Z波消息,然后将该消息发送到连接Z波控制器的USB接口(我正在使用AEOTEC Z-Stick USB加密狗由Aeon Labs提供).我也使用指南作为参考,并试图在简单C中重写示例代码.但是,如果你看一下指南,特别是他试图发送给USB控制器的消息:

/*
0x01, 0x09, 0x00, 0x13, nodeId, 0x03, 0x20, 0x01, state, 0x05, checksum
*/
Run Code Online (Sandbox Code Playgroud)

...也许只是我,但似乎缺少来自通常的Z波框架的一些信息.我的猜测是前4个字节代表Home ID后跟节点ID,但是我无法弄清楚'0x03'之后的含义,假设该字节后面的其余部分代表"Basic"命令类(' 0x20',1字节)和相应的"Set"应用程序命令('0x01',1字节).在校验和位之前'0x05'代表什么?那传输头信息呢,为什么不包含它?看起来他不需要包含它......或者我只是在解释数据包完全错误.有人可以开导我吗?

另外,如果您从USB端口读取应用程序层信息(f.ex.中带有open()&read()命令,那么它是否正确无法检索应用程序层信息?)

先感谢您!

c networking packet z-wave

6
推荐指数
2
解决办法
2339
查看次数

标签 统计

c ×1

networking ×1

packet ×1

z-wave ×1