8882|24

3416

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

【KW41z】在RaspberryPi上部署KW41z TUN/TAP [复制链接]

 

先吹吹TUN/TAP
其实是一个虚拟的网络设备
纯软模拟
玩过Linux的筒子应该知道
Linux有个很好玩的梗
USB设备可以虚拟成一个网络设备

KW41z的Thread中
Framework Serial Connectivity Interface (FSCI)和Thread Host Control Interface (THCI)
字面上大概意思就是整一个串行通信接口(USB、UART、SPI),有点牛掰
可以将IP数据包 封装/解包 成串行数据
如果有一个带u口的路由器,加上软件
一块KW41z板,就能完成边界路由器的功能

早在几年前论坛ATMEL R21 ZigBee活动中
就有论坛大神把Contiki移植到R21
借助Contiki中的Slip协议,搭配OPENWRT路由器和tunslip6软件
完成border router

这次恩叉屁的资料再一次给力
源码中就包含了border router的例程
同时,还公布了Linux OS上位机软件的源码
它们就在 ..\SDK_2.2_FRDM-KW41Z\tools\wireless\host_sdk\hsdk\demo
实在是给力了

试着在树莓派上部署了一版


-------------------------------------------------KW41z侧的工作---------------------------------------------------
两块板分别烧固件
一个是thread_host_controlled_device,理论上hybrid下类似的工程也行
另一个是thread_router_eligible_device,理论上其他的也行
尤其需要注意
第一个工程中source\config.h文件中
#define THR_SERIAL_TUN_ROUTER ,必须配置为1
烧好
thread_host_controlled_device的板子撸入树莓派
另外一块待命
-------------------------------------------------树莓派侧的工作----------------------------------------------------
1、拷上源码(略)
2、安装依赖
  1. apt-get install update
  2. apt-get install build-essential libudev-dev libpcap-dev
复制代码

3、make几下
在..\host_sdk\hsdk,make一次,接着make install
在..\host_sdk\hsdk\demo,执行make; make spi
这个时候,..\host_sdk\hsdk\demo\bin下会生成
GetKinetisDevices PCAPTest SPITest Thread_KW_Tun
这几个可执行代码流
./GetKinetisDevice可以查看连接上USB口的KW41z板
执行一下就能看到:NXP Kinetis-W device on /dev/ttyACM0.
不同系统,端口号可能不同
./Thread_KW_Tun就是处理IP包的程序
后面再用
接着编辑一个sh文件,添加虚拟网络接口
nano tun.sh
  1. #!/bin/bash
  2. # Create a new TUN interface for Thread interaction.
  3. ip -6 tuntap add mode tun fslthr0
  4. # Assign it a global IPv6 address.
  5. ip -6 addr add FD01::2 dev fslthr0
  6. # Add route to default address of Serial TUN embedded interface.
  7. ip -6 route add FD01::1 dev fslthr0
  8. # Add route to Unique Local /64 Prefix via fslthr0.
  9. ip -6 route add FD01:0000:0000:3EAD::/64 dev fslthr0
  10. # The interface is ready.
  11. ip link set fslthr0 up
  12. # Enable IPv6 routing on host.
  13. sysctl -w net.ipv6.conf.all.forwarding=1
复制代码

大致意思就是创建一个叫做fslthr0的IPv6虚拟网络接口
./tun.sh
跑起来
ifconfig看一下
会出现这么个东西
  1. fslthr0   Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
  2.           inet6 addr: fd01::2/128 Scope:Global
  3.           UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
  4.           RX packets:8 errors:0 dropped:0 overruns:0 frame:0
  5.           TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
  6.           collisions:0 txqueuelen:500
  7.           RX bytes:832 (832.0 B)  TX bytes:832 (832.0 B)
复制代码

到这里
运行 ./hsdk/demo/bin/Thread_KW_Tun /dev/ttyACM0 fslthr0
  1. [THR] Set 802.15.4 channel          OK!
  2. [THR] Create Network                OK!
  3. [MESHCOP] Start Commissioner        OK!
  4. [MESHCOP] Add Expected Joiner       OK!
  5. [MESHCOP] Sync Steering Data        OK!
复制代码

渐入佳境
------------------------------------------------------------------over segment-------------------------------------------------------
另外一块板子在串口join一个thread网络
ok后,ifconfig看一下
会出现
  1. Interface 0: 6LoWPAN
  2.         Link local address (LL64): fe80::2995:f51:69ce:4087
  3.         Mesh local address (ML64): fd1d:b758:634f:5834:d8ca:d682:6645:c052
  4.         Mesh local address (ML16): fd1d:b758:634f:5834::ff:fe00:1
  5.         Unique local address: fd01::3ead:2187:d4fe:ff70:f7db
  6.         Link local all Thread Nodes(MCast):  ff32:40:fd1d:b758:634f:5834::1
  7.         Realm local all Thread Nodes(MCast): ff33:40:fd1d:b758:634f:5834::1
