Matter 协议系列:发现
Commissionable 发现
Commissionable 发现发生在投入使用(未绑定)之前,指的是发现和识别Commissionable 节点的过程。有三种方法可以通过这些方法中的任何一种来 广播Commissionable 的节点:
-
蓝牙低功耗(BLE)
-
Wi-Fi Soft-AP
-
基于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。这是设备发现的常用方法:
-
Commissionee连接到以太网,因此可以物理访问未加密的网络介质。
-
Commissionee通过任何带外手段加入了Wi-Fi或Thread网络。
-
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ÿ…...
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多路复用)
今日任务: TCP多路复用的客户端、服务端: 服务端代码: #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #include <arpa/inet.h> #include <netinet/in.h> #include <unistd.h> …...
人声分离网站,帮你快速提取视频中的人声和背景音乐
今天给大家带来一个可以分离人声的网站——音分轨,他运用人工智能算法可以将音频中的人声部分和音乐部分分离,使我们的视频制作过程可以更方便。 我们点击右下角“选择文件”上传一个音频,上传好音频后,人工智能就开始处理我们上传…...
计算机网络常见问题
1.谈一谈对OSI七层模型和TCP/IP四层模型的理解? 1.1.为什么要分层? 在计算机中网络是个复杂的系统,不同的网络与网络之间由于协议,设备,软件等各种原因在协调和通讯时容易产生各种各样的问题。例如:各物流…...
上PICO,沉浸式观看亚运直播,参与跨国界游戏竞技
备受瞩目的杭州第19届亚运会,将于9月23日正式开幕。据悉,这也是有史以来项目最多的一届亚运会,除部分传统奥运项目外,还包含武术、藤球、板球、克柔术、柔术等亚洲特色项目,以及霹雳舞、电子竞技等深受年轻人喜爱的新兴…...
无重复字符的最长子串 - 力扣(LeetCode)
3. 无重复字符的最长子串 - 力扣(LeetCode) 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长…...
企业行政许可的种类有哪些?
从行政许可的性质、功能和适用条件的角度来说,大体可以划分为五类:普通许可、特许、认可、核准、登记。 1.普通许可 普通许可是一种允许符合特定条件的相对方行使某种权利的行为。在许多情况下,需要普通许可的活动都与国家安全、公共安全息…...
Flink--4、DateStream API(执行环境、源算子、基本转换算子)
星光下的赶路人star的个人主页 注意力的集中,意象的孤立绝缘,便是美感的态度的最大特点 文章目录 1、DataStream API1.1 执行环境(Execution Environment)1.1.1 创建执行环境 1.2 执行模式(Execution Mode)…...
#循循渐进学51单片机#指针基础与1602液晶的初步认识#not.11
1、把本节课的指针相关内容,反复学习3到5遍,彻底弄懂指针是怎么回事,即使是死记硬背也要记住,等到后边用的时候可以实现顿悟。学会指针,就是突破了C语言的一道壁垒。 2,1602所有的指令功能都应用一遍&#…...
Lua学习笔记:探究package
前言 本篇在讲什么 理解Lua的package 本篇需要什么 对Lua语法有简单认知 对C语法有简单认知 依赖Visual Studio工具 本篇的特色 具有全流程的图文教学 重实践,轻理论,快速上手 提供全流程的源码内容 ★提高阅读体验★ 👉 ♠ 一级…...
【面试经典150 | 双指针】三数之和
文章目录 写在前面Tag题目来源题目解读解题思路方法一:暴力枚举方法二:双指针 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对…...
现代卷积网络实战系列3:PyTorch从零构建AlexNet训练MNIST数据集
1、AlexNet AlexNet提出了一下5点改进: 使用了Dropout,防止过拟合使用Relu作为激活函数,极大提高了特征提取效果使用MaxPooling池化进行特征降维,极大提高了特征提取效果首次使用GPU进行训练使用了LRN局部响应归一化(…...
Django系列:Django应用(app)的创建与配置
Django系列 Django应用(app)的创建与配置 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article…...
Linux查看程序和动态库依赖的动态库
一. 前言 在一些时候,我们需要知道一个程序或者动态库所依赖的动态库有哪些。比如,当我们运行一个程序的时候,发现可能会报错,提示找不到某个符号,这时我们就需要知道程序依赖了什么库,从而添加对应需要的动…...
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连接远程数据库,并对数据库进行增删查改等操作。我所使用的环境是centos7,不要环境除环境配置外,代码是大同小异的。完整代码在最底部!!! 1.前…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...
