我正在尝试在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新手...
发布于 2020-09-25 11:26:16
我不是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
https://stackoverflow.com/questions/64053600
复制相似问题