나는 Aldebaran의 Nao와 일하고 있으며 배터리 충전 여부를 확인하기 위해 python 스크립트를 작성하고 싶습니다.로봇이 충전 스테이션에 연결되어 있고 연결이 끊어져 있는지 확인하십시오.
naoqi 모듈에 대한 문서가 있습니다. 이 이벤트는 1입니다. 그러나 이것은 하나의 사건입니다. 내 생각에 나는 사건을 기다릴 수는 있지만, 나는 그것을 bool처럼 읽을 수는 없다. 내가 맞습니까?
나는 Aldebaran의 Nao와 일하고 있으며 배터리 충전 여부를 확인하기 위해 python 스크립트를 작성하고 싶습니다.로봇이 충전 스테이션에 연결되어 있고 연결이 끊어져 있는지 확인하십시오.
naoqi 모듈에 대한 문서가 있습니다. 이 이벤트는 1입니다. 그러나 이것은 하나의 사건입니다. 내 생각에 나는 사건을 기다릴 수는 있지만, 나는 그것을 bool처럼 읽을 수는 없다. 내가 맞습니까?
This linked page은 읽을 수있는 현재 및 충전 % 값이 있음을 보여줍니다. 나는 그것들을 시험해보고 현재의 변화가 배터리로 작동하는 것과 비교하여 충전 할 때 변화 하는지를 확인한다. 또는 충전이 진행 중임을 감지 할 수있을만큼 충전 %가 빠르게 상승하는지 확인하십시오.
당신은 이벤트 "BatteryChargingFlagChanged"에 가입 ALMemory API를 사용할 수 있습니다 http://doc.aldebaran.com/2-4/naoqi/core/almemory-api.html#ALMemoryProxy::subscribeToEvent__ssCR.ssCR.ssCR
이 방법은 콜백을합니다 : 당신이 사용할 수있는 플래그를 설정을 정의합니다.
제 의견으로는 이벤트를 기다릴 수는 있지만, 부울처럼 읽을 수는 없습니다. 내가 맞습니까?
배터리는 불가능합니다. 게시 된 각 이벤트는 신호를 보내고 ALMemory의 스위치를 "뒤집습니다". 이러한 메모리 키가있는 경우 수량 또는 값의 상태 만 읽을 수 있습니다. 그렇지 않으면 정보가 손실되어 검색 할 수 없습니다. 예를 들어
때마다 충전 비율 변경 이벤트가 트리거이 메모리 키에 신호를 보냅니다 그런 다음 직접 제공된 API를 사용하여이 값을 읽을 수 있습니다
Device/SubDeviceList/Battery/Charge/Sensor/Value
, 당신이 설명 된 것과 동일한 방법으로 귀하의 질문에 방법으로. 위탁을 위해, 간단하게 그런 열쇠가 없다.
mem = ALProxy(ALMemory, pip, pport)
mem.getData("BatteryPowerPluggedChanged")
이벤트의 부울 변수에 액세스하려면 :
당신은 시도 할 수 있었다 "BatteryPowerPluggedChanged을"당신은 참/거짓 얻을 것이다. 그러나 이것은 사전에 이벤트에 가입하지 않으면 실시간 변화를 반영하지 않기 때문에 도움이되지 않습니다.
희망이 도움이됩니다.
글쎄, 결과를 즉시 제공하는 스크립트를 원하기 때문에 이벤트에 가입하고 싶지 않습니다. 따라서 "전류 센서"를 사용하는 것이 더 좋습니다. – tux007