EEWorld 电子工程世界

文章数:10804 被阅读:13623255

账号入驻

【KW41z】在RaspberryPi上部署KW41z TUN/TAP

最新更新时间:2017-05-23
    阅读数:

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

KW41z的Thread中
有Framework Serial Connectivity Interface (FSCI)和Thread Host Control Interface (THCI) 
字面上大概意思就是整一个串行通信接口(USB、UARTSPI),有点牛掰
可以将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的板子撸入树莓派
另外一块待命
------------------树莓派侧的工作-------------------
2、安装依赖

[C] 纯文本查看 复制代码

?

1
2
apt-get install update
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

[C] 纯文本查看 复制代码

?

01
02
03
04
05
06
07
08
09
10
11
12
13
#!/bin/bash
# Create a new TUN interface for Thread interaction.
ip -6 tuntap add mode tun fslthr0
# Assign it a global IPv6 address.
ip -6 addr add FD01::2 dev fslthr0
# Add route to default address of Serial TUN embedded interface.
ip -6 route add FD01::1 dev fslthr0
# Add route to Unique Local /64 Prefix via fslthr0.
ip -6 route add FD01:0000:0000:3EAD::/64 dev fslthr0
# The interface is ready.
ip link set fslthr0 up
# Enable IPv6 routing on host.
sysctl -w net.ipv6.conf.all.forwarding=1

大致意思就是创建一个叫做fslthr0的IPv6虚拟网络接口
./tun.sh
跑起来
ifconfig看一下
会出现这么个东西

[C] 纯文本查看 复制代码

?

1
2
3
4
5
6
7
阅读原文")

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

站点相关: TI培训

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

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