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

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

3天内不再提示

如何建立Thread网络并获取DATASET

泰凌微电子 来源:泰凌微电子 作者:泰凌微电子 2022-09-07 09:04 次阅读

之前我们构建了Matter固件和chip-tool,接下来我们需要建立Thread网络并通过BLE配网,这样才能通过chip-tool来控制Matter设备。

1

建立Thread网络并获取DATASET

01

建立Thread网络

树莓派通过网线连接到路由器,在浏览器中输入树莓派的 IP 地址,点击 Form 按钮,默认设置不用更改, 点击 FORM 建立 Thread 网络。

ce6feab0-2e45-11ed-ba43-dac502259ad0.png

02

检查Thread 网络状态

Thread 网络建立后可以在 Status 下查看状态,检查RCP状态为leader。

ced59018-2e45-11ed-ba43-dac502259ad0.png

03

获取DATASET

请以 SSH 方式登录树莓派(预置镜像中的用户名 username:pi,密码 password:raspberry),执行以下命令:

$ sudo ot-ctl dataset active -x

DATASET是类似于以下形式的一串十六进制的字符串,将其保存好。

cf39259c-2e45-11ed-ba43-dac502259ad0.png

*注意:每次形成新的 Thread 网络,上面的 DATASET 将会被重新生成。即使每次生成 Thread 网络所设置的参数相同,其中间的部分...0708fd0b448cf7918bcf051000...也会不同。

2

通过BLE配网

01

在主机上进行配网之前,请检查主机与树莓派之间的网络连接状态。

如果主机与树莓派之间是由带防火墙的路由器做转发,暂时关闭路由器上的防火墙,尤其是其禁止端口监听、端口扫描等功能。

如果使用运营商的光猫作为路由,可能会导致 mDNS 服务无法发现的错误,尝试将主机与树莓派用仅开启 DHCP 服务的其他路由器进行网线直连。

确保主机是独立的 Ubuntu 主机;若使用 Windows 上的 VirtualBox 等虚拟机充当主机,则需要给它提供并配置额外的蓝牙适配器。

02

检查 Matter 固件版本与 chip-tool 的是否相符

编译 Matter 设备的固件和 chip-tool 需要相同的 Zephyr 环境,否则进行配网时会出错。

*注意:若要使用自己构建的 chip-tool 和 Matter 设备的固件,必须保证它们使用了相同的 commit 的 connectedhomeip 工程目录进行构建,以避免出现兼容性问题。建议使用网盘内提供的预置固件。

03

在主机上的 shell 中配置好以下命令:

$ ./chip-tool pairing ble-thread ${NODE_ID} hex:${DATASET} ${PIN_CODE} ${DISCRIMINATOR}

*注意:运行 chip-tool 需退出镜像,并检查 chip-tool 的执行权限。

NODE_ID 可以是 RCP 初始化之后,未使用过的任何非零值,chip-tool 将使用它来操作特定的 Matter 设备。

DATASET 即为树莓派上获取的字符串。

示例:

cf56e910-2e45-11ed-ba43-dac502259ad0.png

04

Matter 设备上电后,红灯闪烁,进入 BLE 广播状态,在主机上的 shell 中输入上面命令并运行,会让 Matter 设备与 RCP 所在的边界路由开始配对并配网。

这个过程会持续一段时间,如果一切顺利,Matter 设备加入 Thread 网络后,你将能够从主机的 shell 中看到类似下面的信息

cf73eb5a-2e45-11ed-ba43-dac502259ad0.png

3

用chip-tool控制lighting-app

在配网成功之后,可以使用 chip-tool 对 Matter 设备进行控制,对于lighting-app来说,主要的几个控制命令如下。

01

开关灯

开灯:

$ ./chip-tool onoff on ${NODE_ID} 1

关灯:

$ ./chip-tool onoff off ${NODE_ID} 1

切换状态:

$ ./chip-tool onoff toggle ${NODE_ID} 1

其中的${NODE_ID}是上一步进行配网时使用的非零值。

02

查看灯的状态

读取开关状态:

$ ./chip-tool onoff read on-off ${NODE_ID} 1

读取亮度状态:

$ ./chip-tool levelcontrol read current-level ${NODE_ID} 1

03

改变灯的亮度

