传感器定制与开发
更新时间:2025/3/15
在Gitcode上查看源码

本文主要从新手的角度出发,描述如何基于 openUBMC 配置一个传感器。传感器作为一种硬件,归属于南向管理模块,配置内容均遵循 CSR 框架和语法规则。

传感器定制流程包括传感器Entity配置、对象配置(门限传感器配置、离散传感器配置)、传感器事件配置、事件过滤配置和事件描述配置,它们的作用和配置要求如下表。下面将对这些配置项进行详细介绍。

配置项是否必须配置配置说明
Entity传感器对应的硬件实体
传感器对象:门限 or 离散资源协作接口的传感器对象
传感器事件仅离散事件需配置该项
事件过滤事件过滤方法
事件描述传感器上报事件的等级及描述

Entity 传感器实体配置

传感器实体是后续配置的基础,配置传感器时应当优先定义实体对象。

配置属性

属性名称属性类型属性说明
Iduint8传感器对应的实体标识
具体参照 Table 43-, Entity ID Codes(P550)
Instanceuint8传感器对应的实体实例标识,通常以 0x60开始配置
具体参照 Section 39.1 System- and Device-relatice Entity Instance Values(P492)
Slotuint8实体所在的槽位,默认 0xFF。如果槽位不是默认,则会根据槽位生成唯一的Instance
Namestring实体的名称
Presenceuint8实体的在位状态,需要关联对应的在位信号来源
若不存在部件动态拔插,则配置为 1
PowerStateuint8实体的上下电状态,需要关联对应的上下电信号来源
若与上下电状态无关,则配置为 1

配置关键点

  1. Entity Id建议按照IPMI规范中的表格进行配置。
  2. Entity Instance 保证同一 Entity Id 下唯一,即确保 id+instance 能够唯一确定一个实例。

配置示例

下面以风扇为例,展示如何新增一个传感器实体。在南向管理框架中,实体对象是通过Accessor/Scanner对象与硬件交互的,如下所示, Entity_Fan1 是通过同步 Scanner_Fan1_PresenceScanner_PowerGood 的Value值来获得风扇的在位状态和上下电状态的。下列传感器配置在风扇板的CSR文件中,以TaiShan2280为例,风扇板对应的CSR文件为 manifest/temp/build_openUBMC_debug_dev/conan_install/vpd/opt/bmc/sr/14100363_00000001050302035475.sr。

json
"Entity_FanBoard": {
    "Id": 11,
    "Instance": 117,    // id + instance全局唯一
    "Name": "FanBoard${Slot}",
    "PowerState": 1,    // 上下电状态
    "Presence": 1       // 在位状态
},
"Entity_Fan1": {
    "Id": 30,
    "Instance": 96,
    "Name": "Fan1",
    "Presence": "<=/Scanner_Fan1_Presence.Value",
    "PowerState": "<=/Scanner_PowerGood.Value"
},
"Scanner_Fan1_Presence": {  // Scanner配置参考《板卡适配》
    "Chip": "#/Smc_FanBoardSMC",
    "Offset": 402656001,
    "Size": 1,
    "Mask": 1,
    "Type": 0,
    "Period": 2000,     // scanner扫描周期
    "Debounce": "None", // 防抖配置
    "ScanEnabled": "<=/Scanner_PowerGood.Value",
    "NominalValue": 1,
    "@Default": {
        "ScanEnabled": 0
    },
    "Value": 0
},
"Scanner_PowerGood": {
    "Chip": "#/Smc_ExpBoardSMC",
    "Offset": 469765888,
    "Size": 1,
    "Mask": 255,
    "Type": 0,
    "Period": 100,
    "Debounce": "None",
    "Value": 0
},
"Smc_FanBoardSMC": {    // 根据SMC规范定义
    "Address": 96,
    "AddrWidth": 1,
    "OffsetWidth": 1,
    "WriteTmout": 0,
    "ReadTmout": 0
},

配置完成后,出包验证资源协作接口上是否成功挂载了Entity_FanBoardEntity_Fan1

bash
> busctl --user tree bmc.kepler.sensor
...
├─/bmc/kepler/Systems
 └─/bmc/kepler/Systems/1
    ...
    ├─/bmc/kepler/Systems/1/Entities
 └─/bmc/kepler/Systems/1/Entities/Entity_FanBoard_0101
 └─/bmc/kepler/Systems/1/Entities/Entity_Fan1_0101
    ...

