2024-07-07 06:35:14 发布
网友
我正在使用Aldebaran的Nao,我想编写一个python脚本来检查电池是否正在充电。在
有关于naoqi模块的文档。我找到了这个事件1。但这是一个事件。在我看来,我可以等一个事件,但我不能像个傻瓜一样读它。我说得对吗?在
In my opinion I can wait for an event, but I can't read it like a bool. Am I right?
电池不可能。发布的每个事件都会发送一个信号,“翻转”ALMemory中的开关。只有当某个量存在这样的存储键时,才能读取它们的值或状态。否则,信息将丢失,无法检索。在
例如,每次充电百分比改变时,都会触发一个事件并向该内存键发送一个信号:
Device/SubDeviceList/Battery/Charge/Sensor/Value
然后,您可以使用提供的API直接读取此值,就像您在问题中通过方法描述的那样。对于充电,根本就没有这样的钥匙。在
你可以试试:
访问事件的布尔变量:“BatteryPowerPluggedChanged”,将得到true/false。但这对您没有帮助,因为如果您事先没有订阅事件,它将不会反映实时更改。在
希望这有帮助。在
This linked page表示有电流和电荷%值可供读取。我会测试这些,看看充电时电流的信号是否会改变,与使用电池时相比。或者,检查充电百分比上升是否足够快,以检测到正在充电。在
您可以使用ALMemory API订阅事件“BatteryChargingFlagChanged”:http://doc.aldebaran.com/2-4/naoqi/core/almemory-api.html#ALMemoryProxy::subscribeToEvent__ssCR.ssCR.ssCR
这个方法接受一个回调:只需定义一个可以设置一个可以使用的标志的回调。在
电池不可能。发布的每个事件都会发送一个信号,“翻转”ALMemory中的开关。只有当某个量存在这样的存储键时,才能读取它们的值或状态。否则,信息将丢失,无法检索。在
例如,每次充电百分比改变时,都会触发一个事件并向该内存键发送一个信号:
然后,您可以使用提供的API直接读取此值,就像您在问题中通过方法描述的那样。对于充电,根本就没有这样的钥匙。在
你可以试试:
^{pr2}$访问事件的布尔变量:“BatteryPowerPluggedChanged”,将得到true/false。但这对您没有帮助,因为如果您事先没有订阅事件,它将不会反映实时更改。在
希望这有帮助。在
This linked page表示有电流和电荷%值可供读取。我会测试这些,看看充电时电流的信号是否会改变,与使用电池时相比。或者,检查充电百分比上升是否足够快,以检测到正在充电。在
您可以使用ALMemory API订阅事件“BatteryChargingFlagChanged”:http://doc.aldebaran.com/2-4/naoqi/core/almemory-api.html#ALMemoryProxy::subscribeToEvent__ssCR.ssCR.ssCR
这个方法接受一个回调:只需定义一个可以设置一个可以使用的标志的回调。在
相关问题 更多 >
编程相关推荐