自宅の Raspberry Pi を遠隔操作する【TeamViewer編】

自宅に設置したラズベリーパイを家の外から操作したいのだけど、ポートの設定とか面倒だし、侵入されたら怖い。。。

そんな時にはTeamViewerを使うと、グローバルIPが無くても、ルーターの面倒な設定をしなくても、安全&簡単に自宅の外からラズベリーパイに接続して遠隔操作することができます!

 

TeamViewerのセットアップ

TeamViewerは手軽にマルチプラットフォームで遠隔操作ができるソフトウェア。
商用利用は有償ですが、個人利用であれば無料で使えるソフトです。

ネットワーク機器の特別な設定をしなくても、簡単に使える優れもの。

ラズベリーパイのRaspbianで動作するパッケージが配布されていたのでインストールも簡単です。

 

使った物

  • Raspberry Pi 3 Model B、Raspbian Stretch Desktop版
  • Linux用 TeamViewer (Preview)

アカウントの新規作成

Teamviewerを使用するためにアカウントを作成しましょう。※既にお持ちの方は不要です。

Teamviewerのダウンロードページの右上から、「ログイン」をクリックして開きます。

左下に「新規TeamViewerアカウントの登録はこちら」と書いてある所の「登録」ボタンを押して登録画面に進みます。

メールアドレス、名前(自分が分かる名前をアルファベットで入力)、パスワード(簡単に推測されないもの)を入力してreCAPTCHAにチェックして「登録」ボタンを押します。

登録手続きができたら先ほど入力したメールアドレスに確認メールが届いているので、メールに書いてあるリンクをクリックして登録は完了です。

 

TeamViewerのインストール

TeamViewerのアカウントの準備ができたら、ラズベリーパイのセットアップに進みます。
まずはいつものように更新から。

[highlight_bash]sudo apt-get update
sudo apt-get upgrade[/highlight_bash]

次に、Raspbian用のTeamViewerをダウンロードします。
Linux用ダウンロードページに行き、Raspbian用のパッケージ(armv7 32bit)を探してリンクをコピーします。

ラズベリーパイ上で、適当なフォルダ(ここではdownloads)を作り、wgetで入手します。

[highlight_bash]
mkdir ~/downloads && cd ~/downloads
wget https://download.teamviewer.com/download/linux/teamviewer-host_armhf.deb[/highlight_bash]

以下のコマンド実行してインストールします。追加のパッケージを要求される場合には併せてインストールします。
[highlight_bash]sudo apt install ./teamviewer-host_armhf.deb[/highlight_bash]

インストールが無事に完了したら、どのようなコマンドが使えるか見てみましょう!
[highlight_bash]teamviewer help[/highlight_bash]

[highlight_bash]TeamViewer 13.1.1548 (DEB)

teamviewer Start TeamViewer user interface (if not running).

teamviewer help Print this help screen.
teamviewer version Print version information.
teamviewer info Print version, status, id.
teamviewer ziplog Create a zip containing all teamviewer logs (useful when contacting support).

teamviewer license [show|accept] Interactively agree or show/agree to End User License Agreement.
teamviewer setup Configure headless modes (non-gui/console)