ThresholdSensor 门限传感器配置

配置属性

属性名称属性类型属性说明
OwnerIduint8传感器的归属Id
BMC - 0x20
OwnerLunuint8传感器的归属Lun
owner为系统软件 - 0x00
EntityIduint8传感器对应实体标识,关联传感器对应的 Entity.Id
EntityInstanceuint8传感器对应实体实例,关联传感器对应的 Entity.Instance
Initializationuint8传感器初始化选项,门限传感器 -0x7F
Capabilitiesuint8传感器能力,用于配置包括自动调整模式、迟滞量、阈值访问、事件控制等特性
具体参照 Table 43-,Full Sensor Record -SDR Type 01h(P521)
SensorTypeuint8传感器类型
具体参照 Table 42-, Sensor Type Codes(P505)
ReadingTypeuint8传感器读值类型,门限传感器 -0x01
具体参照 Table 42-, Event/Reading Type Code Ranges(P503)
SensorNamestring传感器名称,该字段超过16字符时会截断
AssertMaskuint16传感器事件产生掩码,决定是否能产生事件,需要与传感器配置的Threshold保持匹配
DeassertMaskuint16传感器事件恢复掩码,决定是否能恢复事件,需要与传感器配置的Threshold保持匹配
ReadingMaskuint16传感器读值掩码,决定是否能对外显示门限,需要与传感器配置的Threshold保持匹配
Unituint8传感器单位
具体参照Table 43-, Sensor Unit Type Codes(P554)
BaseUnituint8传感器基准单位
具体参照Table 43-, Sensor Unit Type Codes(P554)
ModifierUnituint8传感器单位描述符
具体参照Table 43-, Sensor Unit Type Codes(P554)
Linearizationuint8传感器线性计算方程,计算方式参考门限传感器原始值到读值的转换
Analoguint8传感器模拟特性标志,通常配置为 1
NominalReadinguint8传感器名义读值,来源于IPMI规范,在数据格式范围内即可
MaximumReadinguint8传感器实际最大读值,与数据格式有关
若为无符号数,配置为 255;若为有符号数,配置为 127
MinimumReadinguint8传感器实际最小读值,与数据格式有关
若为无符号数,配置为 0;若为有符号数,配置为 128
Readinguint8传感器原始读值,引用传感器的数据源(如Scanner)读值同步
当数据源过长时,该属性会选择低八位读取,导致读值错误,解决方法参见配置关键点3
ReadingStatusuint8传感器读值状态,引用传感器的数据源(如Scanner)读值状态同步
若通过表达式自行配置,则严格参照门限传感器读值状态定义及转换进行配置

若有特殊需要,可以选配下列字段。

属性名称属性类型属性说明
Linearizationuint8传感器线性计算方程,计算方式参考门限传感器原始值到读值的转换
Muint8Linearization参数之一,默认配置为 1,传感器M计算表达式低8bit
MTuint8Linearization参数之一,传感器M计算表达式高2bit和容差
Buint8Linearization参数之一,传感器B计算表达式低8bit
BAuint8Linearization参数之一,传感器B计算表达式高2bit和准确率低6bit
Accuracyuint8Linearization参数之一,传感器准确率高6bit和传感器方向
RBExpuint8Linearization参数之一,传感器R/B计算表达式,各4bit
NormalMaximumuint8传感器正常最大读值,默认值为零
NormalMinimumuint8传感器正常最小读值,默认值为零
UpperNonrecoverableuint8按需配置,传感器紧急事件上限
UpperCriticaluint8按需配置,传感器严重事件上限
UpperNoncriticaluint8按需配置,传感器一般事件上限
LowerNonrecoverableuint8按需配置,传感器紧急事件下限
LowerCriticaluint8按需配置,传感器严重事件下限
LowerNonCriticaluint8按需配置,传感器一般事件下限
PositiveHysteresisuint8按需配置,传感器上升事件恢复迟滞量
NegativeHysteresisuint8按需配置,传感器下降事件恢复迟滞量
SensorNumberuint16(选填)传感器编号,默认255,来自于IPMI规范,由BMC自行生成;如果需要特殊的编号,则需要单独在传感器定制化进行定制(BMC正常运行时插入的部件的传感器不支持定制)

