如何解决使用busctl读取openbmc中的传感器值
我正在尝试探索openbmc中的传感器值和信号。我可以看到可用的总线名称:
# busctl |grep Sensor|sed -e 's| .*||'
xyz.openbmc_project.ADCSensor
xyz.openbmc_project.cpuSensor
xyz.openbmc_project.ExitAirTempSensor
xyz.openbmc_project.FanSensor
xyz.openbmc_project.HwmonTempSensor
xyz.openbmc_project.IntrusionSensor
xyz.openbmc_project.IpmbSensor
xyz.openbmc_project.MCUTempSensor
xyz.openbmc_project.PSUSensor
但是,我无法从中获得任何对象。例如:
# busctl tree xyz.openbmc_project.HwmonTempSensor
Only root object discovered.
由于我没有收到物体,所以如何进行“ busctl内省”?抱歉,这很明显。 dbus的新手...
解决方法
我既不是openbmc也不是DBus的权威,但是我会告诉你我能做到的。
当我不熟悉bmc平台时,我将运行busctl tree | less
,然后在输出中搜索xyz.openbmc_project.Hwmon
或所需的传感器名称。
示例:
Service xyz.openbmc_project.Hwmon-3372718265.Hwmon1:
└─/xyz
└─/xyz/openbmc_project
└─/xyz/openbmc_project/sensors
└─/xyz/openbmc_project/sensors/temperature
└─/xyz/openbmc_project/sensors/temperature/i2cool_0
然后我可以执行dbus内省命令。
busctl introspect xyz.openbmc_project.Hwmon-3372718265.Hwmon1 /xyz/openbmc_project/sensors/temperature/i2cool_0 | less
然后出现以下部分
xyz.openbmc_project.Sensor.Value
.MaxValue
.MinValue
.Scale
.Unit
.Value
社区中有很多人与dbus传感器界面紧密合作。但是我想我会分享我的方法。 当我有dbus传感器读取问题时,这是我遵循的文档。 https://github.com/openbmc/docs/blob/master/architecture/sensor-architecture.md
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。