###目的
Pepperで一次元バーコードをデコードしたい。
###問題
Pepperで一次元バーコードをデコードするため、いくつかの方法を検討したり実際に試してみたのですが、うまく実行できる方法がなく困っています。
(いくつかの方法については下記の方法1~3を参照ください)
###お聞きしたい事
0. 試した方法になにか誤りはないのでしょうか?
0. 他に別の方法はないのでしょうか?
###方法1(Pythonの外部ライブラリzbar)
どうもzbarライブラリ以外にもパッケージを導入しなくてはいけないようなのですが、そのパッケージの導入の方法がわからず、断念しました。(Pepperでapt-getとか使用できるのでしょうか)
###方法2(Pythonの外部ライブラリpyzbar)
これは実際にWindows + Pythonの環境で実行し、うまく動作しました。
しかし、Choregrapheから実行する際にpyzbarが依存するライブラリenumがうまくPepperに転送できず、断念しました。
具体的にはenumが含まれてるChoregrapheのプロジェクトをPepperに転送しようとすると応答が無くなり、最終的に「現在のプロジェクトを送信できません。」とメッセージが表示されます。
###方法3(zbarcamコマンド)
https://community.ald.softbankrobotics.com/ja/forum/%E3%83%90%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF-2150
上記の記事を参考に試してみたのですが、まずは
zbarcam --nodisplay --prescale=640x480 --raw --iomode=2 /dev/video0
SSHログインしてこのコマンドを実行するとデコードした結果は戻ってくるものの、なぜか必ずコマンド実行後Pepperに再起動がかかってしまいます。
また、Pythonで
Python
1args = ['zbarcam', '--nodisplay', '--prescale=640x480', '--raw', '--iomode=2', '/dev/video0'] 2result = subprocess.check_output(args)
上記の様に記述し、Choregrapheで実行するとバーコードをカメラにかざしても応答がなく、やはり再起動がかかります。
この様な状況を解決できず、断念しました。
###現在、検討を進めようと思っている方法
PepperタブレットのjavascriptとPepperを連携させてデコードできないかと考えています。
http://blog.n-z.jp/blog/2013-10-20-web-barcode-reader.html
(上記のサイトを参考にしています。)
###開発環境
- OS NAOqiOS 2.5.5
- IDE Choregraphe2.5.5

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。