配置关键点

  1. 传感器类型 SensorType 建议按照IPMI规范中的 Table 42-, Sensor Type Codes(P505) 配置。
  2. 三个 Mask属性要与配置的门限匹配,若配置了某个门限,Mask相应bit需要置位
  3. 注意当前 Reading(也即原始值),数据源的范围不可超过 255,若不满足则需要通过表达式进行一定程度的缩放,并通过传感器的表达公式进行还原。一般情况下,功率、电压等传感器的数据源实际值容易出现数值越界的情况,需要转换到int8范围内。若不进行数据范围限制和转换,Reading可能不符合预期。

配置示例

下面以温度传感器为例展示普通门限传感器配置方法,以风扇功率为例展示需要缩放的门限传感器配置方法。其中 Reading 缩放一般采用管道语法实现,可参考表达式语法

  1. 非缩放传感器

    json
    // 风扇温度传感器
    "ThresholdSensor_FanBoardTemp": {
        "OwnerId": 32,
        "OwnerLun": 0,
        "EntityId": "<=/Entity_FanBoard.Id",
        "EntityInstance": "<=/Entity_FanBoard.Instance",
        "Initialization": 127,      // 门限传感器固定取值
        "Capabilities": 104,
        "SensorType": 1,
        "ReadingType": 1,
        "SensorName": "CLU${Slot} Temp",
        "AssertMask": 0,        // 事件产生掩码
        "DeassertMask": 0,      // 事件恢复掩码
        "ReadingMask": 0,       // 读值掩码
        "Unit": 128,            // 单位
        "BaseUnit": 1,
        "ModifierUnit": 0,
        "Linearization": 0,     // 线性计算方程参数
        "M": 100,               // 线性计算方程参数
        "RBExp": 224,           // 线性计算方程参数
        "Analog": 1,            // 线性计算方程参数
        "NominalReading": 0,    // 传感器名义读值
        "NormalMaximum": 0,
        "NormalMinimum": 0,
        "MaximumReading": 127,
        "MinimumReading": 128,
        "Reading": "<=/Scanner_FanBrdTemp.Value",       // 原始读值
        "ReadingStatus": "<=/Scanner_FanBrdTemp.Status" // 读值状态,可配置表达式
    },
    "Scanner_FanBrdTemp": {
        "Chip": "#/Smc_FanBoardSMC",
        "Size": 2,
        "Offset": 4865,
        "Mask": 65280,
        "Period": 2000,
        "Debounce": "None",
        "Value": 0,
        "Status": 0
    }

    相关属性取值范围:

    • AssertMask:
    • DeassertMask:
    • ReadingMask:
    • Unit:
    • Capabilities:
  2. 缩放传感器

    json
    // 风扇功率传感器
    "ThresholdSensor_FanBoardPower": {
        "OwnerId": 32,
        "OwnerLun": 0,
        "EntityId": "<=/Entity_FanBoard.Id",
        "EntityInstance": "<=/Entity_FanBoard.Instance",
        "Initialization": 127,
        "Capabilities": 104,
        "SensorType": 11,
        "ReadingType": 1,
        "SensorName": "FanBoard${Slot} Power",
        "AssertMask": 0,
        "DeassertMask": 0,
        "ReadingMask": 0,
        "Unit": 0,
        "BaseUnit": 6,
        "ModifierUnit": 0,
        "Linearization": 0,
        "M": 5,
        "Analog": 1,
        "NominalReading": 0,
        "NormalMaximum": 0,
        "NormalMinimum": 0,
        "MaximumReading": 255,
        "MinimumReading": 0,
        "Reading": "<=/Scanner_Fan1_Pwr.Value |> expr($1 * 0.0002 / 5)",    // 原始读值可通过表达式缩放至uint8取值范围内
        "ReadingStatus": "<=/Scanner_Fan1_Pwr.Status"
    },
    "Scanner_Fan1_Pwr": {
        "Chip": "#/Smc_FanBoardSMC",
        "Offset": 4864,
        "Size": 3,
        "Mask": 0,
        "Type": 1,
        "Value": 0,
        "Status": 0,
        "Period": 1000,
        "Debounce": "None"
    }

    该传感器对象 Reading 字段读值缩放使用了 expr 语法,保证数据范围在预期内,具体的缩放规则由业务侧决定。

门限传感器原始值到读值的转换

门限传感器的原始值到读值通过计算公式进行转换,具体如下,参考IPMI标准规范36.3 Sensor Reading Conversion Formula(P483)