复制代码


看到Unique local address: fd01::3ead:2187:d4fe:ff70:f7db了么
和树莓派上虚拟的地址是一样的
接下来,大家都懂的......



从树莓派ping了一下
能通
看样子,Border Router离我们不远了
这个demo
楼主在Desktop Ubuntu和树莓派上都试过
能行
so,搭载OpenWrt的路由器应该也不在话下
可惜手头上没有,不能进一步玩耍了
这块板的资源,拿来点灯真是浪费了
不过,楼主还是要点
先到这



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

此帖出自NXP MCU论坛

最新回复

恩。考虑到要编译内核,时间问题。所以没整。谢谢了!!!  详情 回复 发表于 2017-6-22 14:48
点赞 关注
个人签名

So TM what......?

 

回复
举报

3416

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
宇宙惯例
沙发不留
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

1366

帖子

6

TA的资源

版主

板凳
 
你这样有意思吗,就问你
此帖出自NXP MCU论坛
 
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]

 
 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

4
 
RCSN 发表于 2017-5-8 18:20
你这样有意思吗,就问你

此帖出自NXP MCU论坛

点评

今天刚好出了树莓派,你就给我玩起树莓派了  详情 回复 发表于 2017-5-8 18:26
 
个人签名

So TM what......?

 

 

回复

1366

帖子

6

TA的资源

版主

5
 

今天刚好出了树莓派,你就给我玩起树莓派了
此帖出自NXP MCU论坛

点评

500蚊,出给你  详情 回复 发表于 2017-5-10 09:24
 
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]

 
 

回复

1239

帖子

66

TA的资源

纯净的硅(中级)

6
 
此帖出自NXP MCU论坛

点评

表情帝  详情 回复 发表于 2017-5-10 09:24
 
 
 

回复

1310

帖子

3

TA的资源

一粒金砂(高级)

7
 
楼主说的好像很简单的样子,
此帖出自NXP MCU论坛

点评

确实很简单,撸上就能用  详情 回复 发表于 2017-5-10 09:25
 
个人签名

RTEMS

 
 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

8
 
RCSN 发表于 2017-5-8 18:26
今天刚好出了树莓派,你就给我玩起树莓派了

打鸡打鸡
此帖出自NXP MCU论坛
 
个人签名HELLO_WATER
 
 

回复

7228

帖子

192

TA的资源

五彩晶圆(高级)

9
 
大神
此帖出自NXP MCU论坛

点评

业余玩家一枚  详情 回复 发表于 2017-5-10 09:25
 
 
 

回复

6107

帖子

4

TA的资源

版主

10
 
好,正准备玩一下这个呢。
此帖出自NXP MCU论坛

点评

来来来,一起嘛  详情 回复 发表于 2017-5-10 09:25
 
 
 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

11
 
RCSN 发表于 2017-5-8 18:26
今天刚好出了树莓派,你就给我玩起树莓派了

500蚊,出给你
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

12
 
个人签名

So TM what......?

 

 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

13
 
54chenjq 发表于 2017-5-8 18:41
楼主说的好像很简单的样子,

确实很简单,撸上就能用
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

14
 
个人签名

So TM what......?

 

 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

15
 


业余玩家一枚
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

16
 
damiaa 发表于 2017-5-9 14:23
好,正准备玩一下这个呢。

来来来,一起嘛
此帖出自NXP MCU论坛
 
个人签名

So TM what......?

 

 

回复

705

帖子

0

TA的资源

纯净的硅(中级)

17
 
不过,楼主还是要点
此帖出自NXP MCU论坛
 
 
 

回复

252

帖子

0

TA的资源

一粒金砂(高级)

18
 
不错,空了试一下。
此帖出自NXP MCU论坛
 
 
 

回复

6107

帖子

4

TA的资源

版主

19
 
本帖最后由 damiaa 于 2017-6-17 19:48 编辑

今天在玩这个,卡住了。 帮我看看 。后面的 命令 就执行不下去了。


此帖出自NXP MCU论坛

点评

源代码目录下有make_tap的脚本执行文件 直接试试  详情 回复 发表于 2017-6-18 21:39
 
 
 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

20
 
damiaa 发表于 2017-6-17 19:38
今天在玩这个,卡住了。帮我看看 。后面的 命令 就执行不下去了。

源代码目录下有make_tap的脚本执行文件
直接试试
此帖出自NXP MCU论坛

点评

这个 试了没用。一样的结果。好像是 fslthr0 这个找不到  详情 回复 发表于 2017-6-20 22:16
 
个人签名

So TM what......?

 

 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表