0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

泰凌微电子Thread RCP和NCP方案介绍(二)

泰凌微电子 来源:泰凌微电子 作者:泰凌微电子 2023-08-30 10:25 次阅读

1

介绍

接着本教程的上一篇文章:泰凌微电子Thread RCP和NCP方案介绍(一),本篇将演示使用LinuxBDT工具将OpenThread RCP和 NCP固件烧录到 Telink B91 开发板,并且分别与树莓派协同工作,创建和管理Thread网络的所必须的步骤。

学习内容

分别将OpenThread Co-Processor固件( ot-ncp-ftd 和 ot-rcp )烧录到两块Telink B91开发板上。

在Raspberry Pi 3B+或更高版本上,使用Docker和RCP搭建OpenThread边界路由器(OTBR)。

在Raspberry Pi 3B+或更高版本上,使用 Pyspinel 验证NCP功能。

所需条件

硬件

2块B91开发套件。

1台Raspberry Pi 3B+或更高版本,并安装Raspbian操作系统映像。

1台Linux主机,至少带有两个USB端口

1个已连接互联网的交换机(或路由器)和若干条以太网电缆。

软件:

Telink烧录和调试工具 —— LinuxBDT。

其他工具,比如Git和West。

2

固件烧录

泰凌LinuxBDT设置

下载Telink Linux BDT烧录工具,并将其解压到Linux主机的本地目录,例如 ~,以允许用户将固件烧录到B91开发板。

$cd~
$wgethttp://wiki.telink-semi.cn/tools_and_sdk/Tools/BDT/LinuxBDT.tar.bz2
$tar-vxfLinuxBDT.tar.bz2

将BDT通过USB接口连接到Linux主机上,在命令行输入如下指令。

$cdLinuxBDT
$sudo./bdtlsusb-v
Bus002Device001:ID1d6b:0003xHCIHostController
Bus001Device003:ID0bda:565aIntegrated_Webcam_HD
Bus001Device023:ID413c:301aDellMS116USBOpticalMouse
Bus001Device037:ID248a:826aTelinkWebDebuggerv3.6
Bus001Device001:ID1d6b:0002xHCIHostController

能搜索到Telink Web Debugger v3.6,代表BDT烧录器顺利连接到Linux主机。

固件烧录

如下图所示,使用USB连接线将一块Telink B91开发板连接到Telink烧录板。

e889edd8-46db-11ee-a2ef-92fbcf53809c.png

在命令行输入如下指令(以烧录ot-ncp-ftd固件为例)。