$ ./chip-tool levelcontrol move-to-level 32 0 0 0 ${NODE_ID} 1

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

    关注

    14

    文章

    7251

    浏览量

    87447
  • 路由器
    +关注

    关注

    22

    文章

    3505

    浏览量

    111345
  • Thread
    +关注

    关注

    2

    文章

    83

    浏览量

    25700

原文标题:泰凌微电子 Matter 开发指南(六):配网和 Lighting-App 示例

文章出处:【微信号:telink-semi,微信公众号:泰凌微电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NuMaker-IoT-M487开发板使用RT-Thread Studio创建工程,开启NTP获取网络时间时提示错误怎么解决?

    NuMaker-IoT-M487开发板使用RT-Thread Studio创建工程。连上WIFI后一切正常,当开启NTP获取网络时间时提示错误,偶尔能打印出来NTP时间。
    发表于 03-05 08:26

    用什么函数,可以获取NTP网络时间

    XCOM中查看打印出的时间。2)水墨画定时控制系统之Gokit时间获取及其分析:http://club.gizwits.com/thread-8037-1-1.html3)MCU请求网络时间例程
    发表于 08-27 08:25

    TLSclient如何与测试网站建立TLS连接获取加密数据?

    该示例程序提供了一个简单的TLSclient,与测试网站建立TLS连接获取加密数据。
    发表于 03-30 07:41

    如何在RT-Thread中利用标准BSD Socket API来开发网络应用

    本文描述了如何在 RT-Thread 中利用标准 BSD Socket API 来开发网络应用。给出了在正点原子 STM32F4 探索者开发板上运行 NTP(通过网络
    发表于 03-30 06:26

    什么是Thread

    matter网络基础之—Thread什么是 ThreadThread是专门为物联网设计的一种短距离、低功耗、支持IPv6的无线网状网络组网
    发表于 01-19 08:25

    通过NTP获取Epoch/Unix时间NTP代表网络时间

    通过NTP获取 Epoch/Unix时间NTP代表“网络时间协议”,它是用于在计算机系统之间进行时钟同步的网络协议。 换句话说,它用于同步网络中的计算机时钟时间。本文将介绍如何使用带A
    发表于 01-27 06:03

    Thread网络相关资料分享

    Thread 网络
    发表于 12-14 06:18

    PyTorch中的Dataset和TorchData API是如何工作的

    深度神经网络需要很长时间来训练。训练速度受模型的复杂性、批大小、GPU、训练数据集的大小等因素的影响。在PyTorch中,torch.utils.data.Dataset
    发表于 01-31 16:26

    如何扫描本地网络获取本地网络上的设备列表及其MAC地址?

    如何扫描本地网络获取本地网络上的设备列表及其 MAC 地址?
    发表于 02-24 06:38

    如何在两个ESP32C6板之间建立一个OpenThread网络

    信道和主密钥)创建 Thread 网络,而第二块板应该能够连接到网络而无需这些预先配置的细节。我想使用 Mesh Link Establishment (MLE) 协议让第二块板发现
    发表于 04-13 06:34

    如何获取连接到网络的所有设备的MAC地址?

    你好我的朋友们,我设计了一个网络,其中有 5 个 NodeMCU 连接到一个路由器。其中一个 NodeMCU 将作为网络的主机,其他的是从机。我正在使用 UDP 协议在设备之间建立通信。我的问题是:如何
    发表于 04-28 06:00

    C#教程之Linq操作DataSet

    C#教程之Linq操作DataSet,很好的C#资料,快来学习吧。
    发表于 04-20 15:27 6次下载

    MSP430F2001_dataset

    MSP430 dataset 方便大家对430单片机了解
    发表于 08-22 16:01 15次下载

    建立Thread网络并通过BLE配网

    之前我们构建了Matter固件和chip-tool,接下来我们需要建立Thread网络并通过BLE配网,这样才能通过chip-tool来控制Matter设备。
    的头像 发表于 09-07 08:58 1880次阅读

    Thread家用网络架构和Thread商用网络架构的区别

    Thread协议栈支持IPv6地址,能够实现与其它IP网络的低成本桥接,是低功耗/电池供电操作、无线设备间通信的最佳选择。Thread协议栈专为基于IP网络的智能家居和楼宇自动化应用而
    发表于 02-28 11:10 300次阅读