| 3.2及以上版本 |
ThingsBoard中的设备Profile允许管理员一次为多台设备定义并集中管理通用设置。 可大幅简化大量相似设备的管理,在众多设备共享相同配置和行为的IoT方案中尤为有用。
典型设备Profile设置包括:
- 设置默认rulechain。
- 配置消息queue以高效处理消息。
- 定义向设备自动分发的firmware和software版本。
- 配置设备通信的transportprotocols。
- 定义和管理alarmrules。
- 设置provisionstrategy。
创建设备配置
创建新设备Profile:
- 进入”Profiles”部分的”Device Profiles“页面。
- 点击右上角”+“图标,从下拉菜单选择”Create new device profile“。
- 仅Name字段必填,其它设置均为可选。
- 点击”Add“创建设备Profile。
设备配置主设置
默认规则链
默认RuleChain处理来自任意设备的所有消息和事件。设备类型增多后,默认rulechain会变得复杂难管。 用户常创建自有根rulechain,将消息按设备类型路由到专用rulechain。
可为各设备Profile分配独立rulechain以简化此流程。 便于集中、灵活地管理telemetry处理、设备状态(在线/离线)及设备生命周期事件(创建、更新、删除)。
队列
默认情况下,mainqueue用于存储来自任意设备的所有消息和事件。 传输层将消息提交到该queue,RuleEngine轮询queue获取新消息。 但在多种使用场景下,可能需要为不同设备使用不同queue。 例如,将火灾告警/烟雾探测器传感器与其它设备的数据处理隔离。 这样,即使系统因数百万水表产生峰值负载,火灾告警上报时也能即时处理。 queue分离还可定制不同submit和processing策略。
请注意: 若使用自定义queue,需先由系统管理员配置。
传输配置
ThingsBoard平台当前版本支持以下传输类型:
- Default - 适用于与ThingsBoard基础设备交互的标准HTTP传输。配置简单,但对大量设备或频繁更新效率较低。
- MQTT - 专为IoT设备优化的轻量、双向协议,telemetry传输高效,高吞吐、省资源。
- CoAP - 适用于低带宽网络中资源受限设备的轻量IoT协议。
- LWM2M - 面向资源受限设备高效管理的标准IoT协议,支持集中配置管理、固件更新和设备监控。
- SNMP - 广泛用于管理路由器、交换机、服务器等网络设备的协议,支持采集和分析设备状态信息。
默认传输类型
Default传输类型用于保证与平台早期版本的兼容性。 使用该类型的设备可通过ThingsBoard标准API连接:MQTT、HTTP和CoAP。 无需特殊配置。
MQTT传输类型
MQTT传输类型支持使用MQTT协议与设备建立灵活通信。 可通过ThingsBoard的telemetryuploadAPI和attributeupdateAPI定义自定义MQTTtopicfilters发送telemetry和更新属性。
MQTT传输类型包含以下设置:
MQTT设备topic过滤器
自定义MQTTtopic过滤器支持单层(+)和多层(#)通配符,可连接几乎任意以JSON或Protobuf格式发送payload的MQTT设备。
下面示例使用自定义MQTTtopic过滤器,通过”MQTTBasic”设备凭证发布时序数据:
- 在设备profile中指定自定义MQTTtopic过滤器。例如:
- Telemetrytopic过滤器:
/telemetry - Attributestopic过滤器:
/attributes
- Telemetrytopic过滤器:
- 为设备配置MQTTbasic凭证:
- Client ID:
c1 - Username:
t1 - Password:
secret
- Client ID:
使用以下命令发布时序数据:
1
mosquitto_pub -h mqtt.eu.thingsboard.cloud -t /telemetry -i "c1" -u "t1" -P "secret" -m "{humidity:10.3}"
传输数据将显示在设备的”Latest Telemetry“选项卡中。
若使用标准MQTT设备topic过滤器配置,可使用以下命令发布时序数据和属性。
发布timeseries data的命令:
1
mosquitto_pub -h mqtt.eu.thingsboard.cloud -t v1/devices/me/telemetry -i "c1" -u "t1" -P "secret" -m "{humidity:10.3}"
更新attributes的命令:
1
mosquitto_pub -h mqtt.eu.thingsboard.cloud -t v1/devices/me/attributes -i "c1" -u "t1" -P "secret" -m "{"firmwareVersion": "1.3"}"
MQTT设备payload
- JSON。默认ThingsBoard期望设备以JSON格式发送数据。也可使用ProtocolBuffers(Protobuf)传输。
- ProtocolBuffers(Protobuf)是一种语言和平台无关的结构化数据序列化方式,便于最小化传输数据大小。
ThingsBoard平台当前版本支持为telemetry upload和attribute upload自定义protoschema,并可定义下行消息(RPC调用)的schema。
ThingsBoard动态解析protobuf结构,因此尚不支持OneOf、extensions和maps等部分protobuf特性。
- Compatibility with other payload formats 选项。
启用兼容模式后,ThingsBoard默认使用Protobuf payload格式。若Protobuf payload解析失败,将自动尝试使用JSON payload格式。该功能在固件更新期间保证向后兼容很有用。例如,首版固件可能使用JSON,新版本改用Protobuf。在多设备固件更新期间,需同时支持两种格式。
启用兼容模式可能带来轻微性能下降。建议所有设备成功更新后关闭兼容模式。
CoAP传输类型
CoAP (Constrained Application Protocol) 是专为低带宽网络中资源受限设备设计的轻量IoT协议。
CoAP设备类型:
-
Default。默认CoAP设备类型使用JSON payload,支持与default transport type类似的基础CoAP APIs。 也可将 CoAP device payload 设置为 Protobuf,使设备使用Protocol Buffers (Protobuf)传输数据。
- Protocol Buffers (Protobuf) 是语言和平台无关的结构化数据序列化方法,主要用于减少传输数据大小。 ThingsBoard平台当前版本支持为telemetry upload 和attribute upload 自定义proto schema,并可定义下行消息(RPC调用)的schema。 ThingsBoard动态解析protobuf结构,因此尚不支持OneOf、extensions和maps等部分protobuf特性。
- Efento NB-IoT 设备为采用NB-IoT技术高效传输telemetry数据(如温度、湿度、压力、开关、泄漏等)的无线传感器。
可使用内置CoAP传输将其接入ThingsBoard,接收设备消息、以Protobuf解码并存储telemetry到平台。
数据可立即用于查看、图表、dashboard、告警设置和自动化。
需Efento设备固件版本06.02及以上。
Power Saving Mode
平台支持以下节能机制以优化设备运行:
- Power Saving Mode (PSM)
- Discontinuous Reception (DRX)
- Extended Discontinuous Reception (eDRX)
LWM2M传输类型
LwM2M 是面向资源受限设备高效管理的标准IoT协议,支持集中配置、远程固件更新和实时设备监控。
配置 LwM2M设备profile 时,需指定以下参数:
- Define the objects 要观测或交互的对象
- Set the observe strategy 确定平台如何监控对象变化
- Configure how ThingsBoard processes LwM2M object data,包括telemetry、属性和关键参数
LwM2M传输配置详见此链接。
SNMP传输类型
SNMP 是广泛用于管理路由器、交换机、服务器等网络设备的协议,支持采集和分析设备状态与性能数据。
配置 SNMP设备profile 时,需指定以下参数:
- Request timeout — 系统在重试或标记请求失败前等待的时长(毫秒)
- Retry count — 系统放弃前重试请求的次数
- Communication configuration — 定义设备如何通过SNMP与ThingsBoard通信
SNMP传输配置详见此链接。
设备配置详情
点击设备profile可打开详情窗口,访问和管理该profile的各方面配置。
Details
该选项卡包含设备profile的核心配置 — 定义此类设备行为的通用设置。可配置profile名称、默认dashboard、默认rule chain、firmware/OS信息及其它高级参数。这些设置应用于分配到此profile的所有设备。
Transport Configuration
定义设备如何与平台通信。该选项卡包含依据所选传输类型的MQTT、HTTP、CoAP、LwM2M或SNMP专用设置。
可配置:
- 认证策略
- payload格式(JSON、Protobuf、自定义)
- topic/endpoint设置
- 请求/响应参数
- 设备端与服务器端传输行为
传输配置确保该profile下所有设备的连接规则一致。
Calculated fields
显示基于设备属性或telemetry的公式自动计算值的字段。这些字段可在不修改设备固件的情况下生成衍生指标。profile级别定义的calculated fields应用于使用该profile的所有设备。详见此处。
Alarm rules
包含与设备profile关联的告警规则。这些规则定义该profile下所有设备何时以及如何生成告警,包括:
- 触发条件
- 严重级别
- 告警传播和清除逻辑
- 可选动作(通知、集成、workflow)
集中告警规则便于管理并确保设备组间监控一致。
告警规则配置详见此处。
Device provisioning
定义分配到此profile的设备如何创建和认证。该部分可包括:
- provisioning策略(HTTP、MQTT、CoAP)
- 密钥和token生成规则
- provisioning模板
- 自动注册行为
这些设置简化新设备的自动接入流程。
详见文档页。
Audit Log
显示对此设备profile执行的所有用户操作记录 — 配置变更、规则、provisioning设置等。用于故障排查、合规和长期变更追踪。
Version control
支持通过基于Git的version control 服务导出、提交和恢复设备profile配置。支持备份、协作和回滚到先前profile版本。
后续步骤
-
连接设备 - 根据连接技术或方案学习如何连接设备。
-
数据可视化 - 配置ThingsBoard复杂仪表盘的说明。
-
数据处理与操作 - 学习使用ThingsBoard规则引擎。
-
IoT数据分析 - 学习使用规则引擎执行基本分析任务。
-
高级功能 - 了解ThingsBoard高级功能。