1

I'm trying to import "external" data (e.g., a string, a sensor value, etc.) to Coregraphe environment. In a more large context, I need, for example, to send - in a certain way - a letter "A". The Coregraphe-based system must recognize it and actuate a preset operation.

Up to now, I tried to write a log message via PuTTY, by logging in Pepper robot and using:

qicli log-send -m A

I can see it (i.e., the message) in the log INFO of the Coregraphe environment:

[INFO ] qicli.qilog.logsend /home/opennao/work/release-2.5/sdk/libqi/bin/qicli/qilog.cpp:subCmd_logSend:143 hello there, do you read me?

but I'm not able to extract it for further processing.

Someone could kindly help me?

Thank you very much guys.

Giovanni

1 Answers1

0

ALMemory would be the standard way of doing that. You can call it from Python, javascript or the command line, for example

qicli call ALMemory.raiseEvent MyCustomEvent MyValue

You can then watch this ALMemory value in Choregraphe, for example see this tutorial:

https://developer.softbankrobotics.com/pepper-naoqi-25/naoqi-developer-guide/other-tutorials/choregraphe-tutorials/creating-python-boxes#choregraphe-tuto-right-bumper-almemory

You can also watch this value directly in Python or Javascript (or C++ etc.)

Emile
  • 2,946
  • 2
  • 19
  • 22
  • Thank you so much for your kindly support Emile. I tried it and it seems work. I've another question linked to it. I do not understand if the raise event call: http://doc.aldebaran.com/1-14/naoqi/core/almemory-api.html#ALMemoryProxy::raiseEvent__ssCR.AL::ALValueCR save the data inside the memory up to the shutdown or it only publishes it. – g.mezzina23 Jul 31 '19 at 14:36
  • It's quite the same: it save it inside the memory and at the same moment, people register to this variable receive the new value. (so you can also read it using polling, getData...) – Alexandre Mazel Jul 31 '19 at 15:23