Pepperのタブレットは本体のWifiとは別のWifiネットワークでインターネットに接続しています。そのため、Web上の画像をタブレットに表示させたいときなど、インターネットに接続を試みるときに限ってタブレットがインターネットにつながってないという状況が良くあります。
アプリケーションの初期化処理でインターネットで必ず接続するという処理を入れてもいいのですが、基本的には一回接続設定するとつながった状態を維持するはずなので、アプリの組み込むのは少し違います。
そのため、アプリとは独立してTerminalから、qicliコマンドを実行してネットワーク接続する方法を紹介します。(今日アトリエアルデバラン秋葉原の方に教えていただいたのでその備忘)
PepperへSSHで接続
以下でPepper本体にSSHで接続します。ユーザー/デフォルトパスワードは両方nao
です。
% ssh nao@192.168.x.xxx
pass: nao
Pepper内でqicliコマンドを実行
qicli call [apiメソッド]
でAPIを直接実行できます。
今回利用したALTabletServiceのAPIはこちらです。
ALTabletService API — Aldebaran 2.1.3.3 documentation
- タブレットのWifiの状況をチェック
"IDLE"になっていました。
pepper [0] ~ $ qicli call ALTabletService.getWifiStatus
ALTabletService.getWifiStatus: "IDLE"
- enableWifiで有効にしてみる
"IDLE"のままです。
pepper [0] ~ $ qicli call ALTabletService.enableWifi
ALTabletService.enableWifi: null
pepper [0] ~ $ qicli call ALTabletService.getWifiStatus
ALTabletService.getWifiStatus: "IDLE"
- cofigureWifiで直接設定を行います。
security
, ssid
, key
はそれぞれ置き換えてください。security
はwpa
, wep
などです。詳細は、ALTabletService API — Aldebaran 2.1.3.3 documentationで確認して下さい。
pepper [0] ~ $ qicli call ALTabletService.configureWifi security ssid key
ALTabletService.configureWifi: true
pepper [0] ~ $ qicli call ALTabletService.getWifiStatus
ALTabletService.getWifiStatus: "CONNECTED"
これで、"CONNECTED"になりました。これでタブレットがネットワークに接続できるようになりました。
この方法だと、Pepperアプリを起動中でも、アプリと独立して実行できるので便利ですね。