概述
相关抓包文件下载链接: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应用层交互抓包分析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复