BLE mesh model 汇总

Ble Mesh Model Summary

mesh model简介

Bluetooth Mesh 模型(Mesh Model)是 Bluetooth Mesh 网络中的一种抽象概念,用于定义设备的行为、功能和交互方式。在 Bluetooth Mesh 网络中,模型是节点(Node)上的一个软件组件,每个模型通常代表了某种特定的功能,比如开关、调光、传感器数据采集等。模型通过消息(Messages)进行通信,消息是模型之间相互作用的主要方式。

1. 模型的基本概念

  • 模型(Model): 一个模型是设备功能的抽象表示,定义了设备在网络中的行为和特性。每个模型由一组消息、状态和行为组成。
  • 状态(State): 状态是模型在给定时间点的具体值,比如灯光的亮度、电源的开/关状态等。状态通常是持久的,并通过消息传递在网络中共享。
  • 消息(Messages): 消息是模型之间通信的载体。模型使用消息来发送命令、请求状态或报告状态。
  • 操作(Operations): 模型的操作包括发送和接收消息,以及对消息的处理和响应。
  • 元素(Element): 元素是一个设备中的逻辑部分,每个元素可以包含多个模型。一个设备可以有多个元素,比如一个智能灯泡可能有两个元素,一个控制灯光的开/关,另一个控制亮度。

2. 模型的分类

Bluetooth Mesh 模型主要分为以下几类:

a. 基本模型(Foundation Models)

基础模型提供了网络的管理功能,通常用于配置和控制网络。例如:

  • Configuration Server: 管理节点的配置参数,如订阅组、TTL 值等。
  • Health Server: 监控节点的健康状态,如错误检测和报告。
b. 通用模型(Generic Models)

通用模型提供了基本的设备功能,适用于多种应用场景。例如:

  • Generic OnOff Server/Client: 控制设备的开关状态。
  • Generic Level Server/Client: 控制设备的级别状态,如亮度或音量。
  • Generic Power OnOff Server/Client: 控制设备的电源状态及恢复行为。
c. 灯光模型(Lighting Models)

灯光模型专为照明设备设计,支持复杂的灯光控制功能。例如:

  • Light Lightness Server: 控制灯光的亮度。
  • Light CTL Server: 控制灯光的色温和亮度。
d. 传感器模型(Sensor Models)

传感器模型用于管理和传递传感器数据,例如:

  • Sensor Server: 收集并报告环境数据,如温度、湿度、光强度等。
  • Sensor Client: 请求传感器数据并接收传感器状态。
e. 场景模型(Scene Models)

场景模型用于预定义设备的一组状态,并允许设备快速切换到这些预定义状态。例如:

  • Scene Server: 保存和恢复一组设备状态(场景)。
  • Scene Client: 调用和管理场景的保存和恢复。
f. 时间和调度模型(Time and Scheduler Models)

这些模型用于管理时间和基于时间的操作,例如:

  • Time Server: 提供和同步网络中的时间信息。
  • Scheduler Server: 管理和执行基于时间的任务调度。

3. 模型的作用和意义

  • 功能模块化: 模型将设备的功能模块化,使得设备可以通过组合不同的模型来实现多种功能。这种模块化设计增强了系统的灵活性和可扩展性。
  • 互操作性: 模型定义了标准的通信方式,使得不同厂商的设备可以互操作。例如,一个品牌的开关可以控制另一个品牌的灯。
  • 灵活的配置和控制: 通过使用配置模型,管理员可以远程配置和管理网络中的设备,而不需要物理访问设备。
  • 状态管理: 模型通过消息传递和状态管理,确保网络中设备的状态同步。例如,当一个设备的状态发生变化时,它可以通过模型将其新状态广播到网络中的其他设备。
  • 场景控制: 通过场景模型,可以一键设置多个设备的状态,非常适合智能家居应用场景。

4. 模型与消息的工作流程

模型通过消息进行通信,消息可以是单播、组播或广播。以下是一个典型的工作流程:

  1. 发送请求 : 客户端模型(如 Generic OnOff Client)发送一个控制消息(如 On 命令)到服务器模型(如 Generic OnOff Server)。
  2. 接收处理: 服务器模型接收到消息后,处理消息并改变设备的状态(如将灯打开)。
  3. 状态更新: 服务器模型更新其内部状态,并通过状态消息向客户端报告新的状态。
  4. 反馈确认: 客户端接收到状态反馈消息,并根据需要执行进一步的操作。

5. 实例应用

  • 智能照明系统 : 使用 Generic OnOffGeneric LevelLighting Models 来控制灯光的开关、亮度和色温。
  • 环境监测系统 : 使用 Sensor Models 采集并报告环境数据,结合 Time and Scheduler Models 实现基于时间的自动化控制。
  • 安全监控系统 : 使用 Generic Power OnOff 模型管理摄像头和传感器的电源状态,并通过 Scene Models 实现一键布防。

6. 模型的扩展与定制

Bluetooth Mesh 允许开发者创建自定义模型以满足特定需求。这意味着如果现有的标准模型不能完全满足应用需求,开发者可以定义新的模型并通过 Mesh 协议实现特定功能。

通过理解和正确使用 Bluetooth Mesh 模型,开发者可以创建功能丰富、灵活可扩展的无线网络解决方案,适用于从智能家居到工业自动化的各种应用场景。

7.和gatt对比

这张图展示了 Bluetooth Mesh 网络中的三个核心概念:Element(元素)Model(模型)Node(节点),并将其与经典的 BLE 服务和特性进行了对比。

Element(元素)
  • 图示: 左侧部分展示了一个 MCU(微控制器)连接了多个元素(Element A、B、C)。
  • 解释: 在 Bluetooth Mesh 网络中,一个节点(Node)可以包含多个元素,每个元素是设备的一部分,可以独立地与网络中的其他设备通信。每个元素通常对应一个物理设备的功能组件,比如一个智能灯泡可能有不同的元素控制亮度、颜色和电源状态。
Model(模型)
  • 图示 : 中间部分展示了每个元素所包含的模型。例如,Primary Element A 包含了 Configuration Server ModelHealth Server ModelGeneric OnOff Server Model;而 Secondary Element B 和 C 也包含了类似的模型。
  • 解释: 模型是定义设备行为的基本构建块。每个模型处理特定的操作和状态,比如开关状态(Generic OnOff Server Model)或者设备健康状态(Health Server Model)。每个元素可以包含多个模型,通过模型来实现具体的功能。
Node(节点)
  • 图示: 右侧蓝色的框中表示整个节点,这个节点由多个元素和模型组成。
  • 解释: 一个节点是一个完整的 Bluetooth Mesh 设备。它包含一个或多个元素,而每个元素包含一个或多个模型。节点是网络中的基本单元,可以发送和接收消息,实现各种功能。
BLE Profile、Service、Characteristic 的对比
  • 图示 : 底部的结构图展示了 BLE 的 ProfileServiceCharacteristic。Profile 是 BLE 中高层次的功能抽象,Service 是功能的集合,Characteristic 则是具体的数据项。
  • 解释 : 图中用 BLE 的 ProfileService 对应 Bluetooth Mesh 中的 ElementModel。这显示了两者的相似性,即 BLE 的服务和特性类似于 Mesh 中的元素和模型,但 Mesh 提供了更高级别的模块化和功能扩展。
总结
  • Element 是节点中的功能组件,可以独立控制特定功能。
  • Model 是实现特定功能的逻辑模块,通过它们实现设备与网络的交互。
  • Node 是一个完整的设备,由一个或多个元素和模型构成。
  • BLE 的服务和特性结构与 Mesh 的元素和模型有一定的相似性,但 Mesh 更加灵活和模块化,适用于复杂的设备网络。

这张图帮助我们理解了 Bluetooth Mesh 中如何通过模型和元素构建复杂的网络功能,并将其与经典的 BLE 结构进行了对比。

Configuration Server Model

  • 模型是一个根模型,只存在于首要元素中并且每个节点中有且仅有一个
  • 该模型主要用于表示设备加入mesh网络之后的mesh网络配置
  • 表示mesh网络配置存放了节点的配置内容,如是否支持中继,是否支持朋友特性等等以及配置相对应的内容
  • 该模型是SIG的一个标准模型,其SIG Model ID为0x0000

模型状态

Configuration Server States Bound States
State Instance Model State Instance
Secure Network Beacon Primary - - -
Composition Data Primary - - -
Default TTL Primary - - -
GATT Proxy Primary Configuration Server Node Identity Primary
Friend Primary - - -
Relay Primary - - -
Model Publication Primary - - -
Subscription List Primary - - -
NetKey List Primary - - -
AppKey List Primary - - -
Model to AppKey List Primary - - -
Node Identity Primary - - -
Key Refresh Phase Primary - - -
Heartbeat Publish Primary - - -
Heartbeat Subscription Primary - - -
Network Transmit Primary - - -
Relay Retransmit Primary - -
  • mesh provisioning server

    当设备还没有入网前,mesh gatt server就叫mesh provisioning server;其主要是让provisioning client配置provisioning server,让其加入mesh网络

  • mesh proxy server

    当设备已经入网了,则为mesh proxy server;其主要作用是接收或者发送proxy pdus从或者到client

而这个GATT ProxyNode Identity 的关系就是,如果proxy feature被支持且mesh proxy server被公开。在入网完成之后,就会将在广播包中携带有Node Identity这个域值。

既然Configuration Server Model存放的是节点的配置内容,那用户应该如何去获取这个内容呢?具体如下所示:

其他模型状态行为参考:MshPRT_v1.1 -4.4.1 Configuration Server model

模型操作行为

