from naoqi import ALProxy
tts = ALProxy("ALTextToSpeech", "<IP of your robot>", 9559)
tts.say("Hello, world!")
我可以在Android Studio中通过SSH、FTP、QiSDK连接到机器人,但不能以任何方式通过Naoqi2.5 SDKs for C++或Python连接到机器人。因为QiSDK很可能是在C++SDK之上构建的,所以肯定有一种方法可以让它发挥作用。
任何信息都会有不可估量的帮助。
编辑
还有另一种方法,您可以使用Pepper head中的qi Python库来使用服务,例如ALTextToSpeech或ALMotion,这里有一个简单的示例。还可以只使用SSH来启动Python服务器,这样可以通过endpoint访问这些功能。
import qi
app = qi.Application()
app.start()
session = app.session
tts = session.service("ALTextToSpeech")
tts.say("Hello Word")
如果在Pepper的头部运行上面的代码片段,它会产生预期的输出(say Hello world)。这里记录了几乎所有的服务。还可以通过调用会话对象上的。services()来列出它们
因此,可以为这个二进制文件编写一个包装器,并通过SSH以编程方式调用它,对于这种任务来说,这似乎需要大量的工作,但我没有发现其他任何东西。
我有Python的Paramiko库可以工作:
import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname='ip-of-robot', username='nao', password='your-pass')
stdin, stdout, stderr = client.exec_command('pwd')
print(stdout.read())
client.exec_command('qicli call ALMotion.setAngles HeadYaw -0.7 0.2')
client.close()
我也尝试过。NET的SSH.NET库,但几乎没有成功。
我们想在Pepper机器人上拍摄一张照片并保存它(不知何故)->第一个想法是压缩到.jpg文件。 TakePicture操作来自QISDK教程,然后我们如下所示创建文件:
Windows10上的Python 2.7。
问题内容: 如果我有一个实用函数,我希望能够从我的声明内的任何地方调用。是否可以在模块设置中使它全局访问,还是需要将其添加到每个控制器的作用域中? 问题答案: 基本上,您有两个选择,要么将其定义为服务,要么将其放在根范围内。我建议您使用它来提供服务,以避免污染根范围。您创建一个服务,并使其在控制器中可用,如下所示: 如果那不是您的选择,则可以将其添加到根范围中,如下所示: 这样,您所有的模板都可以
我必须以某种方式注册/安装所有这些动画才能使用它们吗?你能在这方面指导我吗?谢谢
问题内容: 我有一个在Go中使用接口定义RPC样式接口的想法。因此,对于给定的服务,我可能会创建一个像这样的接口: 我想做的是使用反射来实现该接口,将方法调用转换为RPC调用,将输入参数编组,然后将结果编组回方法的输出。我知道,如果可以获取输入参数的[] interface {}接口,则可以使用反射进行服务调用。但是,我看不到有任何方法可以使用反射来动态创建一个值,该值可以通过调用使用反射的函数来
问题内容: 示例程序: 因此,为简化起见,没有最终转换,因此生成的代码非常简单。 现在,产生一个顺序流。我只是将结果装箱到s中,然后将其收集到中。很简单 而且,无论我运行此示例程序多少次,都不会成功,这意味着永远不会调用我的虚拟组合器。 我有点期望,但是后来我已经误解了流,以至于我不得不问这个问题… 可以将的组合时,流过被称为 保证 是连续的? 问题答案: 仔细阅读ReduceOps.java中的