日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 冠榕智能灯光控制协议分析(controller-node) 2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


z-wave第一篇,我們用COMMAND_CLASS_BASIC - BASIC_SET控制智能開關。但是智能開關上有兩個執行器,我們只能控制其中一路,那么我們如何控制另一路的開關的。在z-wave第二篇,我們分析了智能開關兩個按鍵發送的消息,發現,用的是COMMAND_CLASS_MULTI_CHANNEL - MULTI_CHANNEL_CMD_ENCAP。


查看<<SDS12657-5 - Z-Wave Command Class Specification,A-M.pdf>>這個文檔。

可以看到,實際但一個z-wave結點上有多個執行器的時候,實際可以有多個通道來控制的。

COMMAND_CLASS_MULTI_CHANNEL- MULTI_CHANNEL_CMD_ENCAP后面再封裝真正的控制指令。比如COMMAND_CLASS_BASIC - BASIC_SET,如下圖。


接下來,我們來驗證這個事情。

?

1.?在Z-WAVE PC Controller軟件選擇已配對的智能開關。


從上圖中可以看到,我們的智能開關的node id是11,即0x0B。

????????????????????????????????????????

2.?向智能開關發送燈光的開閉數據。


分析如下

Command Classes

COMMAND_CLASS_MULTI_CHANNEL

60

Command Name

MULTI_CHANNEL_CMD_ENCAP

0D

Source End Point

controller的結點號,從第一節的那個圖中可以看到

01

Destination End Point

經測試,是智能開關上的兩個通道

01或02

Command Class

封裝的實際命令類COMMAND_CLASS_BASIC

20

Commands

封裝的實際命令BASIC_SET

01

Parameter

開關數據

FF或00

?

3.?從Z-WAVE PC Controller軟件的log區可以看到如下信息

??? ?

可以看到這幀數據的Series Api編號是0x13。

<<INS12308-6 - Z-Wave 500 Series Appl.Prg. Guide v6.51.03.pdf>>這個手冊上找到0x13這條協議,可以看到此條串口協議的整體格式。


并且pData[]里的數據就是第2節分析的所有數據。

nodeID

Z-Wave結點ID

0B

dataLength

?

07

pData[]

?

60? 0D? 01? 01或02? 20? 01? FF或00

txOptions

?

25

funcID

?

03,這個編號是需要以此遞增的,不遞增也不影響功能

?

4.在<<INS12350-4 - Serial API Host Appl. Prg.Guide.pdf>>這個手冊里找到下圖,這是z-wave串口協議的一個整體結構圖。


各個字段的說明都可以在這個文檔里找到,包括Checksum的計算方式 。

?

?

5.至此,我們就可以組成一個完整的串口報文了。

?

通道1

01 0E 00 13 0B 07 60 0D 01 01 20 01FF 25 03 7B ????開

01 0E 00 13 0B 07 60 0D 01 01 20 0100 25 03 84? ?關


通道2

01 0E 00 13 0B 07 60 0D 01 02 20 01FF 25 03 78?? ????開

01 0E 00 13 0B 07 60 0D 01 02 20 0100 25 03 87????? 關

?

6.下面我們來分析一下,z-wave結點的反饋信息

上面4條協議的反饋信息均一樣。

06 ?ACK

01 04 01 13 01 E8

01 04 01 13 01 E8

01 04 01 13 01 E8

01 04 01 13 01 E8

01 05 00 13 03 00 EA

01 05 00 13 03 00 EA

01 05 00 13 03 00 EA

01 05 00 13 03 00 EA

上面紅色字03是和發送端的funcID匹配的,是依次遞增的。

?


01

SOF

04

Length,從上圖看length應該不包括checksum????????????

01

RES

13

Series Api編號

01

RetVal

E8

checksum

?

01

SOF

05

Length,從上圖看length應該不包括checksum????????????

00

REQ

13

Series Api編號

03

funcID

00

txStatus

E8

checksum

?

如果用z-wave pc controller來發送的話,會在log窗口看到如下信息

?

就是說,z-wave結點反饋的兩條數據,需要我們用ACK來回復,否則z-wave結點會重發4次。并且在重發的過程中,我們沒法再發送信息給z-wave結點。

總結

以上是生活随笔為你收集整理的冠榕智能灯光控制协议分析(controller-node) 2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。