Element SIG Model ID States Messages Rx Tx
Primary 0x0000 Secure Network Beacon Config Beacon Get M
Config Beacon Set M
Config Beacon Status - M
Composition Data Config Composition Data Get M
Config Composition Data Status M
Default TTL Config Default TTL Get M
Config Default TTL Set M
Config Default TTL Status - M
GATT Proxy Config GATT Proxy Get M
Config GATT Proxy Set M
Config GATT Proxy Status - M
Friend Config Friend Get M
Config Friend Set M
Config Friend Status - M
Relay and Relay Retransmit Config Relay Get M
Config Relay Set M
Config Relay Status - M
Model Publication Config Model Publication Get M
Config Model Publication Set M
Config Model Publication Virtual Address Set M
Config Model Publication Status - M
Subscription List Config Model Subscription Add M
Config Model Subscription Virtual Address Add M
Config Model Subscription Delete M
Config Model Subscription Virtual Address Delete M
Config Model Subscription Virtual Address Overwrite M
Config Model Subscription Overwrite M
Config Model Subscription Delete All M
Config Model Subscription Status - M
Config SIG Model Subscription Get M
Config SIG Model Subscription List - M
Config Vendor Model Subscription Get M
Config Vendor Model Subscription List - M
NetKey List Config NetKey Add M
Config NetKey Update M
Config NetKey Delete M
Config NetKey Status - M
Config NetKey Get M
Config NetKey List - M
AppKey List Config AppKey Add M
Config AppKey Update M
Config AppKey Delete M
Config AppKey Status - M
Config AppKey Get M
Config AppKey List - M
Model to AppKey List Config Model App Bind M
Config Model App Unbind M
Config Model App Status - M
Config SIG Model App Get M
Config SIG Model App List - M
Config Vendor Model App Get M
Config Vendor Model App List - M
Node Identity Config Node Identity Get M
Config Node Identity Set M
Config Node Identity Status - M
N/A Config Node Reset M
Config Node Reset Status - M
Key Refresh Phase Config Key Refresh Phase Get M
Config Key Refresh Phase Set M
Config Key Refresh Phase Status - M
Heartbeat Publication Config Heartbeat Publication Get M
Config Heartbeat Publication Set M
Config Heartbeat Publication Status - M
Heartbeat Subscription Config Heartbeat Subscription Get M
Config Heartbeat Subscription Set M
Config Heartbeat Subscription Status - M
Network Transmit Config Network Transmit Get M
Config Network Transmit Set M
Config Network Transmit Status - M
{note} 复制代码
从上表可以看到,一个State对应多个Message;那么,State与Message的关系就类似于 手机现在都支持BLE,那么就有打开BLE、关闭BLE以及查看当前BLE的状态的动作;其中,手机支持BLE就等同于State,而那些动作就是Message。所以,如果你想要获取或者配置相关的内容,就可以通过Message去实现。对于,RX和TX是相对于节点本身为参考体。这里举个例子,就Network Transmit状态而言,Config Network Transmit Get/Set表示该节点可以接收这些Messages;而节点在接收到这些消息之后,就会返回Config Network Transmit Status即发送回给源地址的设备;那么,紧接着我们继续解析每一个State以及其对应的Message的作用。
  • 操作码具体数值参考:Assigned_Numbers-4.2 Mesh Model Message Opcodes

Health Server Model

该模型跟Configuration Server Model是一样的,也是SIG强制要求必须要有的一个模型,也就是说每个节点都会有至少一个Health Server Model;其主要的特性如下所示:

  • 同样,该模型也是一个根模型

  • 跟其他普通的SIG模型一样,该模型也支持发布与订阅的功能

  • Configuration Server Model不同的是,其不但可以存在于首要元素中,也可以存在于次要元素中;同时,还可以在一个节点的不同元素中同时存在

  • 与该模型的通讯均采用AppKey加解密

  • 其SIG Model ID为0x0002

模型状态

{note} 复制代码
其中Attention Timer用于provisioning入网的时候使用, 就是给予new device一个时间值, 然后做出任何可以引起周边事物注意的动作时长为attention time秒; 其中Spec对该状态作出了如下规定:
 - 如果一个设备不支持Attention Timer,那么该状态值就必须为0;
 - 如果一个设备支持该状态, 那么其取值范围0x01~0xFF秒, 同时采用可以被人识别的方式, 如LED闪烁, 振动等等来引起别人的注意; 具体哪种方式,则根据具体的设备类型;
 - 该状态值每秒就会减1,直至为0;

具体模型状态参考:MshPRT_v1.1 -4.4.3 Health Server model

模型操作码

操作码具体数值参考:Assigned_Numbers-4.2 Mesh Model Message Opcodes

Generic OnOff Server

在Bluetooth Mesh网络中,Generic OnOff Server是一个基本且广泛使用的模型。它用于控制简单的二态设备(例如灯光的开关状态)。以下是对Generic OnOff Server的详细介绍:

1. 功能概述

Generic OnOff Server模型允许设备接收并处理打开(On)或关闭(Off)命令。这些命令通常来自Generic OnOff Client模型。服务器设备可能是一个可以被切换的设备,例如灯泡、开关或其他二态设备。

2. 消息操作

Generic OnOff Server支持以下主要操作消息:

  • Generic OnOff Set : 设置设备的开关状态。这条消息包含目标状态(OnOff),并可以选择性地包括一个过渡时间(即从当前状态过渡到目标状态所需要的时间)和延迟时间。
  • Generic OnOff Set Unacknowledged : 与Generic OnOff Set类似,但服务器不会响应确认消息。
  • Generic OnOff Status : 服务器响应客户端的状态请求,返回当前的开关状态。这条消息通常由Generic OnOff Get触发。
  • Generic OnOff Get 消息的作用是查询目标设备当前的开关状态。它是一个读取操作,没有任何参数。这条消息通常由客户端在需要知道服务器设备当前状态时发送,例如应用程序启动时或用户请求状态更新时。

3. 模型状态

Generic OnOff Server模型维护以下状态:

  • OnOff : 表示设备当前的开关状态。On状态通常表示值为1Off状态表示值为0
  • Target OnOff: 当过渡动作正在进行时,表示目标状态。
  • Transition Time: 指示从当前状态到目标状态的过渡时间。

4. 状态变化和过渡

  • 即时切换 : 如果没有定义过渡时间,状态变化将立即发生。例如,当接收到Set消息且过渡时间为0时,灯将立即从Off切换到On
  • 带过渡的切换: 如果设定了过渡时间,状态变化会逐渐发生。在此期间,服务器将按时间间隔更新状态,直到完成过渡。

5. 模型绑定

Generic OnOff Server模型通常与其他模型进行绑定。例如:

  • Generic Level Server模型绑定 : 通过映射Level值到OnOff状态,实现更精细的控制。
  • Generic Power OnOff Server模型绑定: 用于控制设备在断电后恢复时的状态。
  • Scene Server 模型绑定,Scene Server 模型管理设备的场景,包括保存、删除和回放场景的功能。当保存场景时,Scene Server 会检查绑定的模型(如 Generic OnOff Server)并保存它们的当前状态。

6. 应用场景

Generic OnOff Server模型广泛应用于需要简单开关控制的场景中,包括:

  • 智能灯光: 控制灯光的开与关。
  • 电源插座: 控制插座的通电与断电。
  • 家用电器: 控制简单家用电器的启停。

Generic OnOff Client

参考:MshMDL_V1.1 P95

Generic OnOff Client 是 Bluetooth Mesh 网络中一个关键的模型,用于控制和管理 Generic OnOff Server 模型的开关状态。它负责发送消息来控制设备的开启或关闭状态,通常与 Generic OnOff Server 模型配合使用,实现简单的开关控制。

1. 功能概述

Generic OnOff Client 模型主要用于向一个或多个 Generic OnOff Server 发送控制消息,以实现对二态设备(如灯光、开关)的远程开关控制。它能够发送请求以更改设备状态,并接收服务器的响应,以确认状态的变化。

2. 支持的消息

Generic OnOff Client 支持以下主要操作消息:

a. Generic OnOff Set
  • 描述 : Generic OnOff Client 发送的消息,用于设置 Generic OnOff Server 的目标开关状态(OnOff)。
  • 参数 :
    • OnOff: 目标状态(1 表示 On0 表示 Off)。
    • Transition Time(可选): 状态从当前值到目标值的过渡时间。
    • Delay(可选): 消息生效前的延迟时间。
b. Generic OnOff Set Unacknowledged
  • 描述 : 类似于 Generic OnOff Set,但不要求服务器返回确认消息。适用于不需要服务器响应的场景,减少通信开销。
  • 参数 : 与 Generic OnOff Set 相同。
c. Generic OnOff Get
  • 描述 : Generic OnOff Client 发送的消息,用于请求 Generic OnOff Server 的当前开关状态。
  • 参数: 无参数。
d. Generic OnOff Status
  • 描述 : 这是 Generic OnOff ServerGetSet 消息的响应,Client 接收此消息以获取服务器的当前状态。
  • 参数 :
    • Present OnOff: 服务器的当前状态。
    • Target OnOff(可选): 如果正在进行状态过渡,则该字段表示目标状态。
    • Remaining Time(可选): 过渡到目标状态的剩余时间。

3. 工作流程

以下是 Generic OnOff Client 模型的典型工作流程:

  1. 发送控制请求 : 当用户或控制系统想要改变设备的状态时,Generic OnOff Client 发送 Generic OnOff SetSet Unacknowledged 消息,要求 Generic OnOff Server 改变其状态。
  2. 状态获取请求 : 如果需要了解设备的当前状态,Generic OnOff Client 发送 Generic OnOff Get 消息。
  3. 接收状态响应 : Generic OnOff Client 接收并处理来自服务器的 Generic OnOff Status 响应消息,以确认设备的当前状态或确认状态变化是否成功。

4. 应用场景

Generic OnOff Client 模型常用于以下场景:

  • 智能灯光控制: 客户端应用(如手机App或遥控器)发送开关命令来控制灯光。
  • 家电控制: 控制家用电器的开关状态,如智能插座、电扇等。
  • 工业控制: 在工业自动化中,用于控制设备的启动和停止。

5. 模型绑定

Generic OnOff Client 模型通常与用户界面、传感器或自动化控制逻辑绑定。通过与这些模块的交互,Generic OnOff Client 可以在不同条件下(如用户按下按钮、时间事件触发等)发送控制消息。

6. 实现细节

  • 可靠性 : 当需要确保消息到达和执行时,使用 Generic OnOff Set(带确认的消息)。如果网络状况良好且不需要确认,使用 Generic OnOff Set Unacknowledged 可以减少通信负载。
  • 多播能力 : Generic OnOff Client 可以通过单个消息控制多个 Generic OnOff Server 设备,实现多播控制。

7. 场景支持

Generic OnOff Client 还可以结合场景(Scene)功能使用,通过场景来保存和恢复多个设备的开关状态,简化对复杂环境的控制。

通过了解 Generic OnOff Client 模型,开发者可以设计出各种复杂的控制系统,使得设备之间的通信和控制更加智能和高效。