1、转换公式涉及的属性

属性名称属性类型属性说明
Linearizationuint8传感器计算表达式
[7] - 保留字段
[6:0] - 公式
  00h-0bh:enum(linear, ln, log10, log2, ...)
  70h:non-linear
最常用线性表达式,配置为0x00
Muint8[7:0] - M(有符号,二补数),共10-bit,低8-bit
MTuint8[7:6] - M(有符号,二补数),共10-bit,高2-bit
[5:0] - 容差(无符号),共6-bit
Buint8[7:0] - B(有符号,二补数),共10-bit,低8-bit
BAuint8[7:6] - B(有符号,二补数),共10-bit,高2-bit
[5:0] - 精度(无符号),共10-bit,低6-bit
Accuracyuint8[7:4] - 精度(无符号),共10-bit,高4-bit
[3:2] - 精度指数(无符号),共2-bit
[1:0] - 传感器方向
RBExpuint8[7:4] - RExp(K2,有符号,二补数),共4-bit
[3:0] - BExp(K1,有符号,二补数),共4-bit
Readinguint8传感器原始值

2、计算公式

  • 二补数:即补码,也就是需要先将属性值转化为有符号数

  • 按以下计算公式,将原始值转换成读值

    temp = (M * x + B * 10K1) * 10K2
    y = L(temp)

示例:M = 100,B = 3,K1 = 2,K2 = -2,ori_v = 200,L = 0x00 (线性表达式,计算出来是多少即是多少) 计算结果为:y = (100 * ori_v + 3 * 100) * 0.01 = ori_v + 3 = 203

门限传感器读值状态(ReadingStatus)定义及转换

1、读值状态与Scanner的Status属性取值的含义对应

读值状态取值状态含义
SCAN_NORMAL0扫描正常
SCAN_FAILURE1扫描失败,连续持续N(可配置)个防抖周期均失败
失败之后传感器会禁用状态,并且上报SEL
SCAN_PRE_FAILURE2扫描预失败,一般为一个防抖周期,全部失败则为失败
失败之后传感器会禁用状态
SCAN_NOT_ACCESSIBLE3扫描不可访问,扫描的对象器件不支持扫描
比如:掉电、状态更新中、读值为NA
SCAN_NOT_SCANNED4初始未扫描状态

2、可支持的读值状态之间的转换及转换条件

当前状态变化状态转换条件
02一次读取失败
03ScanEnable值由1->0
10连续M次读取成功
13ScanEnable值由1->0
20一次读取成功
21连续N次读取失败
23ScanEnable值由1->0
30ScanEnable值由0->1且下一次读取成功
32ScanEnable值由0->1且下一次读取失败

DiscreteSensor 离散传感器配置

配置属性

属性名称属性类型属性说明
OwnerIduint8ThresholdSensor
OwnerLunuint8ThresholdSensor
EntityIduint8ThresholdSensor
EntityInstanceuint8ThresholdSensor
Initializationuint8传感器初始化选项,离散传感器取值为 0x63
Capabilitiesuint8传感器能力,用于配置包括自动调整模式、迟滞量、阈值访问、事件控制等特性
具体参照 Table 43-,Full Sensor Record -SDR Type 01h(P521)
SensorTypeuint8传感器类型
具体参照 Table 42-, Sensor Type Codes(P505)
ReadingTypeuint8传感器读值类型
具体参照 Table 42-, Event/Reading Type Code Ranges(P503)
SensorNamestring传感器名称
AssertMaskuint16传感器事件产生掩码,决定是否能产生事件。每bit位表示的含义为:
[15] - 保留,0b
[14:0] - 分别对应15个离散事件,配置需要与关联传感器的离散事件匹配。
  例如:当前配置EventData1分别为1、3的离散事件,则产生事件掩码的bit1、bit3需要置位。
DeassertMaskuint16传感器事件恢复掩码,决定是否能恢复事件。每bit位表示的含义为:
[15] - 保留,0b
[14:0] - 分别对应15个离散事件,配置需要与关联传感器的离散事件匹配。
  例如:当前配置EventData1分别为1、3的离散事件,且需要上报回复事件,则恢复事件掩码的 bit1、bit3 需要置位。
