LoginSignup
11
11

More than 5 years have passed since last update.

Pepper内に保存したテキストを書き加えていく方法メモ

Last updated at Posted at 2015-05-25

参考記事

動機

大学院(IAMAS)の講義でPepperをいじる予定だったが、Pepperが届かないためNAOを使っている。かなり苦戦している。
目のカメラでLINEのQRコードを読み込ませて、友だち追加用URLをNAOの中にストックさせるクズロボットをつくろうと思った。
スタンドアロン環境でやるには、読み込むたびに、アドレスをtextファイルに追加しなくてはいけない。この講義で初めてPythonを読んだ、変数の指定の仕方もわからないクソ初心者なので、qiitaの練習がてら、とりあえず書き残そうと思った。

方法

Pepperでファイル保存したり取り出したりの、Write TextRead Textを参考に、保存されているテキストを一旦読み込んで、新規テキストを書き込み、その下に保存されていたテキストを書き込む、という手順を踏むことにした。下記の2つを参考。

プログラム

Write Textの、onInput_onStartを下記の通り書き変える。

    def onInput_onStart(self, text):
        import codecs
        try:
            with codecs.open(self.getParameter("File path"), "r", self.getParameter("Encoding")) as f:
                text2 = f.read()
            with codecs.open(self.getParameter("File path"), "w", self.getParameter("Encoding")) as f:
                f.write(text.decode("utf8"))
                f.write('\n'.decode("utf8"))
                f.write(text2.decode("utf8"))
            self.onStopped()
        except IOError as e:
            self.logger.error("Failed: %s" % str(e))
            self.onFailure(str(e))
  • text2とかじゃない、もっとスマートな変数はあるかもしれない。
  • もっとスマートな改行もあるかもしれない。

他、ひっかかったとこ

スクリーンショット 2015-05-25 14.26.30.png

NAOの内部にテキストを保存するには、File Pathを/home/nao/***.txtにする必要がある。.txtじゃなくてもいいのかも。
NAOの内部ストレージのアドレスが/home/nao/なんですね。これはあちこち探してもあんまり書いてなくてひっかかった。

結果

スクリーンショット 2015-05-25 14.18.25.png

スクリーンショット 2015-05-25 14.17.19.png

QRコードの読み取り結果が一行ずつ保存されるようになったよ!これでうまくQRコードかざしてもらえば、後からtext抜き出してURL打ち込んだら友達がふえるよ!やったねたえちゃん!
ていうかネットつながってれば、こんなめんどくさいことしなくても、メールで送るなりやり方いっぱいありそう。

最後に

Pepperいじりたい :joy: :joy: :joy:

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11