我是靠谱客的博主 漂亮乐曲,最近开发中收集的这篇文章主要介绍Schlage加入SmartThings的zigbee应用层交互抓包分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

相关抓包文件下载链接:https://pan.baidu.com/s/1tybf1MjrSvTU8JLrMI1YvA
提取码:bb2r
 

一、入网流程:

1.设备加网成功后,读取SmartThings的【Time Cluster】的属性【Local Time:0x0007】

2.SmartThings在收到Device Announce后发送 Active Endpoint Request 和 Simple Description Request

3.SmartThings连续读取【Basic Cluster】的三个属性值:【Application version:0x0001;manufacture name:0x0004;model id:0x0005】

4.SmartThings发送Binding Table request

5.设备发送Node Description Request,收到Node Description Response后请求更换TC-Link key

6.SmartThings读取设备的【Door Lock Cluster】的属性【lock state:0x0000】

7.SmartThings读取设备的【Power Configure Cluster】的属性【battery percentage remaining:0x0021】

8.SmartThings发送Bind request绑定三个Cluster【Door Lock:0x0101;Power Configure:0x0001;Alarm:0x0009】

9.SmartThings每发送完成一个Bind Request,接着发送相关Cluster的属性的的Configure report

【lock state:0x0000 Max:0x0E10(一小时)   Min:0】

【battery percentage remaining:0x0021 Max:0x5460(6小时)   Min:0x0258(十分钟)change:0x01】

【alarm count:0x0000 Max:0x5460(6小时)   Min:0】

10.SmartThings读取设备【Door Lock 和 Power Configure】Cluster的属性:【battery percentage remaining:0x0021】【lock state:0x0000;num pin user supported:0x0012; max pin length:0x0017;min pin length:0x0018】

11.SmartThings写【Door Lock Cluster】的属性【send pin over the air:0x0032 = 1】

12.SmartThings发送get pin命令获取user id为0~7,设备回复get pin response,User id为0~1的为出厂默认的两个密码,2~7都是unsupport

13.设备随机延时【5分钟内】发送match OTA server,匹配成功后发送queryNextImageRequest

二、APP远程控制

1.SmartThings发送UnLockDoor / LockDoor命令(without pin)

2.设备回复UnLockDoor / LockDoor Response命令,并且Report当前的LockState属性,同时发送一个OperationEventNotification【包括Source(0x01)、Event Code(lock->0x01/unlock->0x02)、User ID(0xFFFF)和Time Stamp(local time)】

3.SmartThings读取当前的Lock State

三、密码管理:

下发密码

1.SmartThings写设备的属性【Door Lock Cluster】的【send pin over the air:0x0032 = 1】

2.SmartThings发送SetPin命令【user id:唯一;user status:occupiedEnabled;user type:unrestricted;pin:ASCII码形式】

3.设备回复SetPinResponse,并且发送ProgrammingEventNotification【Source(0x01)、Event Code(PinAdded =0x02)、User ID(对应唯一的)、user type(unrestricted=0x00)、user status(occupiedEnabled)和Time Stamp(local time)】

删除密码

1.SmartThings写设备的属性【Door Lock Cluster】的【send pin over the air:0x0032 = 1】

2.SmartThings发送ClearPin命令

3.设备回复ClearPinResponse,并且发送ProgrammingEventNotification【Source(0x01)、Event Code(PinDeleted =0x03)、User ID(对应唯一的)、user type(unrestricted=0x00)、user status(occupiedEnabled)和Time Stamp(local time)】

4.SmartThings发送GetPin命令获取刚删除的user id对应的pin

5.设备回复GetPinResponse【user type:not support】

四、门锁状态上报:

手动/keypad输入密码->开锁/上锁

1.设备report属性LockState(lock 0x01/unlock 0x02)

2.设备发送OperationEventNotification命令

手动解锁/上锁【包括Source(0x02)、Event Code(ManualLock->0x0D/ManualUnlock->0x0E)、User ID(0xFFFF)和Time Stamp(local time)】

keypad解锁/上锁【包括Source(0x00)、Event Code(Lock->0x01/Unlock->0x02)、User ID(0x0000)和Time Stamp(local time)】

最后

以上就是漂亮乐曲为你收集整理的Schlage加入SmartThings的zigbee应用层交互抓包分析的全部内容,希望文章能够帮你解决Schlage加入SmartThings的zigbee应用层交互抓包分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部