冠榕智能灯光控制协议分析(controller-node)

 

1. 在Z-WAVE PC Controller软件选择已配对的智能开关。


从上图中可以看到,我们的智能开关的node id是11,即0x0B。

 

2. 向智能开关发送灯光的开闭数据。


CommandClasses选择COMMAND_CLASS_BASIC

CommandName选择BASIC_SET

Value为00时关闭灯光,为01时打开灯光。

从ZW_classcmd.h文件里可以看到

#defineCOMMAND_CLASS_BASIC 0x20

#defineBASIC_SET            0x01

 

3. 从Z-WAVE PC Controller软件的log区可以看到如下信息

     

可以看到这帧数据的Series Api编号是0x13

 

4.在<<INS12350-4 - Serial API Host Appl. Prg.Guide.pdf>>这个手册里找到下图,这是z-wave串口协议的一个整体结构图。


各个字段的说明都可以在这个文档里找到,包括Checksum的计算方式 。


5.从<<INS12308-6 - Z-Wave 500 Series Appl. Prg.Guide v6.51.03.pdf>>这个手册上找到0x13这条协议,可以看到此条串口协议的整体格式。


从0x13这个命令号后面都是此窗口指令的参数,这些参数在上面第3节里可以找到。

 

6.至此,我们就可以组成一个完整的串口报文了。

01 0A 00 13 0B 05 20 01 00 25 03 EF

01

SOF

0A

Length ,除SOF和checksum外的长度

00

REQ

13

串口命令ID

0B

目的结点id

05

Datalength, 后面数据的长度

20

pData[0], COMMAND_CLASS_BASIC

01

pData[1], BASIC_SET

00

pData[2],灯光开关数据

25

txOptions

03

funcID,这个编号理论应该是以此递增的,但好像也无所谓

EF

Checksum

 

7.最后,我们看一下用嗅探器抓取的数据。

E9 C4 2F 88

Home ID

01

源结点ID

41 01 0D

 

0B

目标结点ID

20

01

01

COMMAND_CLASS_BASIC

BASIC_SET

数据(开或关)

12

checksum

虽然用处不大,从上面这个表里,我们还是能看到一些有用的信息,

源结点ID,目标结点ID。

另外目标结点ID后面的数据实际就是pData[]里的那三个字节。命令类,命令和数据。

从<< SDS12657-5 - Z-Wave Command ClassSpecification, A-M.pdf>>这个文档可以找到这条命令的定义。


8.当controller发送成功后,回收到以下数据

06

01 04 01 13 01 E8

01 04 01 13 01 E8

01 04 01 13 01 E8

01 04 01 13 01 E8




从上面两个图可以看到,Z-Wave PC Controller这个软件确实收到了,上面两个ZW-HOST的反馈,但是用串口工具只能收到第一个

06只是一个ACK

01

SOF

04

??????

01

RES

13

串口命令ID

01

RetVal

E8

Checksum,除SOF的所有字节

 


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

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

相关文章

java中手动装入新类到类装饰器_关于java:抽象装饰器类中的功能而不是装饰器...

我目前正在阅读《Head First Design Patterns》一书&#xff0c;在"Decorator"一章中有以下示例&#xff1a;在书中&#xff0c;conditionmentDecorator类被描述为一个abstract decorator。下面是代码示例&#xff1a;public abstract class CondimentDecorator exte…

跨浏览器开发工作小结

本篇小结是在2011年时候总结的&#xff0c;当时做一个产品的跨浏览器兼容工作&#xff0c;由于产品开发的时间比较早&#xff0c;最开始只能在IE下面(IE 8、IE 9还有点点问题)使用&#xff0c;做跨浏览器兼容工作的时候&#xff0c;主要是适配IE 6--IE 9、Safari、FireFox、Chr…

冠榕智能灯光控制协议分析(node-controller)

1. 在Z-WAVE PC Controller软件选择已配对的智能开关。 从上图中可以看到&#xff0c;我们的智能开关的node id是11&#xff0c;即0x0B。 2. 按下智能开关&#xff0c;用串口工具可以看到以下信息。 01 0D 00 04 00 0B 07 60 0D 01 01 00 03 FF 6B 01 0D 00 04 00 0B 07 60…

Makefile 的 遗漏分隔符错误信息

Makefile的编写中不可以有空格&#xff0c;留白必须按tab键形成的。 去掉空格&#xff0c;改为tab键后&#xff0c;再执行make命令&#xff0c;就会成功。 学习Makefile可以参考一下链接&#xff1a; http://www.cs.colby.edu/maxwell/courses/tutorials/maketutor/ 转载于:htt…

冠榕智能灯光控制协议分析(controller-node) 2

z-wave第一篇&#xff0c;我们用COMMAND_CLASS_BASIC - BASIC_SET控制智能开关。但是智能开关上有两个执行器&#xff0c;我们只能控制其中一路&#xff0c;那么我们如何控制另一路的开关的。在z-wave第二篇&#xff0c;我们分析了智能开关两个按键发送的消息&#xff0c;发现&…

java修改pdf内容流_java – 在PDFBox中,如何更改PDRectangle对象的原点(0,0)?

你可以稍微改变坐标系,但最有可能的事情不会变得更加优雅.首先……首先让我们澄清一些误解&#xff1a;你假设In PDFBox, PDRectangle objects’ default origin (0,0) seems to be the lower-left corner of a page.对于所有情况都不是这样,仅仅是经常.包含显示的页面区域(在纸…

基于visual Studio2013解决面试题之0902内存拷贝