teamviewer passwd [PASSWD] Set a password (useful when installing remote (ssh).

teamviewer daemon status Show current status of the TeamViewer daemon.
teamviewer daemon start Start TeamViewer daemon.
teamviewer daemon stop Stop TeamViewer daemon.
teamviewer daemon restart Stop/Start TeamViewer daemon.
teamviewer daemon disable Disable TeamViewer daemon – don’t start daemon on system startup.
teamviewer daemon enable Enable TeamViewer daemon – start daemon on system startup (default).

teamviewer repo show current repository configuration
teamviewer repo list list available packages
teamviewer repo default restore default configuration
teamviewer repo disable disable repository updates
teamviewer repo main [stable] make all TeamViewer packages available (default)
teamviewer repo tv13 [stable] make TeamViewer 13 packages available
stable omit preview and beta releases[/highlight_bash]

 

TeamViewerの起動と設定

デスクトップ環境でインストールすると、すぐに起動してタスクバーにアイコンが現れます。

利用規約を読んで「ライセンス契約に同意する」ボタンを押します。

TeamViewerがまだアクセス可能ではありません」というポップアップが出てきていたら、「簡易アクセスを許可」というボタンをクリックします。

アカウントに割り当て」というダイアログボックスが出てきたら、先に準備しておいたTeamViewerのアカウント(メールアドレス)とパスワードを入力して「割り当て」ボタンを押します。※図ではパスワードを一部隠しているので4桁ですが、実際には20桁程度にしています。

図のようなTeamViewerのパネルが表示され、下部に「接続準備完了(安全な接続)」と表示されていれば準備完了です。※IDが知られてしまうと第三者に操作されてしまうので気をつけましょう。

 

macのTeamViewerから接続する

macのTeamViewerから接続してみます。
(Windowsでも一緒です。)

※インストールしていない場合には、こちらのサイトから自分の環境に合わせたTeamViewerをダウンロードしてインストールしましょう。

TeamViewerを起動して、先に作ったアカウントでログインします。
左のメニューから「コンピュータ&パートナー」をクリックして、中央のリストから「マイコンピュータ」を探し、先頭の三角マークをクリックして開きます。

ラズパイでの「割り当て」が上手くいってオンラインになっていれば、ここにホスト名が表示されるので、クリックして選択します。

右側のウィンドウの「リモートコントロール」をクリックすると、「接続中」と表示された後にラズベリーパイのデスクトップ画面が表示されます。

 

iOSのTeamViewerから接続する

iOSデバイスにTeamViewerをインストールすれば、iPhoneなどから簡単に接続できるようになります。

AppStoreでTeamViewerを検索してインストールします。

アカウントとパスワードで「サインイン」します。

初めてサインインするデバイスの場合、デバイス認証のためメールが届きますので認証手続き(届いたメールのリンクをクリックする)を行ってください。

無事に認証されてサインインしたら、下部のメニューから「コンピュータ」をタップして、表示されるリストから「マイコンピュータ」選択します。

パソコンからアクセスした時と同様に登録されたラズベリーパイを見つけてタップすると詳細情報が表示されます。スクロールして下の方にある「リモートコントロール」をタップすると接続を開始します。

無事に接続されると、使い方が表示されるので見ておきましょう。
カーソルを操作していくので最初は少し戸惑うかもしれません。

縦画面だと画面が小さいです(笑)
横向きにすると全画面で表示されます。


終了する(接続を切る)場合には、フローティングしている「^」ボタンを開き、「×」ボタンをタップした後出てくるダイアログで「終了」をタップします。

 

こんなことに使える!

自宅の外にいる時(外出中)でも、簡単&セキュアに自宅ネットワークの中にあるラズベリーパイに接続して画面を見ながら操作できるようになります。

これを利用すると、例えばラズベリーパイにカメラ(Webカメラなど)を接続しておいて、留守中の部屋の中やペットの様子を確認することもできるでしょう。

また、Open JTalkをセットアップしてスピーカーを接続していれば、外出先からテキストを入力して喋らせることもできます。留守中に訪問してきた人をカメラで確認したり、簡単な受け答えもできそうです。

 

これは注意!

CPUの使用率がかなり高くなった

Raspberry Pi 3B で実行していましたが、接続中にCPUの使用率が「40%前後」とかなり高い値になる現象が見られました。

TeamViewerが起動していると画面の端に接続していることを示す小さめのウィンドウが表示されています。この状態でのCPU使用率は1〜2%なのですが、「>」ボタンを押して隠すと、すぐさま37%〜40%程度にCPU使用率が跳ね上がります。

バグなのか仕様なのかわかりませんが、発熱でラズパイ本体にダメージを与えないようウィンドウを表示したままにしておくと良いと思います。

 

チャットや音声通話ができない

コンピュータにインストールしたTeamViewer同士であればチャットや音声・映像通話ができます。今回ラズベリーパイにインストールしたTeamViewerでは、チャットでメッセージを送ったり、音声通話を開始したりしても何も反応がありませんでした。

 

自宅ルーターのポートを開ける方法はオススメしない

ネットワークに詳しい人はTeamViewerを使わなくても自宅のインターネットに接続しているルーターの設定を行い、グローバルIPを割り当てるかDynamicDNSサービスを使うなどして外から接続することもできます。しかし、セキュリティ設定に詳しくないと自宅ネットワークに不正ログインされる危険性が高まるのでオススメしません

 

まとめ: TeamViewerを使うと外出先からスマホを通して遠隔操作できる!

Raspbian用のTeamViewerをインストールすると、自宅ネットワークの中にあるラズベリーパイに、外部から簡単に接続できるようになりました!

これで出先から自宅のラズパイにつないだWebカメラの映像を確認したり、音を出したりといった遠隔操作(リモートコントロール)ができるようになりました!

なお、TeamViewerのウィンドウを画面端に隠すとCPU使用率が40%前後に跳ね上がるという謎の挙動があるので、常駐させる場合には操作に気をつける必要があります。

それではみなさん、楽しいラズパイ生活を(^o^)ノ。

参考サイト

How to install TeamViewer for Linux

Raspberry Pi

Posted by まーく