当前位置: 首页 > news >正文

Matter 协议系列:发现

Commissionable 发现

Commissionable 发现发生在投入使用(未绑定)之前,指的是发现和识别Commissionable 节点的过程。有三种方法可以通过这些方法中的任何一种来 广播Commissionable 的节点:

  1. 蓝牙低功耗(BLE)

  2. Wi-Fi Soft-AP

  3. 基于IP的网络上的DNS-SD,也称为现有的IP传输网络

无论使用哪种方法,Commissionable 的节点都会以表格1中所示的信息进行广播。

表1:Commissionable 节点的广播

字段 长度bit 是否必需

Discriminator 识别码 12位 是

Vendor ID 供应商ID 16位 否

Product ID 产品ID 16位 否

Extended data 扩展数据 可变 否

根据Matter规范,供应商ID和产品ID不是必需的,但可以包含在内。识别码是强制性的,在投入使用过程中是关键的,以便在同时连接多个相同设备时正确配置设备。扩展数据可以用来编码自定义的供应商特定信息。

许多设备在通电后会短暂广播一段时间(约3-15分钟)。其他设备不会开始广播,要么是因为它们的主要控制不起源于fabric,要么是因为自动未进行授权的设备(如锁)的广播不安全。

蓝牙低功耗

在这种广播模式下,Commissioner将看到BLE广播。

  • Commissionee必须实现通用访问配置文件(GAP)外围接口,并定期广播其未投入使用(未绑定)状态。

  • 在设备打开后的前30秒内,广播频率必须很高,间隔为20到60毫秒。

  • 30秒后,设备必须以低频率广播,间隔为150到1500毫秒。当将设备投入到其第一个fabric时,设备必须停止其BLE广播。

  • Commissioner不需要发出扫描请求。它应该在三个BLE广播频道上进行被动扫描:37(2402 MHz)、38(2426 MHz)和39(2480 MHz)。这些通道是从频谱中的区域选择的,与Wi-Fi通道的重叠最小,从而最小化跨无线电的干扰。

BLE不用于Operational发现。

Wi-Fi Soft-AP

在使用Wi-Fi Soft-AP时,通过自组织Soft-AP(soft AP)网络发现Commissionee。网络的SSID(网络名称)采用以下形式:MATTER-ddd-vvvv-pppp,其中:

  • ddd是十六进制的12位识别码。

  • vvvv是十六进制的16位供应商ID。

  • pppp是十六进制的16位产品ID。

当Commissioner连接到Commissionee时,两者都将配置唯一的IPv6链路本地地址,从而在Wi-Fi层进行连接。在这一点上,发现将与下一部分中涵盖的DNS-SD方法的情况相同地继续。

此外,Wi-Fi Soft-AP可以实现IPv4的DHCP和信息元素(IE)来公开供应商特定的附加信息。IE是802.11(Wi-Fi)管理帧中的可变长度字段,允许将自定义信息传递给其他系统。

在Commissioner扫描时,应优选Wi-Fi信道1、6和11,但必须扫描本地频谱规定允许的所有信道。

注意: Matter SDK的1.0版本中没有实现Wi-Fi Soft-AP,因此目前没有设备使用这种广播方法。

DNS-SD

在这种情况下,通过其域名服务 - 服务发现(DNS-SD)广播来发现Commissionee,其中包含有关节点提供的服务的信息。有关DNS-SD的更多信息,请参阅RFC 6762。这是设备发现的常用方法:

  1. Commissionee连接到以太网,因此可以物理访问未加密的网络介质。

  2. Commissionee通过任何带外手段加入了Wi-Fi或Thread网络。

  3. Commissionee 已经被 Commission 到另一个fabric,并且已经加入了Wi-Fi/Thread网络。在这种情况下,Commissionee不能使用BLE广播或创建Soft AP。因此,所有的辅助网络都通过这种方法进行配置。

Thread设备不直接使用DNS-SD,而是使用由Thread边界路由器提供的代理方法。这种方法由DNS-SD服务注册协议及其广播代理定义。Thread设备通常在Thread Border Router提供的SRP服务中注册自己。该服务代表每个已注册的Thread节点处理mDNS流量,而无需由这些协议生成的附加流量负担Thread网络。

设备发现的DNS-SD实例名称是_matterc._udp,主机名是由48位 MAC地址或 64位MAC扩展地址构建的,表示为十六进制字符串,例如A5F15790B0D15F32.local。

在发现之后,AAAA记录中返回IPv6地址,并在DNS-SD TXT记录中返回键/值对。键/值对包含信息,例如识别码、供应商ID和产品ID。该节点还广播已绑定设备的子类型,从而可以过滤结果,仅查找与特定属性匹配的Commissionees。