&#xfeff;&#xfeff;&#xfeff;题目解决代码及点评/*用 C 语言实现函数 void * memmove(void *dest,const void *src,size_t n)memmove 函数的功能是拷贝 src 所指的内存内容前 n 个字节到 dest 所指的地址上。 简单循环拷贝即可&#xff0c;但是这道题&#xff0c;要深…

冠榕智能灯光控制协议分析(controller init)

上面几篇已经详细介绍了z-wave协议的分析方法&#xff0c;这一章&#xff0c;我们分析z-wave pc controller初始化时的通信信息。我们只将关键信息列出&#xff0c;然后直接将分析出来的串口数据列出。 1. 得到z-wave版本 01 03 00 15 E9 06 01 10 01 15 5A 2D 57 61 76 65…

jmeter找不到java_Windows下Jmeter安装出现Not able to find Java executable or version问题解决方案...

最近在做一个开放接口平台性能测试 , 指标是最少达到1000/s的并发 , 接口鉴权 百万级的表 在1s内完成..在众多压测工具中 ,,选择了Apache的jmeter ,于官网下载了最新版本http://jmeter.apache.org/download_jmeter.cgi (jmeter下载地址)由于jmeter运行是基于java的,所以需要…

java 第三方库

总结一下常用的java第三方库&#xff0c;方便查询和使用&#xff0c;欢迎补充。 1、核心库 Apache Commons Lang&#xff1a;来自Apache的核心库&#xff0c;为java.lang API补充了许多常用的工具类&#xff0c;如字符串操作、对象的创建等。 Google Guava&#xff1a;来自谷歌…

ZDB5304烧写方法

1&#xff0e; 跳线和5304的位置如下图 2. 打开z-wave programmer软件&#xff0c;设置如下图&#xff0c;注意烧写接口为uart&#xff0c;烧写的时候会提示的。选yes是uart&#xff0c;选no是spi。 烧写过程中会提示按下reset或释放reset按键。照做即可。 烧完后&#xff0c…

Java多进程测试用例_Pytest xdist/Pytest并行多进程执行测试用例,pytestxdistpytestparallel...

如果想分布式执行用例&#xff0c;用例设计必须遵循以下原则&#xff1a;1.用例之间都是独立的&#xff0c;2.用例a不要去依赖用例b3.用例执行没先后顺序&#xff0c;4.随机都能执行每个用例都能独立运行成功每个用例都能重复运行&#xff0c;不影响其它用例这跟就我们平常多个…

【转】宇宙的基本法则

开宗明义&#xff0c;“复制因子→复制→成长→自然选择”法则是支配宇宙的基本法则&#xff0c;为了方便&#xff0c;我称其为“B法则” 。所谓复制&#xff0c;就是在一 定条件下一个复制因子一旦形成&#xff0c;就会一直不停地复制自身&#xff0c;不断成长&#xff0c;比…

java jni librtmp_librtmp 编译集成

RTMPDumpRTMPDump 是一个用来处理RTMP流媒体的开源工具包。它能够单独使用进行RTMP的通信&#xff0c;也可以集成到FFmpeg中通过FFmpeg接口来使用RTMPDump。在Android中可以直接借助NDK在JNI层调用RTMPDump来完成RTMP通信。在根目录下提供了一个Makefile与一些.c源文件。这里的…

基于Z-Wave无线技术的指纹锁系统设计

http://www.chinaaet.com/article/218940 摘 要&#xff1a; 结合新兴的低功耗的Z-Wave短距无线通信技术&#xff0c;设计一种应用于酒店的智能指纹锁无线管理与控制系统。该系统的门锁硬件电路包括主控制器S3C2440、指纹采集模块、电机驱动模块及ZM3102无线模块&#xff0c;…

Hibernate一对一关联------主键关联(亲测成功)

1、创建两个实体&#xff08;Company.java和Login.java&#xff09;代码如下&#xff1a; 1 package wck.stu.vo.onetoonein;2 3 public class Company {4 private String id "";5 6 private String companyName "";7 8 private Str…

angularjs mysql_AngularJS SQL

AngularJS SQL在前面章节中的代码也可以用于读取数据库中的数据。使用 PHP 从 MySQL 中获取数据AngularJS 实例{{ x.Name }}{{ x.Country }}function customersController($scope,$http) {var site "http://www.w3cschool.cn";var page "/statics/demosource/…

INTEL和AMD两大巨头的前身

仙童半导体公司&#xff0c;曾经是世界上最大、最富创新精神和最令人振奋的半导体生产企业&#xff0c;为硅谷的成长奠定了坚实的基础。更重要的是&#xff0c;这家公司还为硅谷孕育了成千上万的技术人才和管理人才&#xff0c;它不愧是电子、电脑业界的“西点军校”&#xff0…

servlet加载资源两种方式-内外(初始化参数).properties文件

在servlet中加载资源很方便&#xff0c;通过servletContext&#xff0c;这个是web服务器加载完web项目返回的参数之一&#xff0c;还有servletConfig&#xff0c;得到web项目一些配置信息&#xff0c;request和response,等等&#xff0c;我们现在用的这个servletContext也叫做C…

java 登录编程_Java编程通过session访问需要登录的页面

使用Java访问一般网页&#xff0c;进行数据抓取等比较简单&#xff0c;直接用URL和URLConnection连接所需要的网站地址即可&#xff0c;然后对返回的html源码进行处理分析&#xff0c;获取感兴趣的内容。不过如果是需要登录后才能访问的网页就不能直接传入网站url进行连接了&am…