LoginSignup
10

More than 5 years have passed since last update.

Wifi環境が良くないところでPepperを動かしたいとき

Last updated at Posted at 2016-05-06

Wifi環境が良くないところでPepperを動かしたい

Pepperを動かすときにWifi環境は必須です。
しかし、ハッカソンの発表時や小さな展示会などでは必ずしもWifi環境がいいわけではありません。
開発時は動いていたのに、観客の皆さんが集まってwifi環境が悪化、Choregrapheとの接続がが不安定になって全然うごかない、なんてこともあると思います。
そんなときのために「PCをルーター代わりにしてLTE回線以外は全て優先で接続する方法」を紹介します。
ちなみにWindows7でのやり方なので、詳しい方はMac版やWindows8版などを試してみてください。

セットアップ

この章はこちらの記事「ノートパソコンを簡単にアクセスポイントにする方法!」を参考にさせていただきました。

P5040466.JPG
こんな形でUSBケーブルでテザリング可能なスマホと有線接続。PepperともLANケーブルで接続します。
Pepper側では有線LAN接続以外は切断してください。

そのあと、「ネットワークと共有センター」を開きsc1'.png

「アダプターの設定の変更」をクリックsc2'.png

有線でつなげているローカルエリア接続が2個でてきます。1個はPepperと接続しているネットワーク、もう1個は有線でテザリングしているネットワークです。
そのテザリングしているネットワークを右クリックします。sc3'.png

プロパティを選択します。sc4'.png

「共有」タブを選択sc5'.png

「ネットワークのほかのユーザーにこのコンピューターのインターネット接続をとおしての接続を許可する」をチェック。
このときホームネットワーク接続の候補には「Pepperと接続しているネットワーク」が出てくるのを確認しましょう。
(他の有線接続やBlueToothの接続があった場合は幾つか候補が出る可能性があります。)
sc6'.png

これでPepperがノートPC越しに有線でテザリングできました。

動作の確認

ではネットに繋がってるか確認してみましょう。動作確認には、send emailボックスを使います。sc7'.png

暗号化などが若干ゆるめなので、ロボット用にgmailアカウントなどを作ることが推奨されています。
なお、gmailの場合は、SMTP addressは「smtp.gmail.com」。Port numberは587です。

実行すると、「ログイン試行をブロックしました」という警告メールが来ます。sc9'.png
これで「Pepperがインターネットに接続されている事」、が確認されました。

ただ、これだけだと、若干後味が悪いので、Pepperから送られたメールを読めるようにgmailを設定する方法も紹介します。
警告メールをクリックすると安全性の低いアプリからアカウントにアクセスされたことと、その対処法が出てきます。
sc10'.png

詳細をクリックすると安全性の低いアプリからアカウントに設定できるようになります。
sc11'.png
sc12'.png

発展版-タブレットにWebコンテンツを表示する。

PepperのタブレットはWifiモジュールを別個に持っています。そのため、この方法でWebにアクセスしていると本体はインターネットに繋がっているけれども、タブレットはインターネットにアクセスできないようなことが発生する可能性があります。

そこで、今回設定したような環境では、出来るだけ本体(choregrapheでプログラミングできる部分)でインターネットとつなぐようにしてあげるようにしましょう。

参考記事
HTTP Getボックスの作成
pepperのpythonでHTTP GETしてJSONパースするサンプル

また、インターネット上のコンテンツをタブレットに表示する場合などは、こちらのサンプルにあるように、いったんプロジェクト内のフォルダにコンテンツをダウンロードしてから、表示してあげるとよいかもしれません。
こちらのサンプルコードですが、色々と改善の余地があるので、皆さんの方で試してみてください。

なお、サンプルを作るにあたり「PythonでWeb上のファイルをダウンロードする」を参考にさせていただきました。
ありがとうございます。

[追記]
サンプルコード内で、behavior pathを取得する際のコードはPlay Soundボックス内のGet Attached Fileボックスを参考に
self.framemanager = ALProxy("ALFrameManager")
self.framemanager.getBehaviorPath(self.behaviorId)
を使ってみるとよりシンプルなコードになるそうです。

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
10