Generic Level Server

参考:MshMDL_V1.1 P71

Generic Level Server 是 Bluetooth Mesh 网络中的一个核心模型,用于表示设备的一个通用级别(Level)值。这个值可以代表设备的多种状态,例如亮度、音量、位置等。与 Generic OnOff Server 模型相比,Generic Level Server 提供了更精细的控制能力,因为它支持一个范围值,而不仅仅是简单的开关状态。

1. 功能概述

Generic Level Server 模型用于处理与级别值相关的操作,它能够接收和处理客户端发送的 Generic Level 设置请求,并对外部设备报告当前的级别值。该模型的应用场景非常广泛,包括但不限于灯光调节、音量控制、位置调整等。

2. 支持的消息

Generic Level Server 模型支持以下主要操作消息:

a. Generic Level Get
  • 描述 : 请求当前的级别值。通常由 Generic Level Client 发送,用于获取 Generic Level Server 的当前状态。
  • 参数: 无参数。
b. Generic Level Set
  • 描述: 设置新的级别值。可以包含过渡时间和延迟时间。服务器接收到此消息后,将更新其级别状态。
  • 参数 :
    • Level: 目标级别值,范围为 -32768 到 32767。
    • Transition Time(可选): 过渡到目标级别所需的时间。
    • Delay(可选): 消息生效前的延迟时间。
c. Generic Level Set Unacknowledged
  • 描述 : 类似于 Generic Level Set,但服务器不会返回确认消息。适用于不需要服务器响应的场景,减少通信开销。
  • 参数 : 与 Generic Level Set 相同。
d. Generic Level Status
  • 描述 : 服务器对 GetSet 消息的响应,报告当前的级别状态。
  • 参数 :
    • Present Level: 当前的级别值。
    • Target Level(可选): 如果正在进行状态过渡,则该字段表示目标级别。
    • Remaining Time(可选): 过渡到目标级别的剩余时间。
e. Generic Delta Set
  • 描述: 相对于当前级别值的增量调整。可以指定增量值以及过渡时间。
  • 参数 :
    • Delta Level: 增量值(正值或负值),用来调整当前级别值。
    • Transition Time(可选): 增量调整所需的时间。
    • Delay(可选): 消息生效前的延迟时间。
f. Generic Delta Set Unacknowledged
  • 描述 : 与 Generic Delta Set 类似,但不需要服务器的确认响应。
  • 参数 : 与 Generic Delta Set 相同。
g. Generic Move Set
  • 描述: 开始或停止级别值的连续变化(移动)。它定义了级别值的移动速度和方向,直到达到极限值或者收到新的停止命令。
  • 参数 :
    • Delta Level: 每个时间单位的级别变化量,决定了移动的速度。
    • Transition Time(可选): 持续变化的过渡时间。
    • Delay(可选): 消息生效前的延迟时间。
h. Generic Move Set Unacknowledged
  • 描述 : 与 Generic Move Set 类似,但不需要服务器的确认响应。
  • 参数 : 与 Generic Move Set 相同。

3. 模型状态

Generic Level Server 主要管理以下状态:

  • Level: 表示当前的级别值,范围为 -32768 到 32767。
  • Target Level: 在过渡过程中表示目标级别值。
  • Transition Time: 状态过渡所需的时间。
  • Remaining Time: 当前状态过渡的剩余时间。

4. 过渡与延迟

Generic Level Server 支持平滑过渡,即状态从当前级别逐步变化到目标级别。这种过渡可以是立即完成的,也可以是经过一段时间逐步完成的。此外,Delay 参数允许开发者在消息生效之前设置一个延迟时间,从而使控制更加灵活。

5. 应用场景

Generic Level Server 模型适用于需要精细控制的场景,包括但不限于以下场景:

  • 灯光调节: 控制灯光的亮度,允许从完全关闭到最大亮度的任何级别。
  • 音量控制: 调节音量,允许从静音到最大音量的任意级别。
  • 窗帘控制: 控制窗帘的开合程度,允许窗帘处于完全打开、完全关闭或部分打开的任何位置。
  • 电机控制: 控制电机的位置或速度,例如在自动窗户或门控系统中。

6. 与其他模型的绑定

Generic Level Server 可以与其他模型绑定,以实现更复杂的功能。例如:

  • Generic OnOff Server 绑定 : Level 值的上限和下限可以映射到 OnOff 状态。
  • Generic Power OnOff Server 绑定: 用于控制设备在恢复电源时的状态。

7. 状态反馈

Generic Level Server 会根据客户端请求,通过 Generic Level Status 消息报告当前级别状态。这种反馈机制使得客户端能够保持对服务器状态的准确了解,确保系统同步。

8. 优先级与冲突处理

在多个控制命令同时到达的情况下,Generic Level Server 会根据消息中的过渡时间、延迟时间以及优先级进行适当的处理,以确保状态变化符合预期。

通过了解 Generic Level Server 模型,开发者可以实现对设备的精细控制,满足智能家居、工业自动化等场景中对状态渐变、状态调节的需求。

Generic Level Client

参考:MshMDL_V1.1 P96

Generic Level Client 是 Bluetooth Mesh 网络中的一个模型,主要用于控制和查询 Generic Level Server 模型中的值。Generic Level Client 模型通常用于调节设备的级别值(如亮度、音量、位置等),并接收来自 Generic Level Server 的状态反馈。

1. 功能概述

Generic Level Client 模型允许客户端设备发送请求以更改或查询其他设备(通常是带有 Generic Level Server 模型的设备)的级别状态。这个模型非常通用,可以用于多种不同类型的设备和应用场景,例如调节灯光亮度、音量控制、开窗器的开合程度等。

2. 支持的消息

Generic Level Client 模型支持一组消息,这些消息用于设置或获取服务器设备的级别状态。

a. Generic Level Get
  • 描述: 请求服务器的当前级别状态。客户端发送此消息后,服务器会返回当前的级别值。
  • 参数: 无。
b. Generic Level Set
  • 描述: 设置服务器的级别值。客户端可以指定一个目标级别值,以及一个过渡时间,服务器将根据请求调整自身的级别状态。
  • 参数 :
    • Level: 目标级别值(有符号 16 位整数,范围从 -32768 到 32767)。
    • Transition Time(可选): 过渡时间,表示从当前级别过渡到目标级别所需的时间。
    • Delay(可选): 指定消息执行的延迟时间。
c. Generic Level Set Unacknowledged
  • 描述 : 与 Generic Level Set 类似,但不要求服务器返回确认消息。适用于不需要确认的控制操作,可以减少网络通信开销。
  • 参数 : 与 Generic Level Set 相同。
d. Generic Level Status
  • 描述 : 服务器对 GetSet 消息的响应,返回当前的级别状态。客户端收到此消息后,可以更新自身对于服务器状态的理解。
  • 参数 :
    • Present Level: 服务器当前的级别值。
    • Target Level(可选): 如果当前正在进行过渡,则此字段表示目标级别值。
    • Remaining Time(可选): 当前过渡操作的剩余时间。
e. Generic Move Set
  • 描述: 命令服务器以一定的速度增加或减少其级别值。这种消息允许客户端控制级别值的动态变化(如持续的调光)。
  • 参数 :
    • Delta Level: 每单位时间应增加或减少的级别值。
    • Transition Time(可选): 过渡时间,用于控制调节的速度。
    • Delay(可选): 指定消息执行的延迟时间。
f. Generic Move Set Unacknowledged
  • 描述 : 类似于 Generic Move Set,但服务器不会返回确认消息。
g. Generic Delta Set
  • 描述: 基于当前级别状态,增加或减少一个特定的级别值。适用于需要在当前状态的基础上进行调整的操作。
  • 参数 :
    • Delta Level: 应增加或减少的级别值。
    • Transition Time(可选): 过渡时间。
    • Delay(可选): 指定消息执行的延迟时间。
h. Generic Delta Set Unacknowledged
  • 描述 : 类似于 Generic Delta Set,但服务器不会返回确认消息。

3. 应用场景

Generic Level Client 模型应用于多种场景,特别是在需要调节或控制级别状态的地方:

  • 照明控制: 调节灯光的亮度、色温等。
  • 音量控制: 调节音响系统的音量级别。
  • 位置控制: 控制窗帘开合度、阀门开度等。

4. 操作逻辑

  • 实时反馈 : 在调节过程中,Generic Level Client 可以通过接收 Generic Level Status 消息来获取服务器当前的状态,这允许客户端实时调整操作。
  • 动态控制 : 通过 Generic Move SetGeneric Delta Set 等消息,客户端可以实现平滑的动态控制,例如逐步调光或调音。

5. 模型绑定

Generic Level Client 通常与多个服务器模型进行交互,包括 Generic Level ServerGeneric OnOff Server(用于开关状态控制)、Generic Power Level Server(用于电力级别管理)等。这种绑定可以增强控制能力,提供更为复杂的操作。

6. 实现细节

  • 消息优化 : 在需要节省带宽或减少网络流量的情况下,可以使用不带确认的消息(如 Set Unacknowledged),这在大规模网络中尤为重要。
  • 延迟与过渡 : 使用 Transition TimeDelay 参数,客户端可以精确控制服务器的响应时间和操作节奏,这对于创建复杂的用户体验非常有用。

7. 设备交互

  • 控制精度 : Generic Level Client 可以实现高精度的控制操作,尤其是在需要逐步调节状态的应用中,如从微调亮度到精确调整音量。
  • 状态同步 : 客户端可以根据 Status 消息随时获取设备状态,从而保持客户端与服务器状态的一致性。

通过 Generic Level Client,开发者能够创建更加灵活、精确和动态的控制系统,从而提升设备的功能性和用户体验。

Generic Default Transition Time Server

Generic Default Transition Time Server 是 Bluetooth Mesh 网络中的一个辅助模型,用于管理设备状态变化的默认过渡时间。过渡时间指的是从当前状态逐步变化到目标状态所需的时间。这个模型非常有用,因为它为设备提供了一种统一且一致的方式来处理状态变化,使得控制操作更加平滑和用户友好。

1. 功能概述

Generic Default Transition Time Server 模型允许设备设置和存储一个默认的过渡时间值,当没有在具体的操作(例如开关、亮度调节等)中明确指定过渡时间时,设备将使用这个默认过渡时间来执行状态变化。这有助于确保设备的所有状态变化具有一致的速度和体验。

