普通开关、插座、门锁设备入网流程一般到basic就结束了;灯到identity结束;低功耗传感器设备一般到IAS zone结束。设备入网流程如下:
由endpoint发出,请求入网,设备一般会全信道扫描找网。
beacon request包括:
由帧控制域(frame control)、帧序列号(sequence number)、地址域(addressing fields)组成
比特0~2是帧类型(frame type):0b000、0b001、0b010、0b011分别表示信标帧、数据帧、应答帧、命令帧,其他值预留。
比特3是安全使能标志(security enabled):1表示对该帧使用安全机制,0表示不使用安全机制。
比特4是后续帧控制位(frame pending):1表示后续还有更多的数据帧要发送给接收设备,0表示没有。
比特5是应答标志(ack request):1表示该帧需要应答,0表示该帧不需要应答。
比特6是同一PAN 网络标志(intra PAN):1表示当前帧是在同一PAN范围内,只需要目的地址与源地址,而不需源PAN标识符;0表示当前帧不在同一PAN范围内,不仅需要目的地址与源地址,源PAN ID与目的PAN ID均需要
比特10~11表示目的地址模式(destination addr mode):0b00表示不存在PAN ID 和地址域;0b01是预留值;0b10表示后面的地址域为16位短地址;0b11表示地址域为64位扩展地址;
比特14~15表示源地址模式(source addr mode):0b00表示不存在PAN ID 和地址域;0b01是预留值;0b10表示后面的地址域为16位短地址;0b11表示地址域为64位扩展地址;
用于区分相继发送的帧,由该序号可知该帧是重传的帧还是一个新的帧。
对于需要应答帧的情况,规定应答帧的序列号和所应答的帧的序列号相同,这样就能知道应答帧所对应的对象。
设备需要维护两个sequence number,一个用于becon包的序列号BSN,一个用于数据帧、命令帧和应答帧的序列号DSN。
每发送一个对应的帧,DSN或者BSN都会增一,如果超过最大值就变成全零值。
分为四部分:目的PAN ID、目的地址、源PAN ID、源地址
这些域的长度与帧控制域中对应子域的取值有关
地址域后面是可选的附加安全帧头,如果不采用安全机制,不需要携带此帧头,否则根据所采用的安全机制的具体方式,器长度可能为5、6、10、14字节
长度可变,具体内容由帧类型决定
是帧头和负载数据的16位CRC校验值
coordinator在接收到endpoint发送的beacon request帧后发出 beacon帧,是一种特殊的帧,只能由coordinator发送,携带网络相关的信息,用于通告网络信息,以便其他设备加入网络或者了解网络的情况,并且可以用于维护网络通信的同步。
其中mac payload包括:
2.1.1 信标顺序(Beacon Order)字段用于指定信标的传输间隔;BI(Beacon Interval)计算公式如下,BO代表信标顺序的值
2.1.2 超帧顺序(Superframe Order)字段用于指定超帧的有效时间,包括信标帧传输时间;协调器只能在超帧活动期间与其PAN进行交互;SD(Superframe Duration)计算公式如下,SO代表超帧顺序的值
2.1.3 CAP时隙(Final CAP Slot)字段用于指定CAP使用的最终超帧时隙;CAP的持续时间应≥aMinCAPLength;
2.1.4 电池寿命延长(Battery Life Extension)字段,如果在CAP期间发送到信标设备的帧需要在信标的IFS周期之后的第六个完全退避时间段内或之前开始,应设置为1
2.1.5 PAN协调器(PAN Coordinator)字段,当PAN协调器正在发送信标帧时设置为1
2.1.6 关联许可(Association Permit)字段,当macAssociationPermit设置为TRUE时(即协调器正在接受PAN上的关联)应设置为1; 如果协调器当前不接受其网络上的关联请求,该字段应设置为0
2.2.1 GTS规范字段(GTS Specification)字段格式:
2.2.1.1 GTS描述符计数(GTS Descriptor Count)字段指定了包含在信标帧的GTS列表字段中的3个八位字节GTS描述符的数量。如果该子字段的值大于零,则允许CAP的大小低于aMinCAPLength以适应由包含子字段引起的信标帧长度的临时增加。如果该子字段的值为零,则不存在信标帧的GTS方向字段和GTS列表字段
2.2.1.2 GTS许可(GTS Permit)字段,当如果macGTSPermit设置为TRUE时(即PAN协调器正在接受GTS请求)应设置为1
2.2.2 GTS方向(GTS Directions)字段格式:
2.2.2.1 GTS方向掩码(GTS Directions Mask)字段包含一个掩码,用于标识超帧中GTS的方向
掩码中的最低位对应于信标帧的GTS列表字段中包含的第一个GTS的方向,其余部分依次按照顺序指示
如果GTS是仅接收GTS,则每个比特应设置为1;如果GTS是仅发送GTS,则每个比特应设置为0
注意:GTS方向是相对于设备的数据帧传输方向来定义的
2.2.3 GTS列表GTS List)字段(的大小为信标帧的GTS Specification 中 GTS Descriptor Count 指定的值,包含了正在维护的GTS的GTS Descriptor List
GTS描述符的最大数量应限制为7
每个GTS描述符的长度为3 bytes,其格式如下:
2.2.3.1 设备短地址(Device Short Address)字段包含了GTS描述符所对应的设备的短地址
2.2.3.2GTS起始时隙(GTS Starting Slot)字段包含GTS开始的超帧时隙
2.2.3.3 GTS长度(GTS Length)字段包含GTS活动的连续超帧时隙的数量
2.3.1 待处理地址规范(Pending Address Specification)字段格式如下:
2.3.1.1 处理短地址数量(Number of Short Addresses Pending)字段表示信标帧的地址列表字段中包含的短地址的数量
2.3.1.2 待处理扩展地址数量(Number of Extended Addresses Pending)字段表示信标帧的地址列表字段中包含的扩展地址的数量
2.3.2 待处理地址列表(Pending Address List)字段的大小由信标帧的待处理地址规范(Pending Address Specification)字段中指定的值确定,指定了当前具有协调器待处理消息的设备的地址列表
注意: 地址列表不应包含广播短地址0xffff
待处理地址的最大数量为7,可以包括短地址和扩展地址;所有待处理的短地址应首先出现在列表中,然后是任何扩展地址
如果协调器能够存储七个以上的事务,它应以先到先得的方式在其信标中指示它们,确保信标帧最多包含七个地址
payload部分数据将传输给高层,具体细节解析再后续分析。
主要查看四点,如下图红色方框内,都为yes则网关处于可以接收router和end device设备入网。
关联请求入网,由设备发出,此时设备还没有分配短地址,因此在MAC层显示的原地址为设备长地址。
收到Coordinator的MAC层确认后,Endpoint发送一个Data request请求Coordinator给其分配16位网络地址。
可以查看到给设备分配的短地址。(当Coordinator接收到Data request后经NWK层的算法为其分配一个唯一的网络短地址,然后向Endpoint发送一个包含些短地址的包,这个包是通过MAC地址发送的)
传输link key
一般为设备广播两次,网关广播两次。此时设备已经入网,但是网关还没有识别是什么设备。
网关向设备发出的 endponints 请求
设备给网关回应的 endponints 数
网关请求设备的一些属性或者特性的描述,使网关去判断这是什么设备。
设备回应,告诉网关该设备的属性等信息。(每个endpoint都会分别查询)
网关请求设备的 basic cluster 相关信息
设备回应,告诉网关该设备的 basic cluster 相关信息
on/off设备到此入网结束