DiscreteMaskuint16传感器离散值掩码。每bit位表示的含义为:
[15] - 保留,0b
[14:0] - 表示离散状态是否能通过传感器返回,分别对应 15 个离散事件,配置时需要与关联传感器的离散事件匹配。
  例如:当前配置EventData1分别为1、3的离散事件,则离散值掩码的bit1、bit3需要置位。
Unituint8传感器单位,离散传感器取值为 0xC0
BaseUnituint8传感器基准单位,离散传感器取值为 0
ModifierUnituint8传感器单位描述符,离散传感器取值为 0
DiscreteTypeuint8传感器离散类型,具体类型参照Table 42-, Sensor Type Codes(P505)
普通离散:0;数字离散:1
RecordSharinguint16传感器记录共享、离散参考方向,配置为 1
SensorNumberuint16(选填)传感器编号,默认255,来自于IPMI规范,由BMC自行生成;如果需要特殊的编号,则需要单独在传感器定制化进行定制(BMC正常运行时插入的部件的传感器不支持定制)

配置关键点

  1. 传感器类型 SensorType 建议按照IPMI规范中的表格配置。
  2. 离散传感器的读值类型 ReadingType分为两种:02h~0Ch6Fh,需要根据离散事件的配置场景相应配置该属性。
  3. 离散传感器的配置与挂载的离散事件相关,二者应当相互配合,注意三个 Mask 的配置需要与离散事件配置匹配。

配置示例

json
"DiscreteSensor_FAN1FPresence": {
    "OwnerId": 32,
    "OwnerLun": 0,
    "EntityId": "<=/Entity_Fan1.Id",
    "EntityInstance": "<=/Entity_Fan1.Instance",
    "Initialization": 99,       // 离散传感器固定取值
    "Capabilities": 64,
    "SensorType": 10,
    "ReadingType": 8,
    "SensorName": "FAN1 Presence",
    "DiscreteType": 0,          // 离散值掩码
    "Unit": 192,
    "BaseUnit": 0,
    "ModifierUnit": 0,
    "RecordSharing": 1,         // 传感器记录共享、离散参考方向
    "Reading": 0,               // 此参数在离散传感器中无实际意义,一般无需配置
    "SensorNumber": 255
}

相关属性取值范围:

  • Capabilities

DiscreteEvent 离散事件配置

对于离散传感器来说,如果不配置离散事件,那该传感器就不能被 BMC 管理。离散事件一般配置在软件CSR中。

配置属性

属性名称属性类型属性说明
ListenTypeuint8离散事件监听方式:
0:组合监听,表征 SEL 的三个数据和方向均来自于 Property 属性
1:独立监听,表征 SEL 的三个数据和方向来自于本对象属性
Propertyuint32离散事件监听的属性,应用场景为监听方式是组合监听
共4字节,从高到低分别表示 event_dir、event_data3、event_data2、event_data1,数据含义参照本对象对应属性的解释
Conversionuint8离散事件翻转标识,高4bit用于组合监听时event_data1的掩码,低4bit用来表征是否翻转事件方向:
1:翻转;
非1:不翻转
EventDiruint8离散事件监听的属性,应用场景为监听方式是独立监听
离散事件产生的方向:
0:恢复
非0:产生
EventData1uint8应用场景为监听方式是独立监听
离散事件产生的数据1,数据含义参照29.7 Event Data Field Formats,其中低4bit表示事件的偏移,配置时参照Table 42-, Generic Event/Reading Type CodesTable 42-, Sensor Type CodesOffset
EventData2uint8应用场景为监听方式是独立监听
离散事件产生的数据2,数据含义参照29.7 Event Data Field Formats;应用需求参照Table 42-, Generic Event/Reading Type CodesTable 42-, Sensor Type Codes中的描述;若无应用需求,配置为默认值 255
EventData3uint8应用场景为监听方式是独立监听
离散事件产生的数据3,数据含义参照29.7 Event Data Field Formats;应用需求参照Table 42-, Generic Event/Reading Type CodesTable 42-, Sensor Type Codes中的描述;若无应用需求,配置为默认值 255
SensorObjectstring离散事件关联的离散传感器,当IPMI SEL产生或者恢复时体现在当前传感器的健康状态以及SEL上

配置关键点

  1. 监听方式无固定要求,可以根据场景任意选择。若选择组合监听,需要保证 Property属性按要求进行配置,保证各个字节的数据皆按照含义正确配置;若选择独立监听,需要保证三个EventData数据及EventDir属性按照含义正确配置。
  2. 离散事件是遵循IPMI规范定义的,因此建议参照IPMI规范中的描述和定义进行配置。