2. 支持的消息

Generic Default Transition Time Server 支持以下主要操作消息:

a. Generic Default Transition Time Get
  • 描述 : 用于请求设备当前的默认过渡时间值。通常由客户端(如 Generic Default Transition Time Client)发送,用于获取服务器的默认过渡时间。
  • 参数: 无参数。
b. Generic Default Transition Time Set
  • 描述: 设置设备的默认过渡时间。服务器接收到此消息后,将更新其默认过渡时间状态。
  • 参数 :
    • Transition Time: 默认过渡时间,表示为 1 到 62.42 秒之间的时间段。
c. Generic Default Transition Time Set Unacknowledged
  • 描述 : 类似于 Generic Default Transition Time Set,但服务器不会返回确认消息。适用于不需要服务器响应的场景,减少通信开销。
  • 参数 : 与 Generic Default Transition Time Set 相同。
d. Generic Default Transition Time Status
  • 描述 : 服务器对 GetSet 消息的响应,报告当前的默认过渡时间。
  • 参数 :
    • Transition Time: 设备当前设置的默认过渡时间。

3. 模型状态

Generic Default Transition Time Server 维护一个关键状态:

  • Transition Time: 当前的默认过渡时间,以 1/10 秒为单位,范围从 0x00 到 0x3E(对应 0 到 62.42 秒)。如果值为 0xFF,则表示使用厂家默认值或不支持过渡时间。

4. 应用场景

Generic Default Transition Time Server 模型适用于以下场景:

  • 灯光控制: 例如,在灯光调节操作中,如果没有特别指定过渡时间,系统将使用默认过渡时间来进行亮度调整,使得灯光变化更加平滑。
  • 音量调节: 在音频设备中,音量变化的默认过渡时间可以让音量增加或减少时的变化速度保持一致,避免突然的音量变化。
  • 场景切换: 在多个场景之间切换时,默认过渡时间可以确保场景中包含的多个设备以一致的速度过渡到目标状态。

5. 模型绑定

Generic Default Transition Time Server 可以与其他模型绑定,例如:

  • Generic OnOff Server 绑定 : 当 Generic OnOff Server 没有接收到特定的过渡时间时,将使用默认过渡时间。
  • Generic Level Server 绑定: 在亮度、音量等级别变化时,如果没有提供过渡时间,使用默认过渡时间来平滑处理。

6. 实现细节

  • 设置默认值 : 开发者可以在设备初始化时,或者通过接收到的 Set 消息,来设置一个适当的默认过渡时间,确保所有未指定过渡时间的操作都能一致地应用这一默认值。
  • 状态反馈 : 通过 Generic Default Transition Time Status 消息,客户端可以确认设备当前的默认过渡时间,从而决定是否需要调整过渡时间设定。

7. 优先级与应用

当设备在接收到控制指令时,如果该指令未明确指定过渡时间,则设备将应用 Generic Default Transition Time Server 中存储的默认过渡时间。这种机制确保了设备行为的一致性,也减少了客户端在每次发送控制命令时需要指定过渡时间的复杂度。

8. 状态存储与恢复

通常情况下,设备会将默认过渡时间状态存储在非易失性存储器中(如闪存),以确保在断电或重启后能够恢复默认过渡时间设置。

通过使用 Generic Default Transition Time Server 模型,设备能够提供更加一致和流畅的用户体验,尤其是在涉及多个状态变化的场景中,它为设备状态过渡提供了标准化的控制方法。

Generic Power OnOff Server

Generic Power OnOff Server 是 Bluetooth Mesh 网络中的一个核心模型,用于管理设备的电源状态和电源恢复行为。它通常用于控制和报告设备的电源开/关状态,并定义设备在电源恢复后的默认状态。这在智能照明、家电控制等领域中非常重要,因为它涉及到设备在掉电或重启后的行为。

1. 功能概述

Generic Power OnOff Server 模型用于管理设备的电源状态,尤其是在设备恢复电源时的行为。它允许设备在掉电重启后根据之前的配置恢复到特定的状态,例如恢复到上次的开关状态、保持关闭或自动打开。

2. 模型组成

Generic Power OnOff Server 模型实际上是由两个子模型组成:

  • Generic OnPowerUp Server: 用于定义设备在电源恢复时的行为。
  • Generic Power OnOff Setup Server : 用于配置和设置 Generic OnPowerUp 状态。

这两个子模型共同工作,允许开发者和用户配置设备在不同情况下的电源状态恢复行为。

3. 支持的消息

Generic Power OnOff Server 支持以下主要操作消息,通过这些消息可以配置和查询设备的电源恢复行为。

a. Generic OnPowerUp Get
  • 描述 : 请求设备的 OnPowerUp 状态。通常由客户端发送,用于获取设备当前的电源恢复行为配置。
  • 参数: 无参数。
b. Generic OnPowerUp Status
  • 描述 : 服务器对 Get 消息的响应,报告当前的 OnPowerUp 状态。
  • 参数 :
    • OnPowerUp: 当前的 OnPowerUp 状态,指示设备在电源恢复时的行为。
c. Generic OnPowerUp Set
  • 描述 : 设置设备的 OnPowerUp 状态。通常由 Generic Power OnOff Setup Server 处理,用于配置设备在电源恢复时的默认行为。
  • 参数 :
    • OnPowerUp: 目标 OnPowerUp 状态。
d. Generic OnPowerUp Set Unacknowledged
  • 描述 : 类似于 Generic OnPowerUp Set,但服务器不会返回确认消息。适用于不需要服务器响应的场景,减少通信开销。
  • 参数 : 与 Generic OnPowerUp Set 相同。

4. OnPowerUp 状态值

OnPowerUp 状态有三种可能的值,它们决定了设备在电源恢复后的行为:

  1. 0x00 (Off): 设备在电源恢复时保持关闭状态。
  2. 0x01 (On): 设备在电源恢复时自动打开。
  3. 0x02 (Restore): 设备在电源恢复时恢复到掉电前的状态。

5. 应用场景

Generic Power OnOff Server 模型在以下场景中非常有用:

  • 智能照明: 当电力恢复时,灯光设备可以自动恢复到掉电前的状态,或保持关闭,或自动开启。
  • 家电控制: 家电在断电后恢复电源时,可以根据配置选择恢复到上次的工作状态或保持关闭。
  • 工业自动化: 设备掉电重启后,可以根据设定恢复到适当的操作状态,以确保安全和一致性。

6. 配置与绑定

Generic Power OnOff Server 模型通常与 Generic OnOff ServerGeneric Level Server 模型结合使用,以提供更丰富的电源管理功能。例如,可以通过 Generic OnOff Server 来管理设备的开/关状态,而 Generic Power OnOff Server 则管理设备在掉电后的行为。

7. 实现细节

  • 状态存储 : 设备通常会将 OnPowerUp 状态存储在非易失性存储器中(如闪存),确保在断电或重启后能够恢复到正确的状态。
  • 灵活配置 : 通过 Generic Power OnOff Setup Server,管理员或用户可以灵活配置设备的电源恢复行为,以适应不同的使用场景和用户需求。

8. 状态反馈与确认

  • Generic OnPowerUp Status 消息提供了设备当前的电源恢复行为状态,确保控制系统能够准确了解和调整设备的配置。

9. 优先级与冲突处理

当设备恢复电源时,OnPowerUp 状态的配置优先于其他控制指令。如果恢复电源的状态与当前的控制指令有冲突,设备通常会优先执行 OnPowerUp 状态的配置。

通过了解 Generic Power OnOff Server 模型,开发者可以设计出更加可靠和用户友好的电源管理系统,确保设备在电力恢复后的行为符合用户预期,并提高系统的整体稳定性和可靠性。

Generic Power OnOff Setup Server

Generic Power OnOff Setup Server 是 Bluetooth Mesh 网络中的一个辅助模型,专门用于配置和管理设备的电源状态恢复行为。它与 Generic Power OnOff Server 模型密切相关,通过这个模型,用户或管理员可以设置设备在断电重启后应当恢复到何种状态。

1. 功能概述

Generic Power OnOff Setup Server 模型的主要作用是提供一种机制,用于配置设备的 OnPowerUp 状态,也就是在设备掉电并恢复电源后,设备应当如何操作。这对于智能家居设备、工业控制设备等需要可靠电源管理的场景尤为重要。

2. 模型结构

Generic Power OnOff Setup Server 模型实际上是 Generic Power OnOff Server 模型的一部分,负责设置和管理 OnPowerUp 状态。它通常与 Generic Power OnOff Server 一起部署,用于控制设备的电源恢复行为。

3. 支持的消息

Generic Power OnOff Setup Server 支持以下主要操作消息,这些消息用于配置和查询设备的电源恢复行为:

a. Generic OnPowerUp Get
  • 描述 : 请求设备当前的 OnPowerUp 状态。通常由客户端发送,用于获取设备当前的电源恢复行为配置。
  • 参数: 无参数。
b. Generic OnPowerUp Set
  • 描述 : 设置设备的 OnPowerUp 状态,决定设备在电源恢复时应如何操作。
  • 参数 :
    • OnPowerUp: 目标 OnPowerUp 状态(见下文的状态值解释)。
c. Generic OnPowerUp Set Unacknowledged
  • 描述 : 类似于 Generic OnPowerUp Set,但服务器不会返回确认消息。适用于不需要服务器响应的场景,减少通信开销。
  • 参数 : 与 Generic OnPowerUp Set 相同。
d. Generic OnPowerUp Status
  • 描述 : 服务器对 GetSet 消息的响应,报告当前的 OnPowerUp 状态。
  • 参数 :
    • OnPowerUp: 当前配置的 OnPowerUp 状态。

4. OnPowerUp 状态值

OnPowerUp 状态定义了设备在电源恢复时应采取的行为。其值如下:

  1. 0x00 (Off): 设备在电源恢复时保持关闭状态。
  2. 0x01 (On): 设备在电源恢复时自动打开。
  3. 0x02 (Restore): 设备在电源恢复时恢复到掉电前的状态。

这些选项允许用户根据具体的应用场景灵活设置设备的行为,从而提高设备使用的便利性和一致性。

5. 应用场景

