4569|13

1403

帖子

1

TA的资源

纯净的硅(中级)

楼主
 

【KW41Z设计大赛】Thread初步开玩 [复制链接]

 
KW441Z 支持thread和ble同时的特性,让我很兴奋。thread属首次接触,看了挺长一段时间了,有的地方可能还是一知半解,先记下来,又不对的地方,欢迎拍砖。在这里赞一下nxp提供的文档,看起来很丝滑有木有~~kw41z的sdk提供了详细的文档,不用上网站一个个下,省心很多。关于thread的文档位于docs/wireless/thread目录下。thread相关的demo也很丰富,这里暂时了解的有router eligible device和end device两种设备类型的demo,这两个demo能完整的表现thread组网的内容,其中reed设备可以转换为leader router、active router和end device的角色。除了border router与非thread网络通信的内容,其它都可以从这两个demo中学习到。

Thread节点类型

说说thread,百科曰:Thread is an IPv6-based, closed-documentation, royalty-free[1] networking protocol for Internet of Things (IoT) "smart" home automation devices to communicate on a local wireless mesh network.
thread是一个针对IoT应用的IPv6 mesh网络协议,底层mac和phy层基于802.15.4无线协议标准(Zigbee也是基于802.15.4). 这里的IPv6为6LowPAN, IPv6 over Low power Wireless Personal Area Networks. 看全程应该很明白了。下面看一下Thread的结构:

6LowPAN在mac层和phy层之上,由Thread实现,Thread同时实现的还有路由和udp协议,这些都可以对比传统的网络模型加以理解。再之上就是应用层了,比较常用的是CoAP协议,可以类比为常见的HTTP协议,CoAP协议全称为Constrained Application Protocol由于HTTP这种协议用在嵌入式设备上显得过于庞大,所有就有了这货。


大概理清了Thread协议的结构之后,另外还需要理解一下IPv6协议才好进行下一步了。因为Thread中跟其它节点沟通需要知道对方节点的IPv6地址, 不同于以往的IPv4地址表示方法,IPv6使用128位二进制数据表示一个IP地址. IPv6地址的记法分为标准和简写,这里以我的KW41Z的ifconfig信息为例说明一下。


标准写法为用:分割的8组4个4位16进制数表示,我的kw41z的ML64地址 fd18:ac32:9b0f:b537:145d:c752:46ba:e917,而简写分为单组前0省略和多组全0省略。单组前0省略如ML16地址 fd18:ac32:9b0f:b537::ff:fe00:400最后一组地址400,本来应该为0400,前面的0省略了。多组全0省略指当相邻的几组全为0是,用两个冒号::省略这些0,如LL64地址 fe80::8008:bcc4:9a4e:2d25,这里需要注意的是,这种::省略只能使用一次,因为多次的时候,就不能确定这中间到底省略了几组数据了。 另外IPv6还可以兼容IPv4,具体写法参考这个链接

另外大家应该有注意到这里有好几个IP信息:
前3个为单播IP:
Link Local   指单个子网的ip,即一个active router下有效,类似于我们常见的192.68.1.x局域网ip
Mesh Local 指整个Thread Mesh网络的IP地址,用于在整个Mesh网络中通信
其实应该还有另外一种IP地址,由border router分配的广域网IP,可全球定位的。
此外这里的地址还有 16和64之分,这里的16、64指的是子网掩码,类似于我们平时常见的192.168.1.0/255.255.255.0,这种子网还有另外一种记法就是192.168.1.0/24,也就是我们这里的 LL64、ML16这样的地址了,可不要以为是16/64位地址哦。
后二个为多播/组播IP,用于数据广播,不做进一步解释。


好了,先写这么多





此内容由EEWORLD论坛网友shinykongcn原创,如需转载或用于商业用途需征得作者同意并注明出处



此帖出自NXP MCU论坛

最新回复

dian boom sky  详情 回复 发表于 2017-7-17 19:00
点赞 关注
个人签名HELLO_WATER
 

