PepperをHTTPで遠隔から動作させる簡単な(簡易な)方法を見つけたので共有しておきます。
メリット
・わざわざPythonやPythonSDKを用意しなくても良い
・遠隔からコマンド一発で実行かけられるのは色々と便利
・Webアプリ等から簡単に呼び出せるの色々と便利
準備
・Pepper(NAOqiバージョン:2.5.5.5)
・sshが使える環境
・サンプルソース
test.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from naoqi import ALProxy
IP = "127.0.0.1"
PORT = 9559
tts = ALProxy("ALTextToSpeech", IP, PORT)
tts.setLanguage("Japanese")
tts.say("こんにちは私はPepperです!!")
実行手順
(1) Pepperにログインする
$ ssh nao@<PEPPER-IP>
Password: nao
(2) スクリプトを配置
$ mkdir cgi-bin; cd cgi-bin
$ vi test.py
---
上記のスクリプトをコピペ
---
$ chmod 755 test.py
# 動作確認
$ ./test.py
$ cd ..
# 簡易HTTPサーバを起動(そのまま放置)
$ python -m CGIHTTPServer 8000
(3) 遠隔から実行
curl "http://<PEPPER-IP>:8000/cgi-bin/test.py"
Pepperが喋ってくれれば成功です。(もし、喋らなかったら音量を確認してみよう!)
最後に
遠隔実行するだけであれば、SSHでリモート実行すれば良い話なのだけれど、HTTPを使えるのはWeb系の開発者にとっては何かと便利だと思った次第です。
ちょっと面倒だったので今回は試してませんが、Choregrapheのカスタムサービスを使ってPepper起動時に簡易HTTPサーバを上げるようにすれば、もっと便利になると思います。(誰か試して。。。)