Generic Power OnOff Setup Server 模型在以下场景中尤为重要:

  • 智能照明: 配置灯光在断电重启后是否恢复到上次的亮度状态,或者保持关闭。
  • 家电控制: 设置家电在断电恢复时是否应立即开启,例如电热水器在电力恢复时自动加热。
  • 工业自动化: 确保设备在断电后恢复电源时能够自动恢复到安全的工作状态,避免意外的操作。

6. 配置与管理

通过 Generic Power OnOff Setup Server,管理员可以在设备出厂或安装时进行配置,也可以在设备运行期间通过控制系统进行远程设置。这种灵活性使得设备能够根据不同环境和用户需求进行调整。

7. 实现细节

  • 配置存储 : 设备通常会将 OnPowerUp 状态配置存储在非易失性存储器中,确保配置在断电后不会丢失,并在电源恢复时自动应用。
  • 实时反馈 : 通过 Generic OnPowerUp Status 消息,设备能够及时反馈当前的电源恢复配置状态,确保系统对设备的配置状态有准确的了解。

8. 状态反馈与确认

当设备接收到 Generic OnPowerUp Set 消息时,它会更新自身的配置,并通过 Generic OnPowerUp Status 消息反馈当前的 OnPowerUp 状态。这种机制确保配置的准确性和系统的一致性。

9. 优先级与操作逻辑

在设备恢复电源时,OnPowerUp 状态的配置具有最高优先级。这意味着在电源恢复时,设备首先会根据该配置确定是否开启或保持关闭,然后再执行其他可能的操作指令。

通过 Generic Power OnOff Setup Server 模型,设备能够提供更可靠和用户可配置的电源管理功能,从而确保设备在各种电力状况下都能够按照预期的方式运行。这对于提高设备的安全性、稳定性和用户体验都有重要意义。

Sensor Server

Mesh Sensor Server 模型是 Bluetooth Mesh 网络中的一个核心组件,专门用于管理和发布来自传感器的数据。这个模型允许传感器设备在网络中共享其数据,并且可以与其他设备或客户端进行交互。以下是 Mesh Sensor Server 模型的详细介绍:

1. 功能概述

Mesh Sensor Server 模型主要用于从传感器获取数据,并将这些数据广播到网络中的其他设备。它支持查询、配置传感器参数,以及在传感器数据发生变化时主动推送更新。这种模型在智能家居、工业监控、环境监测等领域具有广泛的应用。

2. 支持的消息

Mesh Sensor Server 模型支持多种消息,用于管理和传递传感器数据,允许其他设备获取或配置传感器信息。

  • Sensor Get

    • 描述 : 客户端请求服务器设备的当前传感器数据。Sensor Server 接收到此消息后,会返回当前的传感器值。
    • 参数: 无。
  • Sensor Status

    • 描述 : 服务器对 Sensor Get 消息的响应,返回传感器的当前数据。这可以包括多种类型的传感器数据。
    • 参数 :
      • Sensor Data: 传感器的实际数据值,可能包括温度、湿度、光照强度等多种信息。
      • Property ID: 标识传感器数据的属性类型(例如温度、湿度等)。
  • Sensor Column Get

    • 描述: 请求特定时间段内的传感器数据。客户端可以获取特定区间的数据列,用于分析历史数据。
    • 参数 :
      • Property ID: 请求的数据属性标识符。
      • Raw Value X: 指定时间段的起始点。
  • Sensor Column Status

    • 描述 : 服务器对 Sensor Column Get 消息的响应,返回指定时间段的传感器数据列。
    • 参数 :
      • Property ID: 返回的数据属性标识符。
      • Raw Value X: 起始点的实际值。
      • Raw Value Width: 数据段的宽度。
      • Sensor Data: 对应的传感器数据列。
  • Sensor Series Get

    • 描述: 请求传感器的多个数据点。客户端可以获得一段时间内的多个数据点,方便进行时间序列分析。
    • 参数 :
      • Property ID: 请求的数据属性标识符。
      • Raw Value X1: 时间段的起始点。
      • Raw Value X2: 时间段的结束点。
  • Sensor Series Status

    • 描述 : 服务器对 Sensor Series Get 消息的响应,返回一段时间内的传感器数据。
    • 参数 :
      • Property ID: 返回的数据属性标识符。
      • Sensor Data: 一系列的传感器数据点。
  • Sensor Cadence Get

    • 描述: 请求传感器的工作节奏参数。工作节奏决定了传感器何时测量数据和何时发送数据。
    • 参数: 无。
  • Sensor Cadence Set

    • 描述: 设置传感器的工作节奏。客户端可以配置传感器的测量频率和数据传输频率。
    • 参数 :
      • Fast Cadence Period Divisor: 设置快速采样频率。
      • Trigger Type: 触发器类型(可能基于值变化或时间间隔)。
      • Trigger Delta Down/Up: 触发器的阈值。
      • Minimum Interval: 最小测量间隔。
      • Fast Cadence Low/High: 快速采样的上下限。
  • Sensor Cadence Status

    • 描述 : 服务器对 Sensor Cadence GetSensor Cadence Set 消息的响应,返回当前的工作节奏配置。
  • Sensor Settings Get

    • 描述: 请求传感器的设置。用于查询传感器的当前配置。
    • 参数: 无。
  • Sensor Settings Status

    • 描述 : 服务器对 Sensor Settings Get 消息的响应,返回传感器的所有设置。
    • 参数 :
      • Property ID: 传感器属性的标识符。
      • Setting Property ID: 传感器设置的标识符。
      • Setting Value: 当前设置的值。
  • Sensor Descriptor Status

    • Sensor Descriptor Get 消息由客户端发送,用于请求 Sensor Server 设备中一个或多个传感器的描述符信息。这些描述符通常包括有关传感器的类型、测量属性、测量单位等信息。
    • 参数:
      • Property ID (可选): 此参数标识要查询的特定传感器属性。如果未指定 Property ID,服务器将返回所有可用传感器的描述符信息。
  • Sensor Descriptor Status

    • 描述 : Sensor Descriptor StatusSensor ServerSensor Descriptor Get 请求的响应消息。它返回了与请求相关的传感器描述符信息,包括传感器的属性、测量特性、测量单位等
    • 参数:
      • Property ID: 与返回的传感器数据相关的属性标识符。
      • Positive Tolerance*: 传感器测量的正偏差容差(以百分比表示)。**
      • Negative Tolerance**: 传感器测量的负偏差容差(以百分比表示)。**
      • Sampling Function**: 表示传感器数据采样的功能,例如平均值、最大值、最小值等。**
      • Measurement Period**: 指定传感器执行测量的时间间隔。**
      • Update Interval**: 指定传感器更新其数据的频率。

3. 应用场景

Mesh Sensor Server 模型的应用场景包括:

  • 环境监测: 用于收集和传递温度、湿度、空气质量等环境数据。
  • 智能家居: 监控家庭环境,控制HVAC(供暖、通风和空调)系统,调节灯光和窗帘。
  • 工业自动化: 在工业环境中监控设备状态、温度、压力等关键参数。
  • 健康监测: 用于跟踪健康相关的传感器数据,如心率、血氧水平等。

4. 操作逻辑

  • 数据获取 : 客户端可以通过 Sensor Get 请求当前的传感器数据,或者通过 Sensor Series Get 获取一段时间内的数据。
  • 配置调整 : 通过 Sensor Cadence Set 等消息,客户端可以调整传感器的采样频率和数据传输频率,以满足不同的应用需求。
  • 自动更新 : 传感器可以根据配置的触发条件自动发送 Sensor Status 消息,更新网络中的其他设备。

5. 模型绑定

Mesh Sensor Server 通常与以下模型结合使用:

  • Sensor Client: 请求数据并处理响应消息。
  • Generic OnOff Server: 用于开关状态的控制,可以根据传感器数据触发操作。
  • Generic Level Server: 可以通过传感器数据调整设备的级别状态,如调节灯光亮度。

6. 实现细节

  • 数据格式和单位: 确保传感器数据的格式与单位一致,以便网络中的其他设备正确解析和使用数据。
  • 低功耗优化: 传感器通常在电池供电的环境中使用,优化数据采集和传输以延长设备的电池寿命。

7. 设备交互

  • 高精度数据 : Mesh Sensor Server 可以提供精确的传感器数据,支持实时和历史数据分析。
  • 状态同步: 通过与客户端的交互,确保传感器数据在网络中的同步更新,保持设备之间的一致性。

通过 Mesh Sensor Server 模型,开发者可以实现强大的传感器网络应用,包括实时环境监测、智能家居自动化和工业设备监控等,为用户提供全面的解决方案。

Sensor Client

Sensor Client 模型是 Bluetooth Mesh 网络中的一个模型,专门用于与 Sensor Server 模型进行通信。它能够从 Sensor Server 设备中获取传感器数据,配置传感器的操作参数,并接收传感器的状态更新。这在智能家居、工业自动化和环境监测等应用场景中非常重要。以下是 Sensor Client 模型的详细介绍:

1. 功能概述

Sensor Client 模型的主要功能是从 Sensor Server 获取传感器数据和状态,并可以配置传感器的工作方式。它通过发送不同的消息请求,接收传感器的数据和状态更新,并在需要时调整传感器的参数。这个模型通常用于集中式控制器或应用设备,如网关、智能手机、平板电脑等。

2. 支持的消息

Sensor Client 模型支持多种消息类型,用于与 Sensor Server 进行数据交互。这些消息包括获取传感器数据、查询传感器描述符、设置传感器操作参数等。

a. Sensor Descriptor Get
  • 描述: 请求一个或多个传感器的描述符信息。描述符包含传感器的类型、测量单位、容差等属性。
  • 参数 :
    • Property ID(可选): 要查询的特定传感器属性的标识符。如果未指定,服务器返回所有传感器的描述符信息。
b. Sensor Descriptor Status
  • 描述 : 服务器对 Sensor Descriptor Get 请求的响应,返回传感器的描述符信息。
  • 参数 :
    • Property ID: 传感器属性标识符。
    • Positive Tolerance: 测量的正容差。
    • Negative Tolerance: 测量的负容差。
    • Sampling Function: 数据采样功能(如平均值、最大值)。
    • Measurement Period: 测量时间间隔。
    • Update Interval: 数据更新的时间间隔。
c. Sensor Get
  • 描述: 请求传感器的当前数据。客户端发送此消息后,服务器返回最新的传感器数据。
  • 参数: 无。