配置示例

以风扇在位传感器为例,下面将为其配置一个风扇在位事件。

json
"DiscreteEvent_FAN1FPresence": {
    "Property": "<=/Scanner_Fan1_Presence.Value",
    "ListenType": 1,    // 独立监听
    "EventData1": 0,
    "EventData2": 255,
    "EventData3": 255,
    "EventDir": "<=/Scanner_Fan1_Presence.Value",
    "Conversion": 1,    // 事件翻转
    "SensorObject": "#/DiscreteSensor_FAN1FPresence"    // 关联上一小节的离散传感器
}

上述内容配置完成后,BMC就可以管理FAN1在位状态和温度、功率状态,可以进入调测步骤。

IpmiSelFilter 事件过滤配置

IpmiSelFilter 和 IpmiSelDesc 作为公共机制,具体设计与实现参见《sensor》

传感器能否上报事件还需要经过事件过滤,能成功过滤则能够上报事件,若不需要上报事件则忽略。当前 openUBMC 已开发了60个通用性较强的 IpmiSelFilter,位于 sensor 仓库中的 proto/datas.yaml 路径下,用户可按需取用,若现有过滤器不满足需求则需要自行新增。

配置属性

属性名称属性类型属性说明
SensorTypeuint8传感器类型,需要与传感器的 SensorType一致
ReadingTypeuint8读值类型,需要与传感器的 ReadingType一致
FilterMask1uint16过滤掩码1,需要与传感器的 AssertMask一致
FilterMask2uint16过滤掩码2,默认配置 0xFFFF
FilterMask3uint16过滤掩码3,默认配置 0xFFFF

配置示例

yaml
t_ipmi_sel_filters:     // 具体配置由实际业务决定
  - FilterMask1: 0x0a94
    FilterMask2: 0xffff
    FilterMask3: 0xffff
    ReadingType: 0x01
    SensorType: 0x01

IpmiSelDesc 事件描述配置

传感器上报事件的等级及描述。这类对象的定义与IpmiSelFilter相同,位于 sensor 仓库中的 proto/datas.yaml 路径下,模型定义位于 sensor 仓库中的 mds/model.json,可参考源码深入了解。

配置属性

属性名称属性类型属性说明
SensorTypeuint8传感器类型,需要与传感器的 SensorType一致
ReadingTypeuint8读值类型,需要与传感器的 ReadingType一致
SelData1uint8参数1,默认配置 0xFFFF
SelData2uint8参数2,默认配置 0xFFFF
SelData3uint8参数3,默认配置 0xFFFF
SelDescstring事件描述
AlarmLeveluint8对应事件的等级
ShieldFlaguint8事件是否屏蔽标识,默认配置 0

配置示例

yaml
t_ipmi_sel_descs:       // 具体配置由实际业务决定
  - SensorType: 0xff
    ReadingType: 0x01
    SelData1: 0x00
    SelData2: 0xff
    SelData3: 0xff
    SelDesc: "Lower Non-critical going low"
    AlarmLevel: 1
    ShieldFlag: 0

调测方法

传感器定制可以通过出包+上板调测的方式来验证是否成功。参考《适配一款硬件》 完成组件构建、整包构建、整包升级后,可通过以下 4 种方式查询传感器。

  • Web

    openUBMC Web 提供了门限传感器查询。Web 登录 openUBMC 后,【系统管理】 -> 【系统信息】-> 【传感器】,即可查询当前的门限传感器。

  • IPMI

    openUBMC 支持 IPMI 命令查询所有传感器。可通过带内与带外的方式查询,命令为 sensor list

    • 带内查询: ipmitool sensor list
    • 带外查询: ipmitool -I lanplus -H <host> -p 623 -U <username> -P <password> -C 17 sensor list

  • CLI

    openUBMC 支持 CLI 命令查询所有传感器。SSH 登录 openUBMC 后执行命令 ipmcget -t sensor -d list

  • Redfish

    openUBMC 支持 redfish 接口查询。通过 get 请求分别查询门限传感器离散传感器。使用Postman工具向测试环境发送下列请求:

    • 门限传感器 uri:redfish/v1/Chassis/:chassisid/ThresholdSensors
    • 离散传感器 uri:redfish/v1/Chassis/:chassisid/DiscreteSensors