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

 

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


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

 

2. 按下智能开关,用串口工具可以看到以下信息。

01 0D 00 04 00 0B 07 60 0D 01 01 00 03 FF 6B

01 0D 00 04 00 0B 07 60 0D 01 01 00 03 FF 6B

01 0D 00 04 00 0B 07 60 0D 01 01 00 03 FF 6B

01 0D 00 04 00 0B 07 60 0D 01 01 00 03 FF 6B

01 0D 00 04 00 0B 07 60 0D 01 01 00 03 00 94

01 0D 00 04 00 0B 07 60 0D 01 01 00 03 00 94

01 0D 00 04 00 0B 07 60 0D 01 01 00 03 00 94

01 0D 00 04 00 0B 07 60 0D 01 01 00 03 00 94


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


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

从这张图,我们可以知道Serial API Command ID是0x04

 

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

从0x04这个命令号后面都是此窗口指令的参数。

使用Z-Wave PC Controller可以看到0x04后面数据的含义,除了cmdLength需要自己计算一下。

 

5.使用嗅探器可以看到pCmd里面数据具体含义,不同版本的信息有差别,我们就看最新的version3就可以了。用version1正好可以看到原始数据,发现上Z-Wave PC Controller里的pCmd是一致的。

 

6.通过上面的分析,我们就可以分析如下表

01

SOF

0D

Length ,除SOF和checksum外的长度

00

REQ

04

串口命令ID

00

rxStatus

0B

sourceNode

07

cmdLength

60

0D

01

00

03

FF或00


6B或94

Checksum

 

7.另外,冠榕智能开关上面有两个开关,另外一个开关的协议类似。

   只有一个字节不同,用红色标出来了。应该是标识同一结点的不同开关的。

 

01

SOF

0D

Length ,除SOF和checksum外的长度

00

REQ

04

串口命令ID

00

rxStatus

0B

sourceNode

07

cmdLength

60

0D

02

00

03

FF或00

68或97

Checksum

 

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

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

相关文章

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…

ZDB5202烧成控制器方法

1&#xff0e;跳线和ZDB5202的安装位置如下图 黄色开关设置为off状态&#xff0c;就是靠近班子里面的一方。 2&#xff0e;打开z-wave programmer软件&#xff0c;设置如下图&#xff0c;注意烧写接口为spi&#xff0c;烧写的时候会提示的。选yes是uart&#xff0c;选no是spi。…

判断一个数是不是整数

<?php //判断一个数是整数吗&#xff1f; function check($num){if($num>1){return (check($num-1));//采用递归&#xff0c;一直减到0到1之间}elseif($num<0){return(check((-1)*$num-1));//采用递归&#xff0c;一直减到0到1之间}else{if(($num>0) && (…

z-wave问题汇总

1. 如果发送的串口数据的checksum不对的话&#xff0c;z-wave结点会响应一个0x15。 2. 5202&#xff0c;5101既可以做控制也可以做设备端。他们都是外置天线&#xff0c;距离会好一点。 另外5202和5101也可以做路由结点。 5304只能做控制端&#xff0c;5304的天线是…