d. Sensor Status
  • 描述 : 服务器对 Sensor Get 请求的响应,返回传感器的当前数据。
  • 参数 :
    • Property ID: 数据属性标识符。
    • Sensor Data: 传感器测量的实际数据值。
e. Sensor Column Get
  • 描述: 请求特定时间段内的传感器数据列。用于获取某个属性在特定时间内的变化情况。
  • 参数 :
    • Property ID: 请求的数据属性标识符。
    • Raw Value X: 时间段的起始值。
f. Sensor Column Status
  • 描述 : 服务器对 Sensor Column Get 请求的响应,返回传感器的时间序列数据。
  • 参数 :
    • Property ID: 数据属性标识符。
    • Raw Value X: 起始值。
    • Raw Value Width: 数据段宽度。
    • Sensor Data: 传感器数据列。
g. Sensor Series Get
  • 描述: 请求传感器的一系列数据点,用于分析一段时间内的传感器行为。
  • 参数 :
    • Property ID: 请求的数据属性标识符。
    • Raw Value X1: 时间段的起始点。
    • Raw Value X2: 时间段的结束点。
h. Sensor Series Status
  • 描述 : 服务器对 Sensor Series Get 请求的响应,返回传感器的一系列数据点。
  • 参数 :
    • Property ID: 数据属性标识符。
    • Sensor Data: 一系列的数据点。
i. Sensor Cadence Get
  • 描述: 请求传感器的当前工作节奏。工作节奏决定了传感器何时测量数据以及何时报告数据。
  • 参数: 无。
j. Sensor Cadence Set
  • 描述: 配置传感器的工作节奏,包括测量频率、触发条件等。
  • 参数 :
    • Property ID: 要配置的传感器属性标识符。
    • Fast Cadence Period Divisor: 设置快速采样频率。
    • Trigger Type: 触发器类型(基于变化值或时间)。
    • Trigger Delta Down/Up: 触发器的阈值。
    • Minimum Interval: 最小测量间隔。
    • Fast Cadence Low/High: 快速采样的上下限。
k. Sensor Cadence Status
  • 描述 : 服务器对 Sensor Cadence GetSensor Cadence Set 请求的响应,返回当前的工作节奏配置。
  • 参数 :
    • Property ID: 数据属性标识符。
    • Fast Cadence Period Divisor: 快速采样频率。
    • Trigger Type: 触发类型。
    • Trigger Delta Down/Up: 触发器的阈值。
    • Minimum Interval: 最小测量间隔。
    • Fast Cadence Low/High: 快速采样的上下限。
l. Sensor Settings Get
  • 描述: 请求传感器的当前设置。
  • 参数: 无。
m. Sensor Settings Status
  • 描述 : 服务器对 Sensor Settings Get 请求的响应,返回传感器的所有设置。
  • 参数 :
    • Property ID: 数据属性标识符。
    • Setting Property ID: 传感器设置的标识符。
    • Setting Value: 当前设置的值。

3. 应用场景

Sensor Client 模型广泛应用于各种需要监控环境或设备状态的场景:

  • 智能家居: 通过智能手机或平板电脑监控室内温度、湿度、空气质量等参数。
  • 工业自动化: 用于监控生产设备的运行状态,采集温度、压力、湿度等关键数据。
  • 环境监测: 用于收集和分析大气、水质、土壤等环境数据。

4. 操作逻辑

  • 数据请求 : Sensor Client 通过发送消息请求传感器数据或状态。常见的请求包括 Sensor Get 以获取当前数据,或 Sensor Series Get 以获取一段时间内的多个数据点。
  • 状态响应 : Sensor Client 接收到 Sensor Server 返回的 Sensor Status 消息后,可以实时更新显示或执行相应的操作。
  • 配置管理 : 通过 Sensor Cadence Set 等消息,Sensor Client 可以配置传感器的采样频率、触发条件等,以优化传感器的运行方式。

5. 实现细节

  • 低功耗优化 : 在电池供电的设备中,Sensor Client 可以通过合理配置传感器的工作节奏来延长电池寿命。
  • 数据处理 : Sensor Client 需要处理不同类型传感器的数据,并将其转换为用户可以理解的格式(如温度、湿度等),同时支持对历史数据的分析和展示。
  • 网络通信优化 : 通过合理选择 Sensor Series GetSensor Column Get 等请求,减少不必要的网络通信,提升系统的响应速度和可靠性。

6. 设备交互

Sensor Client 通常用于与以下设备或模型交互:

  • Sensor Server: 提供传感器数据和状态信息。
  • Generic OnOff Server: 根据传感器数据实现设备的开关控制,如根据环境亮度自动开关灯光。
  • Generic Level Server: 实现基于传感器数据的渐变控制,如根据温度变化调整空调温度。

7. 应用示例

  • 智能家居控制器 : 在智能家居系统中,Sensor Client 可以通过与多个 Sensor Server 交互,实时获取家中不同区域的温度、湿度、光照强度等信息,并通过APP向用户展示或自动调节空调、加湿器等设备。
  • 环境监测站 : 在环境监测应用中,Sensor Client 可能部署在一个监测站中,通过无线网络收集多个传感器的温度、湿度、空气质量数据,并将这些数据传送到云端或数据分析平台。

通过 Sensor Client 模型,开发者能够构建复杂的传感器网络,实现环境监控、智能控制和数据分析等功能,极大地提升应用的智能化和自动化水平。

Scene Server

Scene Server 模型是 Bluetooth Mesh 网络中用于管理和回放预定义场景的模型。场景通常包含了多个设备的状态信息,例如灯光的亮度、颜色,窗帘的位置,音响的音量等。通过使用场景,用户可以一键设置多个设备到预定义的状态,从而实现特定的效果或氛围。

1. 功能概述

Scene Server 模型的主要功能是存储、回放和删除场景。每个场景包含了一个或多个模型实例的状态,当用户选择某个场景时,Scene Server 会将所有关联设备设置为该场景所定义的状态。

2. 支持的消息

Scene Server 模型支持一系列消息,用于存储、调用和删除场景。以下是这些消息的详细介绍:

a. Scene Store
  • 描述: 将当前设备状态存储为一个场景。该消息用于创建新的场景或更新现有场景。
  • 参数 :
    • Scene Number: 场景的编号(0x0001 到 0xFFFF),用于唯一标识场景。
b. Scene Store Unacknowledged
  • 描述 : 与 Scene Store 类似,但服务器不会返回确认消息。这种消息用于减少网络通信的负载。
  • 参数 : 同 Scene Store
c. Scene Recall
  • 描述: 使设备回放指定编号的场景,将设备状态设置为存储的场景状态。
  • 参数 :
    • Scene Number: 要回放的场景编号。
    • Transition Time(可选): 从当前状态到目标场景状态的过渡时间。
    • Delay(可选): 执行场景回放前的延迟时间。
d. Scene Recall Unacknowledged
  • 描述 : 与 Scene Recall 类似,但服务器不会返回确认消息。
  • 参数 : 同 Scene Recall
e. Scene Delete
  • 描述: 删除指定编号的场景。
  • 参数 :
    • Scene Number: 要删除的场景编号。
f. Scene Delete Unacknowledged
  • 描述 : 与 Scene Delete 类似,但服务器不会返回确认消息。
  • 参数 : 同 Scene Delete
g. Scene Status
  • 描述 : 响应 Scene RecallScene Store 等消息,返回场景的当前状态。
  • 参数 :
    • Status Code: 操作的结果状态码(成功、失败等)。
    • Current Scene(可选): 当前激活的场景编号。
    • Target Scene(可选): 正在过渡到的目标场景编号。
    • Remaining Time(可选): 过渡操作的剩余时间。
h. Scene Register Get
  • 描述: 请求服务器返回所有已存储的场景列表。
  • 参数: 无。
i. Scene Register Status
  • 描述 : 响应 Scene Register Get 消息,返回已存储场景的列表。
  • 参数 :
    • Status Code: 操作的结果状态码。
    • Current Scene(可选): 当前激活的场景编号。
    • Scenes: 一个数组,包含所有已存储的场景编号。

3. 应用场景

Scene Server 模型常用于需要同时控制多个设备状态的应用场景,如智能家居的场景控制。例如:

  • 家庭娱乐模式: 用户按下按钮后,客厅的灯光调暗,音响音量调到适中,窗帘关闭。
  • 夜间模式: 在夜间模式下,卧室灯光自动调暗,窗帘关闭,门锁上锁。
  • 安全模式: 用户离开家时,所有灯光关闭,安防系统激活。

4. 操作逻辑

  • 场景存储 : 用户或控制系统可以通过 Scene Store 消息将当前设备状态存储为一个场景。这允许在以后通过回放该场景快速恢复这些状态。
  • 场景回放 : 当用户希望恢复某个预定义场景时,发送 Scene Recall 消息,设备将根据场景设置恢复各自的状态。
  • 场景删除 : 如果某个场景不再需要,可以通过 Scene Delete 消息将其删除。

5. 实现细节

  • 状态存储 : 每个场景可能包含多个模型实例的状态,因此Scene Server需要能够有效地存储和管理这些状态数据。
  • 过渡效果 : 通过设置 Transition TimeScene Server 可以实现平滑的状态过渡,而不是突然的状态切换,这对于提升用户体验非常重要。
  • 延迟执行 : 通过设置 Delay 参数,Scene Server 可以实现有时间差的场景切换,增强场景的灵活性。

6. 设备交互

Scene Server 模型通常与以下模型和设备交互:

  • Scene Client : 发送消息请求 Scene Server 存储、回放或删除场景。
  • Generic OnOff Server: 场景中通常包含灯光或其他设备的开关状态。
  • Generic Level Server: 场景可能涉及调节设备的亮度、音量或位置等级别值。
  • Light Lightness Server: 场景可能控制灯光的亮度或色温。
  • Other Server Models: 视具体应用而定,场景中可能包含其他服务器模型的状态,例如遮阳设备的开合、音响的音量等。

7. 应用示例

  • 家庭自动化: 用户通过智能家居控制面板或手机应用预定义多个场景,如"晚餐"、"电影"、"睡眠"等模式,并通过按键或语音命令触发这些场景。
  • 商业照明: 办公楼或商场可以通过场景控制系统在一天中不同时间自动调整灯光设置,例如早晨的明亮模式,晚间的柔和模式。
  • 工业自动化: 工厂中的设备可以通过场景来管理不同生产线或设备状态的预设,从而提高生产效率和设备管理的灵活性。