Operational 发现

Operational发现是发现和识别已经被绑定入网的节点的过程。Operational发现仅通过基于IP的DNS-SD方法进行。节点实例名称将由64位压缩的fabricID和64位节点ID组成。这些十六进制的ID会与连字符连接,例如2906C908D115D362-8FC7772401CD0696.local。Operational发现与DNS-SD设备发现共享相同的目标主机名。

DNS-SD服务类型是_matter._tcp。尽管使用了_tcp命名,但设备可能会使用其他传输,如UDP。

相关文章:

Matter 协议系列:发现

Commissionable 发现 Commissionable 发现发生在投入使用(未绑定)之前,指的是发现和识别Commissionable 节点的过程。有三种方法可以通过这些方法中的任何一种来 广播Commissionable 的节点: 蓝牙低功耗(BLE&#xff…...

Oracle 12c Docker镜像配置SSL

一、Docker运行Oracle 12c服务 a.拉取镜像 docker pull truevoly/oracle-12cb.运行 docker run -d -p 1521:1521 -p 2484:2484 -v /data/oracle/:/opt/oracle --name oracle_12c truevoly/oracle-12cc.查看日志 docker logs -f oracle_12cd.出现如下信息,则启动…...

版本控制系统git:一文了解git,以及它在生活中的应用,网站维护git代码,图导,自动化部署代码

目录 1.Git是什么 2.git在生活中的应用 2.1git自动化部署代码 3.网站维护git代码 3.1如何在Git代码托管平台等上创建一个仓库 3.2相关文章 4.ruby实现基础git 4.1.Git add 4.2 Git commit 4.3 Git log 1.Git是什么 Git是一个版本控制系统,它可以追踪文件的…...

uqrcode+uni-app 微信小程序生成二维码

使用微信小程序需要弹出动态二维码的需求,从插件市场选了一个下载次数较多的组件引入到项目中uqrcode,使用步骤如下: 1、从插件市场下载 插件地址:https://ext.dcloud.net.cn/plugin?id1287,若你是跟我一样是用uni-…...

从零开始的 MyBatis 拦截器之旅:实战经验分享

文章目录 MyBatis拦截器可以做什么?Mybatis核心对象介绍四大核心对象如何实现?接口讲解Interceptor接口intercept方法plugin方法setProperties 完整SQL打印拦截器实战拦截器实现拦截器注册 MyBatis拦截器可以做什么? MyBatis拦截器是MyBatis…...

网络编程day05(IO多路复用)

今日任务&#xff1a; TCP多路复用的客户端、服务端&#xff1a; 服务端代码&#xff1a; #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <netinet/in.h> #include <unistd.h> …...

人声分离网站,帮你快速提取视频中的人声和背景音乐

今天给大家带来一个可以分离人声的网站——音分轨&#xff0c;他运用人工智能算法可以将音频中的人声部分和音乐部分分离&#xff0c;使我们的视频制作过程可以更方便。 我们点击右下角“选择文件”上传一个音频&#xff0c;上传好音频后&#xff0c;人工智能就开始处理我们上传…...

计算机网络常见问题

1.谈一谈对OSI七层模型和TCP/IP四层模型的理解&#xff1f; 1.1.为什么要分层&#xff1f; 在计算机中网络是个复杂的系统&#xff0c;不同的网络与网络之间由于协议&#xff0c;设备&#xff0c;软件等各种原因在协调和通讯时容易产生各种各样的问题。例如&#xff1a;各物流…...

上PICO,沉浸式观看亚运直播,参与跨国界游戏竞技

备受瞩目的杭州第19届亚运会&#xff0c;将于9月23日正式开幕。据悉&#xff0c;这也是有史以来项目最多的一届亚运会&#xff0c;除部分传统奥运项目外&#xff0c;还包含武术、藤球、板球、克柔术、柔术等亚洲特色项目&#xff0c;以及霹雳舞、电子竞技等深受年轻人喜爱的新兴…...

无重复字符的最长子串 - 力扣(LeetCode)

3. 无重复字符的最长子串 - 力扣&#xff08;LeetCode&#xff09; 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长…...

企业行政许可的种类有哪些?

从行政许可的性质、功能和适用条件的角度来说&#xff0c;大体可以划分为五类&#xff1a;普通许可、特许、认可、核准、登记。 1.普通许可 普通许可是一种允许符合特定条件的相对方行使某种权利的行为。在许多情况下&#xff0c;需要普通许可的活动都与国家安全、公共安全息…...

Flink--4、DateStream API(执行环境、源算子、基本转换算子)

星光下的赶路人star的个人主页 注意力的集中&#xff0c;意象的孤立绝缘&#xff0c;便是美感的态度的最大特点 文章目录 1、DataStream API1.1 执行环境&#xff08;Execution Environment&#xff09;1.1.1 创建执行环境 1.2 执行模式&#xff08;Execution Mode&#xff09;…...

#循循渐进学51单片机#指针基础与1602液晶的初步认识#not.11

1、把本节课的指针相关内容&#xff0c;反复学习3到5遍&#xff0c;彻底弄懂指针是怎么回事&#xff0c;即使是死记硬背也要记住&#xff0c;等到后边用的时候可以实现顿悟。学会指针&#xff0c;就是突破了C语言的一道壁垒。 2&#xff0c;1602所有的指令功能都应用一遍&#…...

Lua学习笔记:探究package

前言 本篇在讲什么 理解Lua的package 本篇需要什么 对Lua语法有简单认知 对C语法有简单认知 依赖Visual Studio工具 本篇的特色 具有全流程的图文教学 重实践&#xff0c;轻理论&#xff0c;快速上手 提供全流程的源码内容 ★提高阅读体验★ &#x1f449; ♠ 一级…...

【面试经典150 | 双指针】三数之和

文章目录 写在前面Tag题目来源题目解读解题思路方法一&#xff1a;暴力枚举方法二&#xff1a;双指针 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法&#xff0c;两到三天更新一篇文章&#xff0c;欢迎催更…… 专栏内容以分析题目为主&#xff0c;并附带一些对…...

现代卷积网络实战系列3:PyTorch从零构建AlexNet训练MNIST数据集

1、AlexNet AlexNet提出了一下5点改进&#xff1a; 使用了Dropout&#xff0c;防止过拟合使用Relu作为激活函数&#xff0c;极大提高了特征提取效果使用MaxPooling池化进行特征降维&#xff0c;极大提高了特征提取效果首次使用GPU进行训练使用了LRN局部响应归一化&#xff08…...

Django系列:Django应用(app)的创建与配置

Django系列 Django应用&#xff08;app&#xff09;的创建与配置 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article…...

Linux查看程序和动态库依赖的动态库

一. 前言 在一些时候&#xff0c;我们需要知道一个程序或者动态库所依赖的动态库有哪些。比如&#xff0c;当我们运行一个程序的时候&#xff0c;发现可能会报错&#xff0c;提示找不到某个符号&#xff0c;这时我们就需要知道程序依赖了什么库&#xff0c;从而添加对应需要的动…...

vue3 无法使用pnpm安装依赖 或 Cannot find module preinstall.js

创建.npmrc文件在根目录 shamefully-hoisttrue auto-install-peerstrue strict-peer-dependenciesfalse删除 node_modules 和 pnpm-lock.yaml 文件 重新 pnpm i 就可以啦...

C/C++连接数据库,包含完整代码。

C/C连接数据库 本篇文章意在简洁明了的在linux环境下使用C/C连接远程数据库&#xff0c;并对数据库进行增删查改等操作。我所使用的环境是centos7&#xff0c;不要环境除环境配置外&#xff0c;代码是大同小异的。完整代码在最底部&#xff01;&#xff01;&#xff01; 1.前…...

AUTOSAR词典:CAN驱动Mailbox配置技术要点全解析

AUTOSAR词典&#xff1a;CAN驱动Mailbox配置技术要点全解析 前言 首先&#xff0c;请问大家几个小小问题&#xff0c;你清楚&#xff1a; AUTOSAR框架下的CAN驱动关键词定义吗&#xff1f;是不是有些总是傻傻分不清楚呢&#xff1f;CAN驱动Mailbox配置过程中有哪些关键配置参…...

C语言 coding style

头文件 The #define Guard #define的保护文件的唯一性&#xff0c;防止被多重包含 格式 : <PROJECT>_< FILE>_H_ PROJECT : XS FILE : MV_CTR 头文件的包含顺序 C System FilesOther LibrariesUser LibraryConditional include 作用域 局部变量 -变量定义时需要…...

Python办公自动化之PDF

Python操作PDF 1、Python操作PDF概述2、批量拆分3、批量合并4、提取内容(文字)5、提取内容(表格)6、提取图片7、PDF添加水印8、加密与解密1、Python操作PDF概述 Python操作PDF主要有两个库:PyPDF2和pdfplumber PyPDF2是一个用于处理PDF文件的Python第三方库 官网文档参考:…...

【每日一题Day331】LC2560打家劫舍 IV | 二分查找 + 贪心

打家劫舍 IV【LC2560】 沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。 由于相邻的房屋装有相互连通的防盗系统&#xff0c;所以小偷 不会窃取相邻的房屋 。 小偷的 窃取能力 定义为他在窃取过程中能从单间房屋中窃取的 最大金额…...

JVM 参数详解

GC有两种类型&#xff1a;Scavenge GC 和Full GC 1、Scavenge GC 一般情况下&#xff0c;当新对象生成&#xff0c;并且在Eden申请空间失败时&#xff0c;就会触发Scavenge GC&#xff0c;堆的Eden区域进行GC&#xff0c;清除非存活对象&#xff0c;并且把尚且存活的对象移动到…...

uni-app获取地理位置

在uni-app中&#xff0c;可以通过uni.getLocation()方法获取地理位置。具体步骤如下&#xff1a; 在uni-app项目中的manifest.json文件中&#xff0c;添加需要获取地理位置的权限&#xff1a; {"mp-weixin": {"appid": "...","permission…...

Learn Prompt-Prompt 高级技巧:思维链 Chain of Thought Prompting

Jason Wei等作者对思维链的定义是一系列的中间推理步骤&#xff08; a series of intermediate reasoning steps &#xff09;。目的是为了提高大型语言模型&#xff08;LLM&#xff09;进行复杂推理的能力。 思维链通常是伴随着算术&#xff0c;常识和符号推理等复杂推理任务出…...

Vim编辑器使用入门

目录 一、Vim 编辑器基础操作 二、Vim 编辑器进阶操作 三、Vim 编辑器高级操作 四、Vim 编辑器文件操作 五、Vim 编辑器文件管理 六、Vim 编辑器进阶技巧 七、Vim 编辑器增强功能 Vim的三种工作模式 一、Vim 编辑器基础操作 1.移动光标 - 光标的移动控制 移动光标有两…...

早餐与风景

来吧&#xff0c;我用流水账描述下这一天。 时维九月&#xff0c;北京的早上有点冷&#xff0c;因为今天有个市场活动要去支撑&#xff0c;按照会议时间的要求&#xff0c;我需要在早上7点半就赶到会场&#xff0c;所以昨天晚上我加班到凌晨处理完了今天要给出去的材料&#xf…...

常用python代码串

记录新疆出差期间的一些代码 打开yaml文件python中的专有名词ctrlc 打开yaml文件 with open(/home/cyun/文档/cotton_ws/src/control/scripts/ControlParameter.yaml, r) as file:yaml_data yaml.load(file, Loaderyaml.FullLoader)后面发现像这种打开文件的最好是try一下 p…...

怎样做网站的源代码/百度一下app下载安装

什么是DOM&#xff1f; DOM是W3C&#xff08;万维网联盟&#xff09;的标准&#xff0c;是Document Object Model&#xff08;文档对象模型&#xff09;的缩写&#xff0c;它定义了访问HTML和XML文档的标准&#xff1a; “W3C文档对象模型&#xff08;DOM&#xff09;是中立于平…...

扎金花网站怎么做/seo优化软件哪个好

j2CaChe项目地址 不少人看到 J2Cache 第一眼时&#xff0c;会认为这就是一个普普通通的缓存框架&#xff0c;和例如 Ehcache、Caffeine 、Spring Cache 之类的项目没什么区别&#xff0c;无非是造了一个新的轮子而已。事实上完全不是一回事&#xff01; 目前缓存的解决方案一…...

网上商城建网站/网络推广团队

Dear Juniper Networks Customer, Our records indicate that we have NOT yet received the defective part referenced below. 我们的记录表明我们尚未收到以下引用的有缺陷的部件。 indicate:表明、表示 yet:还、尚、仍然 This is your FIRST reminder requesting the defec…...

电子网站有哪些/网络营销推广公司名称

前言Redis提供了5种数据类型&#xff1a;String(字符串)、Hash(哈希)、List(列表)、Set(集合)、Zset(有序集合)&#xff0c;理解每种数据类型的特点对于redis的开发和运维非常重要。Redis中的list是我们经常使用到的一种数据类型&#xff0c;根据使用方式的不同&#xff0c;可以…...

如何登录网站备案/友情链接怎么购买

转自&#xff1a;http://blog.csdn.net/stormbjm/article/details/9086163 1、添加用户&#xff0c;首先用adduser命令添加一个普通用户&#xff0c;命令如下&#xff1a; #adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码 Changing password for user tom…...

猪八戒做的网站怎么样/草莓永久地域网名入2022

1、mongodb 使用安全认证时&#xff0c;添加用户使用createUser&#xff0c;具体如下&#xff1a; 定义&#xff1a; 创建一个数据库新用户用db.createUser()方法&#xff0c;如果用户存在则返回一个用户重复错误。 语法&#xff1a; db.createUser(user, writeConcern) …...