在学习Thread过程中会碰到很多问题, 由于资料相对封闭, 而且使用的人较少导致有些问题很难通过文档(Thread API函数的说明基本就一句话)来找出来。如果有Thread的wiki就好了, 能让新手少走很多弯路。 现在还没解决的问题如下:
1. 各种地址的含义
Thread一个设备有好多个地址(LL64, ML64, ML16...), 其中比较实用的应该是16位地址(ML16)。 16位地址以ff:fe00:XXXX结尾, XXXX,其中XXXX就是16位地址, 问题是ML16的前缀比如”fdb6:ffe5:2bd3:ad8b::“代表什么?
$ ifconfig
Interface 0: 6LoWPAN
Link local address (LL64): fe80::4c08:6123:7e73:4e9
Mesh local address (ML64): fdb6:ffe5:2bd3:ad8b:2ca9:df49:86a9:99d2
Mesh local address (ML16):
fdb6:ffe5:2bd3:ad8b::ff:fe00:400
Link local all Thread Nodes(MCast): ff32:40:fdb6:ffe5:2bd3:ad8b::1
Realm local all Thread Nodes(MCast): ff33:40:fdb6:ffe5:2bd3:ad8b::1
$ Mesh local address (ML16): fdb6:ffe5:2bd3:ad8b::ff:fe00:400
2. 设备类型发现
Zigbee协议中定义了设备类型, 用户可以查询特定设备的功能, 而Thread则没发现这个功能。
现在问题是Thread有没有一种比较通用的方法来查询特定设备的类型? 比如设备通过实现 “COAP CONN GET ... /DeviceTypeGuid”这种类似的方法来获取设备类型GUID, 然后通过网络查询这个id就可以获取到设备的具体信息了?
3. 多DHCP Server支持
Thread是否支持多个DHCP Server以实现No Single Node Failure? 在active DHCP Server离线的情况下其他后备的Server能够取代其工作? 或者是NXP thread sdk能否支持把DHCP的角 {MOD}转接到HOST上来通过上位机控制? (查看了NXP的代码发现相应的函数实现并未公开。)
此帖出自
小平头技术问答
我的意思是一个Thread网络, 节点地址区别就是16位短地址吧? 这个是通过邻居发现来决定地址分配吧? 这样设备最多就是65535个。如果设备断电后重新初始化了, 那么地址还会是以前的地址么?
一周热门 更多>