通过 Scene Server 模型,用户和控制系统可以实现复杂场景的灵活管理和控制,极大简化了多设备、多状态的操作流程,提高了用户体验和系统智能化水平。

Scene Setup Server

Scene Setup Server 是 Bluetooth Mesh 网络中的一个扩展模型,专门用于配置和管理 Scene Server 的功能。它允许配置设备存储新的场景、删除已有场景,或更新场景的内容。与 Scene Server 相比,Scene Setup Server 提供了更精细的控制和配置能力,适用于需要动态管理场景的应用场景。

1. 功能概述

Scene Setup Server 模型为 Scene Server 增加了场景的创建、更新和删除功能。它主要用于场景的初始配置和后续维护。通过这个模型,用户或系统可以动态调整设备的场景配置,而不必依赖固定的场景预设。

2. 支持的消息

Scene Setup Server 模型支持一系列消息,这些消息允许用户或其他设备配置 Scene Server 中的场景。

a. Scene Store
  • 描述: 将当前设备状态存储为一个场景。如果场景编号已存在,则更新该场景。
  • 参数 :
    • Scene Number: 要存储的场景编号。
b. Scene Store Unacknowledged
  • 描述 : 与 Scene Store 类似,但不要求服务器返回确认消息,减少通信开销。
  • 参数 : 同 Scene Store
c. Scene Delete
  • 描述: 删除指定编号的场景。
  • 参数 :
    • Scene Number: 要删除的场景编号。
d. Scene Delete Unacknowledged
  • 描述 : 与 Scene Delete 类似,但不要求服务器返回确认消息。
  • 参数 : 同 Scene Delete
e. Scene Recall
  • 描述 : 使设备回放指定编号的场景,将设备状态设置为存储的场景状态。该消息与 Scene Server 模型的 Scene Recall 消息相同。
  • 参数 :
    • Scene Number: 要回放的场景编号。
    • Transition Time(可选): 从当前状态到目标场景状态的过渡时间。
    • Delay(可选): 执行场景回放前的延迟时间。
f. Scene Recall Unacknowledged
  • 描述 : 与 Scene Recall 类似,但不要求服务器返回确认消息。
  • 参数 : 同 Scene Recall

3. 操作逻辑

  • 场景存储 : 用户或系统可以通过 Scene Store 消息将当前设备状态保存为一个场景。这适用于初始设置或后续更新场景。
  • 场景删除 : 使用 Scene Delete 消息可以删除不再需要的场景,从而释放存储空间。
  • 场景回放 : 虽然 Scene Recall 消息主要由 Scene Server 处理,但 Scene Setup Server 也提供了该功能,使得配置和操作更加一体化。

4. 应用场景

Scene Setup Server 适用于需要动态创建和管理场景的应用场景。例如:

  • 智能家居: 用户可以根据需要随时调整或更新家庭场景配置,例如增加一个新的"派对模式"或删除一个旧的"晚餐模式"。
  • 商业场所: 在零售店或办公室,管理者可以根据季节或活动需要,动态调整场景设置,提升场所的环境体验。
  • 工业应用 : 工厂或车间可以通过 Scene Setup Server 动态配置生产线或设备的工作场景,以适应不同的生产任务。

5. 设备交互

Scene Setup Server 模型通常与以下模型和设备交互:

  • Scene Server : Scene Setup Server 的配置操作直接作用于 Scene Server,用于存储、删除或回放场景。
  • Scene Client : 发送消息请求 Scene Setup ServerScene Server 执行相应的操作。
  • 其他相关模型 : 在场景配置中,可能涉及到与其他模型(如 Generic OnOff ServerGeneric Level Server)的交互,以保存或恢复它们的状态。

6. 实现细节

  • 状态存储与管理 : Scene Setup Server 必须具备足够的存储能力来保存多个场景,并提供更新和删除操作的接口。
  • 动态配置: 该模型允许用户随时调整场景配置,这在需要频繁更新或调整场景的环境中尤为重要。
  • 一体化控制 : Scene Setup ServerScene Server 的结合,提供了从配置到操作的一体化解决方案。

7. 应用示例

  • 住宅自动化 : 用户可以使用智能设备管理系统,通过 Scene Setup Server 创建新的场景或更新现有场景,定制家庭的每一个细节。
  • 智能办公: 办公楼中的场景设置可以通过管理系统随时调整,例如会议模式、工作模式、节能模式等。
  • 灵活制造 : 工厂中的生产线场景可以通过 Scene Setup Server 动态调整,以适应不同的生产计划或工艺需求。

通过 Scene Setup Server 模型,Bluetooth Mesh 网络能够实现更灵活、更精细的场景管理,提升了智能设备的配置能力和用户体验。

Scene Client

Scene Client 是 Bluetooth Mesh 网络中的一个模型,专门用于与 Scene ServerScene Setup Server 交互。它主要负责发送控制指令,以便存储、调用或删除场景,并接收状态信息反馈。Scene Client 是用户或系统用来管理和使用场景的关键模型。

1. 功能概述

Scene Client 模型允许客户端设备向 Scene ServerScene Setup Server 发送消息,用于:

  • 存储当前设备状态为场景。
  • 调用(回放)预定义的场景。
  • 删除已有的场景。
  • 获取已存储的场景列表和状态。

通过 Scene Client,用户可以远程控制网络中的设备,以实现特定的环境设置或自动化控制。

2. 支持的消息

Scene Client 支持一系列消息,这些消息用于控制 Scene ServerScene Setup Server 中的场景。

a. Scene Get
  • 描述: 请求当前激活的场景状态。
  • 参数: 无。
b. Scene Status
  • 描述 : 服务器对 Scene Get 或其他操作的响应,返回当前的场景状态。
  • 参数 :
    • Status Code: 操作的结果状态码(如成功、失败等)。
    • Current Scene: 当前激活的场景编号。
    • Target Scene(可选): 如果正在进行状态过渡,则此字段表示目标场景编号。
    • Remaining Time(可选): 当前过渡操作的剩余时间。
c. Scene Register Get
  • 描述: 请求服务器返回已存储的场景列表。
  • 参数: 无。
d. Scene Register Status
  • 描述 : 响应 Scene Register Get 消息,返回已存储的场景编号列表。
  • 参数 :
    • Status Code: 操作的结果状态码。
    • Current Scene(可选): 当前激活的场景编号。
    • Scenes: 一个数组,包含所有已存储的场景编号。
e. Scene Store
  • 描述: 请求服务器将当前设备状态存储为指定场景编号的场景。如果场景编号已存在,则更新该场景。
  • 参数 :
    • Scene Number: 要存储的场景编号。
f. Scene Store Unacknowledged
  • 描述 : 与 Scene Store 类似,但服务器不会返回确认消息,减少通信负载。
  • 参数 : 同 Scene Store
g. Scene Recall
  • 描述: 请求服务器回放指定编号的场景,将设备状态设置为存储的场景状态。
  • 参数 :
    • Scene Number: 要回放的场景编号。
    • Transition Time(可选): 从当前状态到目标场景状态的过渡时间。
    • Delay(可选): 执行场景回放前的延迟时间。
h. Scene Recall Unacknowledged
  • 描述 : 与 Scene Recall 类似,但服务器不会返回确认消息。
  • 参数 : 同 Scene Recall
i. Scene Delete
  • 描述: 请求服务器删除指定编号的场景。
  • 参数 :
    • Scene Number: 要删除的场景编号。
j. Scene Delete Unacknowledged
  • 描述 : 与 Scene Delete 类似,但服务器不会返回确认消息。
  • 参数 : 同 Scene Delete

3. 操作逻辑

  • 场景存储 : 用户可以通过 Scene Store 消息将当前设备状态保存为一个场景。这允许在以后通过回放该场景快速恢复这些状态。
  • 场景回放 : Scene Recall 消息让 Scene Server 根据预设场景调整设备状态,例如改变灯光、音量、窗帘位置等。
  • 场景删除 : Scene Delete 消息允许用户或系统删除不再需要的场景。
  • 状态查询 : 通过 Scene GetScene Register Get 消息,Scene Client 可以获取当前激活的场景状态以及所有已存储的场景列表。

4. 应用场景

Scene Client 常用于需要场景管理的应用场景,如智能家居和建筑物自动化。具体场景包括:

  • 家庭自动化 : 用户通过 Scene Client 控制面板或移动应用程序,在不同的时间或场景(如晚餐、电影、睡觉)激活不同的场景。
  • 办公环境 : 办公楼的控制系统可以使用 Scene Client 在一天中的不同时间设置不同的照明和空调状态,以节能和提升舒适度。
  • 零售展示 : 商店可以通过 Scene Client 在一天中的不同时间或活动期间设置不同的灯光和音乐场景。

5. 设备交互

Scene Client 与以下模型和设备交互:

  • Scene Server : 接收并执行来自 Scene Client 的场景存储、回放和删除命令。
  • Scene Setup Server : 通过 Scene Client 消息对 Scene Setup Server 进行配置,调整场景设置。
  • Generic OnOff ServerGeneric Level Server 等: 这些模型的状态通常包含在场景中,通过 Scene Client 可以控制这些状态。

6. 实现细节

  • 消息可靠性 : 使用 Unacknowledged 消息可以减少网络通信开销,但可能会在大规模网络中导致控制失败。使用 Scene Client 时,需要权衡消息的可靠性和通信效率。
  • 场景管理 : 通过 Scene Client 可以动态管理场景配置,这在需要频繁更改设备状态的环境中非常有用。
  • 灵活性 : Scene Client 可以在不同的应用中实现灵活的场景控制,从而适应各种不同的用户需求和环境。

7. 应用示例

  • 智能家居系统 : 用户通过手机应用或智能音箱,通过 Scene Client 模型创建和激活不同的场景,例如"早晨模式"、"晚间模式"和"派对模式",实现灯光、音乐和窗帘的联动控制。
  • 商业环境 : 商场或展览馆使用 Scene Client 来设置和调用不同的展示场景,增强顾客体验。
  • 工业自动化 : 在制造环境中,通过 Scene Client 模型管理和切换生产线的不同工作场景,提高生产效率。