回复
举报

6040

帖子

195

TA的资源

版主

沙发
 
看不懂,帮顶!
此帖出自NXP MCU论坛

点评

队长给力  详情 回复 发表于 2017-7-17 09:19
 
 
 

回复

613

帖子

2

TA的资源

纯净的硅(初级)

板凳
 
say what?不懂帮顶
此帖出自NXP MCU论坛

点评

酷叔搞起  详情 回复 发表于 2017-7-17 09:20
 
个人签名我是一头搞电子的猪,猪是一种好色的动物,猪八戒就是代表.       
 
 

回复

2774

帖子

8

TA的资源

版主

4
 
带我玩带我飞
此帖出自NXP MCU论坛

点评

听说你回水群了,怎么不见你装x  详情 回复 发表于 2017-7-17 09:20
 
 
 

回复

1310

帖子

3

TA的资源

一粒金砂(高级)

5
 
两块板玩thread,猴赛雷
此帖出自NXP MCU论坛

点评

5毛一块收几块,哪里有  详情 回复 发表于 2017-7-17 09:21
 
个人签名

RTEMS

 
 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

6
 
lcofjp 发表于 2017-7-16 20:06
看不懂,帮顶!

队长给力
此帖出自NXP MCU论坛
 
个人签名HELLO_WATER
 
 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

7
 
long521 发表于 2017-7-16 20:06
say what?不懂帮顶

酷叔搞起
此帖出自NXP MCU论坛
 
个人签名HELLO_WATER
 
 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

8
 

听说你回水群了,怎么不见你装x
此帖出自NXP MCU论坛
 
个人签名HELLO_WATER
 
 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

9
 
54chenjq 发表于 2017-7-17 00:09
两块板玩thread,猴赛雷

5毛一块收几块,哪里有
此帖出自NXP MCU论坛

点评

哪里有这么便宜的  详情 回复 发表于 2017-7-17 09:34
 
个人签名HELLO_WATER
 
 

回复

120

帖子

0

TA的资源

一粒金砂(中级)

10
 
shinykongcn 发表于 2017-7-17 09:21
5毛一块收几块,哪里有

哪里有这么便宜的
此帖出自NXP MCU论坛
 
 
 

回复

7671

帖子

18

TA的资源

五彩晶圆(高级)

11
 
写得好,都直接用16进制fd, ac编程了,顶了也完全看不懂。
此帖出自NXP MCU论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

12
 
dian boom sky
此帖出自NXP MCU论坛

点评

专心开车,注意路况  详情 回复 发表于 2017-7-18 20:24
 
个人签名

So TM what......?

 

 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

13
 

专心开车,注意路况
此帖出自NXP MCU论坛
 
个人签名HELLO_WATER
 
 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

14
 
顺便发一下找到的关于ip地址类型的说明

What are the differences of  these three local IP addresses?

* IP 0 contains the mesh-local 64 address of the node.
* IP 1 contains the link-local 64 address of the node.
* IP 2 and greater will return any global unicast addresses (GUAs) of this node.


Mesh-Local is for sending a message anywhere on the entire mesh.Thread uses mesh-local addresses to reach Thread interfaces within the same Thread Network Partition.

Link-Local is nodes within a single hop. Thread uses link-local addresses to reach Thread interfaces within range of a single radio transmission. Thread devices use link-local addresses to discover neighbors, configure links, and exchange routing information. A Thread device MUST assign a link-local IPv6 address where the interface identifier is set to the MAC Extended Address with the universal/local bit inverted.

Global Unicast Address is assigned by the Border Router so this is generally used from outside the mesh. Thread interfaces MAY assign additional IPv6 unicast addresses for valid prefixes assigned to the Thread Network. Such addresses can be used to enable communication with devices outside the Thread Network Partition.
此帖出自NXP MCU论坛
 
个人签名HELLO_WATER
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表