$cd~/zephyrproject/build_ot_ncp_ftd/zephyr
$cpzephyr.bin~/LinuxBDT/bin/ot-ncp-ftd.bin
$cd~/LinuxBDT
$sudo./bdt9518ac
ActivateOK!
$sudo./bdt9518wf0-ibin/ot-ncp-ftd.bin
EraseSectorsize...
TotalTime:2181ms
Flashwriting...
[100%][-][##################################################]
FileDownloadtoFlashataddress0x000000:491700bytes
TotalTime:30087ms

ot-rcp 的烧录方法和 ot-ncp-ftd 的基本一样,不同之处在于固件名称。烧录完成后分别将两块B91开发板做好标记区分,烧录 ot-ncp-ftd 的开发板标记为“NCP”,烧录 ot-rcp 的开发板标记为“RCP”。

3

固件应用

本教程使用树莓派来验证RCP和NCP两种固件功能。

树莓派安装Docker作为OTBR的Host端,验证RCP功能。

树莓派安装并运行Pyspinel,验证NCP功能。

树莓派

1、确保写入SD卡中的是Raspbian Bullseye Lite OS image或Raspbian Bullseye with Desktop。

2、您可以选择通过SSH连接到树莓派,也可以直接在Raspbian桌面上操作。本教程将使用SSH。

3、在下一步安装OTBR Docker或Pyspinel之前,先更新本地代码库和软件包管理器。

$sudoapt-getupdate
$sudpapt-getupgrade

无线电协处理器(RCP)

ot-rcp固件的烧录步骤参考ot-ncp-ftd烧录过程,将B91开发板连接到树莓派的USB端口上,连接方式如下图所示。

e8a9487c-46db-11ee-a2ef-92fbcf53809c.png

安装Docker

重新启动树莓派并打开一个SSH终端窗口。

1、安装Docker。

$curl-sSLhttps://get.docker.com|sh

2、将当前用户添加到Docker组中,授予权限,这样在每个命令前都不需要加上sudo。


$sudousermod-aGdocker$USER
你需要重启树莓派来使改动生效。

3、若Docker尚未启动,请将其启动:

$sudodockerd

4、OTBR 防火墙脚本在 Docker 容器内创建规则。运行 modprobe 以加载 iptables 的内核模块。

$sudomodprobeip6table_filter

配置并运行Docker

本教程直接从OpenThread Docker Hub拉取OTBR Docker镜像,该镜像已经过OpenThread团队的测试和验证。

1、拉取镜像:

$dockerpullopenthread/otbr:latest

2、查看Docker容器中的镜像列表:

$dockerimages
REPOSITORYTAGIMAGEIDCREATEDSIZE
openthread/otbrlatestdb081f4de15f6daysago766MB

3、通过检查 /dev 确定RCP设备的串行端口名称, 出现 ttyACM0表示RCP正确连接。

$ls/dev/tty*
...
/dev/ttyACM0
...

4、第一次运行OTBR Docker, 并引用RCP的串行端口(ttyACM0),此后若要继续使用该OTBR Docker,请使用命令 docker start otbr。

$dockerrun--name"otbr"--sysctl"net.ipv6.conf.all.disable_ipv6=0net.ipv4.conf.all.forwarding=1net.ipv6.conf.all.forwarding=1"-p8080:80--dns=127.0.0.1-it--volume/dev/ttyACM0:/dev/ttyACM0--privilegedopenthread/otbr--radio-urlspinel+hdlc+uart:///dev/ttyACM0

5、新开一个SSH终端窗口,测试树莓派和RCP的连通性,并建立Thread网络。

$dockerexec-tiotbrsh-c"sudoot-ctl"
>state
disabled
Done
>panid0x1022
Done
>ifconfigup
Done
>threadstart
Done
>state
detached
Done
>state
leader
Done

可选用的Docker命令:

获取正在运行的Docker容器信息

$dockerps-aq

停止OTBR Docker:

$dockerstopotbr

移除OTBR Docker:

$dockerrmotbr

重新加载OTBR Docker:

$dockerrestartotbr

网络协处理器(NCP)

关闭树莓派,拔掉RCP。将NCP连接到树莓派的USB端口上,再重新启动树莓派。连接方式如下图。

e8feb834-46db-11ee-a2ef-92fbcf53809c.png

安装Pyspinel

在树莓派上打开一个新的SSH终端窗口。

1、安装依赖项:

$sudoaptinstallpython3-pip
$pip3install--userpyserialipaddress

2、下载 pyspinel 的源码到本地:

$gitclonehttps://github.com/openthread/pyspinel

3、安装Pyspinel:

$cdpyspinel
$sudopython3setup.pyinstall

验证NCP功能

1、配置NCP连接。

$sudochmoda+rw/dev/ttyACM0

2、运行Pyspinel CLI。

$spinel-cli.py-u/dev/ttyACM0-n1
spinel-cli>

3、查询NCP版本。

spinel-cli>version
OPENTHREAD/aabbee49c;Zephyr;Aug1020231437
Done

4、建立Thread网络。

spinel-cli>ifconfigup
Done
spinel-cli>threadstart
Done
spinel-cli>state
detached
Done
spinel-cli>state
leader
Done

可以看到NCP已成为leader,Thread网络被成功创建。

可选用的spinel-cli命令:

查看帮助菜单获取可用命令。

spinel-cli>help

Availablecommands(typehelpformoreinformation):
============================================================
bufferinfoextaddrncp-filterreleaserouterid
channelextpanidncp-ll64reset
childhncp-ml64rloc16
childmaxhelpncp-rawroute
childtimeouthistoryncp-tunrouter
clearifconfignetdatarouterdowngradethreshold
commissioneripaddrnetworkidtimeoutrouterselectionjitter
contextreusedelayjoinernetworkkeyrouterupgradethreshold
counterskeysequencenetworknamescan
debugleaderdatapanidstate
debug-memleaderweightparentthread
diagmacpingtxpower
discovermacfilterprefixv
eidcachemfgqvendor
exitmodequitversion

4

总结

您现在已经知道:

如何搭建并使用Telink Zephyr开发环境。

如何构建 ot-ncp-ftd 和 ot-rcp 两种二进制文件并将其烧录到B91开发板。

如何使用Docker和RCP将Raspberry Pi 3B+ 或更高版本设置为OpenThread边界路由器(OTBR)。

在Raspberry Pi 3B+或更高版本上,使用 Pyspinel 验证NCP功能。

由此可见,RCP和NCP方案都可以实现OTBR的功能。不过,从目前的社区的支持力度看,RCP更适合用于OTBR的开发。

5

深入阅读

查看openthread.io和GitHub,了解各种OpenThread资源,包括:

Supported Platforms

https://openthread.io/platforms/

— discover all the platforms that support OpenThread

Build OpenThread

https://openthread.io/guides

— further details on building and configuring OpenThread

Thread Primer

https://openthread.io/guides/thread-primer

— covers all the Thread concepts featured in this codelab

参考文档:

OpenThread Co-Processor Designs:

https://openthread.io/platforms/co-processor

OpenThread Pyspinel:

https://openthread.io/guides/pyspinel

OpenThread Border Router:

https://openthread.io/guides/border-router

关 于 泰 凌

泰凌微电子致力于为客户提供一站式的低功耗高性能无线连接SoC芯片解决方案,包括经典蓝牙,蓝牙低功耗,蓝牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有协议等低功耗2.4GHz多协议无线连接系统级芯片和丰富的固件协议栈。公司产品广泛应用于智能照明,智能家居/楼宇,智能遥控,无线外设,智能零售,穿戴设备,无线音频,智能玩具,物流追踪,智慧城市等各类消费和商业应用场景中。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209318
  • NCP
    NCP
    +关注

    关注

    0

    文章

    48

    浏览量

    23811
  • RCP
    RCP
    +关注

    关注

    0

    文章

    26

    浏览量

    9035
  • 树莓派
    +关注

    关注

    116

    文章

    1706

    浏览量

    105606
  • Thread
    +关注

    关注

    2

    文章

    83

    浏览量

    25923
  • 泰凌微
    +关注

    关注

    7

    文章

    147

    浏览量

    10806
收藏 人收藏

    评论

    相关推荐

    微电子广播麦克风方案介绍

      微电子广播麦克风方案采用2.4G私有广播协议,通过一个广播源设备向周边多个音频接收设备传输数字音频,具有 支持各种编解码格式、多种采样率、超低延时 等特点。  
    的头像 发表于 12-07 10:07 2413次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>广播麦克风<b class='flag-5'>方案</b><b class='flag-5'>介绍</b>

    多模IoT解决方案成本业界最低

    全球第一颗多模物联网(IoT)无线连接芯片率先被上海微电子开发出来,支持BLE、BLE Mesh、Zigbee/RF4CE、苹果Homekit和谷歌Thread
    发表于 04-11 11:25 3881次阅读

    微电子获得大基金投资,助力布局无线物联产业

    近日,微电子(上海)有限公司完成了新一轮融资,由国家集成电路产业投资基金股份有限公司领投,昆山开发区国投控股有限公司、上海浦东新兴产业投资有限公司等共同投资。本次投资完成后,国家集成电路产业基金成为
    的头像 发表于 03-30 16:52 9632次阅读

    基于微电子平台实现OpenHarmony开发—综述

    Mesh,Zigbee,Thread,Matter,HomeKit,和私有协议等多种适用于2.4GHz接口的协议及应用。微电子OpenHarmony源码OpenHarmony目前
    发表于 02-22 10:42

    微电子超低延时麦克风方案介绍

    微电子超低延时麦克风方案采用2.4G私有协议,实现了1发1收和2发1收,传输数字音频。拥有超低的延迟,并支持两种编解码算法、多种采样率、手动/自动配对、发射功率自适应等功能。
    的头像 发表于 12-22 14:13 1148次阅读

    微电子 TLSR9 SoC 通过Thread 1.3.0认证

    近期,微电子TLSR9 SoC 正式获得由Thread Group颁发的 Thread 1.3.0 Certified Componen
    发表于 12-27 10:42 610次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b> TLSR9 SoC 通过<b class='flag-5'>Thread</b> 1.3.0认证

    微电子无线通信SoC助推电子纸产业生态发展

    “第电子纸产业生态发展高峰论坛”在上海宝山圆满落幕。此次盛会汇聚了业界领袖和专家,共同探讨和分享电子纸产业的最新发展动态。作为领先的电子货架标签终端主控SoC供应商,
    的头像 发表于 05-25 16:41 1119次阅读

    【直播预告】基于微电子无线音频SoC应用方案介绍

    微电子是国内较早推出双模音频芯片的IC设计原厂之一。在无线音频产品市场主打低延时、多模在线以及1-N和N-1的场景应用。基于不同应用
    的头像 发表于 07-17 08:40 686次阅读
    【直播预告】基于<b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>无线音频SoC应用<b class='flag-5'>方案</b><b class='flag-5'>介绍</b>

    微电子| OpenThread组Telink Codelab正式上线

    上海,中国 - 微电子近日宣布, 其在OpenThread组推出的Telink Codelab正式上线。 此举标志着作为国际领先的物联网无线芯片公司,
    的头像 发表于 08-17 08:40 815次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>| OpenThread组Telink Codelab正式上线

    【技术专栏】微电子Thread RCPNCP方案介绍(一)

    1 介绍 Thread规范建立了一种可靠、安全且能效高的无线通信协议,适用于资源受限的设备,常见于智能家居和商业建筑。OpenThread包含了Thread的完整网络层范围,包括IPv6
    的头像 发表于 08-23 08:45 1605次阅读
    【技术专栏】<b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b><b class='flag-5'>Thread</b> <b class='flag-5'>RCP</b>和<b class='flag-5'>NCP</b><b class='flag-5'>方案</b><b class='flag-5'>介绍</b>(一)

    【技术专栏】微电子产测工具使用——常见问题解决方法(一)

    1 关于产测工具的连载文章 【技术专栏】微电子产测工具使用方式一 【技术专栏】微电子产测
    的头像 发表于 10-18 16:25 1501次阅读
    【技术专栏】<b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>产测工具使用——常见问题解决方法(一)

    【技术专栏】微电子产测工具使用——常见问题解决方法(

    1 关于产测工具的连载文章 【技术专栏】微电子产测工具使用方式一 【技术专栏】微电子产测
    的头像 发表于 10-25 16:15 1165次阅读
    【技术专栏】<b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>产测工具使用——常见问题解决方法(<b class='flag-5'>二</b>)

    微电子B91模组组合板Matter演示固件介绍

    B91模组组合板(TLSR921x Module kit)是微电子专为智能家居设计的子母开发板。本篇文章将重点介绍基于
    的头像 发表于 04-17 10:08 1067次阅读
    <b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>B91模组组合板Matter演示固件<b class='flag-5'>介绍</b>

    一图读懂微电子2023年年度报告

    一图读懂微电子2023年年度报告
    的头像 发表于 05-22 10:30 449次阅读
    一图读懂<b class='flag-5'>泰</b><b class='flag-5'>凌</b><b class='flag-5'>微电子</b>2023年年度报告

    微电子推出Wi-Fi 6多协议TLSR9118 SoC

    微电子(股票代码:688591.SH),作为无线连接解决方案领域的创新先锋,近日正式宣布其突破性成果——TLSR9118 SoC的问世。这款里程碑式的芯片不仅标志着
    的头像 发表于 08-30 16:29 1840次阅读