通过 Scene Client 模型,用户和控制系统能够在 Bluetooth Mesh 网络中实现灵活、精确的场景管理,从而大大提升设备的使用效率和用户体验。

Light Lightness Server

Light Lightness Server 是 Bluetooth Mesh 网络中的一个模型,专门用于控制和管理灯具的亮度。它提供了一套消息接口,使得其他设备可以设置和获取灯光的亮度值。该模型可以与其他模型(如 Generic OnOff ServerLight CTL Server 等)协同工作,以实现复杂的照明控制。

1. 功能概述

Light Lightness Server 模型主要用于管理灯具的亮度级别。它支持绝对亮度值的设置、获取,以及与亮度相关的状态反馈。通过这个模型,设备可以实现从关闭到最大亮度的平滑过渡,并且可以控制亮度的线性变化。

2. 支持的消息

Light Lightness Server 模型支持一系列用于控制和反馈亮度的消息,这些消息定义了设备如何接收控制命令以及如何报告当前状态。

a. Light Lightness Get
  • 描述: 请求当前的亮度级别。
  • 参数: 无。
b. Light Lightness Set
  • 描述: 设置灯具的亮度级别。可以指定过渡时间,设备将根据请求调整亮度。
  • 参数 :
    • Lightness: 目标亮度级别(范围为 0 至 65535)。
    • Transition Time(可选): 亮度调整的过渡时间。
    • Delay(可选): 消息执行的延迟时间。
c. Light Lightness Set Unacknowledged
  • 描述 : 与 Light Lightness Set 类似,但不要求设备返回确认消息。
  • 参数 : 同 Light Lightness Set
d. Light Lightness Status
  • 描述 : 设备对 Light Lightness GetLight Lightness Set 消息的响应,报告当前的亮度级别。
  • 参数 :
    • Present Lightness: 当前亮度级别。
    • Target Lightness(可选): 如果正在进行亮度过渡,此字段表示目标亮度级别。
    • Remaining Time(可选): 当前亮度过渡操作的剩余时间。
e. Light Lightness Linear Get
  • 描述: 请求当前亮度的线性表示值。
  • 参数: 无。
f. Light Lightness Linear Set
  • 描述 : 以线性方式设置亮度级别。与 Light Lightness Set 类似,但使用线性亮度值。
  • 参数 :
    • Linear Lightness: 目标线性亮度级别(范围为 0 至 65535)。
    • Transition Time(可选): 过渡时间。
    • Delay(可选): 消息执行的延迟时间。
g. Light Lightness Linear Set Unacknowledged
  • 描述 : 与 Light Lightness Linear Set 类似,但不要求设备返回确认消息。
  • 参数 : 同 Light Lightness Linear Set
h. Light Lightness Linear Status
  • 描述 : 设备对 Light Lightness Linear GetLight Lightness Linear Set 消息的响应,报告当前的线性亮度级别。
  • 参数 :
    • Present Linear Lightness: 当前的线性亮度级别。
    • Target Linear Lightness(可选): 如果正在进行亮度过渡,此字段表示目标线性亮度级别。
    • Remaining Time(可选): 当前亮度过渡操作的剩余时间。
i. Light Lightness Last Get
  • 描述: 请求设备上次使用的亮度级别。
  • 参数: 无。
j. Light Lightness Last Status
  • 描述 : 设备对 Light Lightness Last Get 消息的响应,报告上次使用的亮度级别。
  • 参数 :
    • Lightness Last: 上次使用的亮度级别。
k. Light Lightness Default Get
  • 描述: 请求设备的默认亮度级别。
  • 参数: 无。
l. Light Lightness Default Status
  • 描述 : 设备对 Light Lightness Default Get 消息的响应,报告默认的亮度级别。
  • 参数 :
    • Lightness Default: 默认亮度级别。
m. Light Lightness Range Get
  • 描述: 请求设备的亮度级别范围。
  • 参数: 无。
n. Light Lightness Range Status
  • 描述 : 设备对 Light Lightness Range Get 消息的响应,报告亮度级别的最小值和最大值。
  • 参数 :
    • Status Code: 操作结果状态码(如成功、失败等)。
    • Range Min: 亮度级别的最小值。
    • Range Max: 亮度级别的最大值。

3. 操作逻辑

  • 亮度设置 : 通过 Light Lightness SetLight Lightness Linear Set 消息,设备可以接收并执行亮度调整命令。可选的过渡时间和延迟时间使得亮度变化更加平滑和灵活。
  • 状态反馈 : 设备通过 Light Lightness StatusLight Lightness Linear Status 等消息,向控制设备报告当前的亮度级别和状态。这有助于实时监控和调整灯光设置。
  • 亮度管理 : Light Lightness LastLight Lightness Default 提供了对设备亮度配置的管理功能。用户可以方便地恢复到上次使用的亮度级别,或设置默认亮度。

4. 应用场景

Light Lightness Server 主要应用于需要精确控制亮度的场景,包括但不限于:

  • 智能家居照明: 用户可以通过智能手机应用或语音助手控制家中的灯光亮度,实现不同的照明效果,如阅读、娱乐、休息等场景。
  • 商业照明 : 办公楼、商场等场所可以使用 Light Lightness Server 模型来控制照明亮度,从而优化环境光线,提高能效。
  • 公共场所照明: 通过对亮度的精确控制,机场、车站等公共场所可以根据时间和环境变化调整照明,提升用户体验。

5. 设备交互

Light Lightness Server 通常与以下模型和设备交互:

  • Light Lightness Client: 发送控制消息,调整亮度级别并获取状态反馈。
  • Generic OnOff Server: 配合使用,实现灯具的开关控制。
  • Light CTL Server : 在色温和亮度联合控制的应用中,与 Light Lightness Server 一起工作,提供更加复杂的照明控制功能。

6. 实现细节

  • 平滑过渡 : 通过支持过渡时间,Light Lightness Server 可以实现亮度的平滑变化,这在避免用户不适和增强体验方面非常重要。
  • 亮度范围管理: 支持亮度范围设置,可以防止亮度被设置得过高或过低,从而延长灯具的寿命并节约能源。
  • 消息可靠性 : 使用 Unacknowledged 消息可以减少网络负载,但在需要可靠控制的情况下,推荐使用需要确认的消息类型。

7. 应用示例

  • 住宅照明控制 : 智能家居系统通过 Light Lightness Server 控制室内灯具的亮度,支持自动调节亮度以适应不同的活动和时间段。
  • 商店照明 : 零售店可以使用 Light Lightness Server 调整灯光亮度,以突出展示的商品或营造特定的氛围。
  • 城市照明: 智能城市解决方案中,街道灯光的亮度可以根据时间、交通状况和天气变化进行动态调整。

通过 Light Lightness Server 模型,Bluetooth Mesh 网络能够提供灵活、高效的照明控制解决方案,提升用户体验并节能

8.模型绑定

这张图表展示了 Light Lightness Server 模型状态与其扩展模型状态之间的绑定关系。它列出了 Light Lightness Server 模型中的不同状态,以及与之绑定的模型和它们各自的状态。

State(状态)
  • 表格左侧列出的是 Light Lightness Server 模型中的状态:
    • Light Lightness Linear: 代表亮度的线性值。
    • Light Lightness Actual: 代表实际亮度值。
    • Light Lightness Last: 上一次使用的亮度值。
    • Light Lightness Default: 默认亮度值。
    • Light Lightness Range: 亮度的有效范围(最小值到最大值)。
Bound State(绑定状态)
  • 表格右侧列出的是与这些状态绑定的模型和它们的状态:
    • Light Lightness Linear 绑定到 Light Lightness Server 模型中的 Light Lightness Actual 状态。
    • Light Lightness Actual 绑定到多个模型和状态:
      • Generic OnOff ServerGeneric OnOff 状态。
      • Generic Level ServerGeneric Level 状态。
      • Generic Power OnOff ServerGeneric OnPowerUp 状态。
      • Light Lightness ServerLight Lightness LinearLight Lightness Range 状态。
含义
  • 状态绑定 :状态绑定是指一个模型的状态变化会触发或影响另一个模型的状态变化。例如,当 Light Lightness Actual 状态发生变化时,Generic OnOff Server 中的 Generic OnOff 状态也会相应变化。这种绑定使得不同模型之间能够协调工作,实现更复杂的控制逻辑。
  • 扩展模型Light Lightness Server 模型扩展了其他几个模型,如 Generic OnOff ServerGeneric Level Server,通过这些扩展,它能够更广泛地控制灯光设备的不同功能。
表格解释
  • Light Lightness Linear 状态通过 Light Lightness Server 模型中的 Light Lightness Actual 状态与实际亮度绑定。
  • Light Lightness Actual 状态与多个模型的状态绑定,使得它能够影响 Generic OnOff ServerGeneric Level ServerGeneric Power OnOff Server 的行为,同时它还与 Light Lightness LinearLight Lightness Range 状态相互影响。

这个表格通过列出这些状态和模型的绑定关系,帮助理解 Light Lightness Server 如何与其他模型协同工作,实现更复杂的照明控制功能

相关推荐
charlie1145141917 分钟前
C++ STL CookBook
开发语言·c++·stl·c++20
袁袁袁袁满7 分钟前
100天精通Python(爬虫篇)——第113天:‌爬虫基础模块之urllib详细教程大全
开发语言·爬虫·python·网络爬虫·爬虫实战·urllib·urllib模块教程
ELI_He99914 分钟前
PHP中替换某个包或某个类
开发语言·php
小林熬夜学编程18 分钟前
【Linux网络编程】第十四弹---构建功能丰富的HTTP服务器:从状态码处理到服务函数扩展
linux·运维·服务器·c语言·网络·c++·http
Hacker_Fuchen20 分钟前
天融信网络架构安全实践
网络·安全·架构
m0_7482361121 分钟前
Calcite Web 项目常见问题解决方案
开发语言·前端·rust
上海运维Q先生23 分钟前
面试题整理15----K8s常见的网络插件有哪些
运维·网络·kubernetes
倔强的石头10629 分钟前
【C++指南】类和对象(九):内部类
开发语言·c++
ProtonBase33 分钟前
如何从 0 到 1 ,打造全新一代分布式数据架构
java·网络·数据库·数据仓库·分布式·云原生·架构
Watermelo61734 分钟前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript